aboutsummaryrefslogtreecommitdiff
path: root/msvc/locate_windows_sdk/locate_sdk.hpp
blob: 49e0dd4d5dfa82756c5055e6127142232e6dfbfd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#pragma once

#include <windows.h>
#include <stdlib.h>

struct Find_Result {
	int windows_sdk_version;   // Zero if no Windows SDK found.

	wchar_t *windows_sdk_root = NULL;
	wchar_t *windows_sdk_um_library_path = NULL;
	wchar_t *windows_sdk_ucrt_library_path = NULL;

    wchar_t *windows_include_root = NULL;
    wchar_t *windows_include_um_path = NULL;
    wchar_t *windows_include_ucrt_path = NULL;

	wchar_t *vs_exe_path = NULL;
	wchar_t *vs_library_path = NULL;
    wchar_t *vs_include_path = NULL;
};

enum SdkArch
{
    ARCH_X86,
    ARCH_X64
};

Find_Result find_visual_studio_and_windows_sdk(SdkArch sdkArch);

void free_resources(Find_Result *result);