|
@@ -6,29 +6,33 @@ get_filename_component(VS_PATH64 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\Mi
|
|
# Also look for in vs15 or vs16 install.
|
|
# Also look for in vs15 or vs16 install.
|
|
set(PROGRAMFILES_X86 "ProgramFiles(x86)")
|
|
set(PROGRAMFILES_X86 "ProgramFiles(x86)")
|
|
set(VS_PATH32 "$ENV{${PROGRAMFILES_X86}}/Microsoft Visual Studio")
|
|
set(VS_PATH32 "$ENV{${PROGRAMFILES_X86}}/Microsoft Visual Studio")
|
|
-get_filename_component(VS16_C_PATH32 "${VS_PATH32}/2019/Community/Common7/IDE" ABSOLUTE CACHE)
|
|
|
|
-get_filename_component(VS16_P_PATH32 "${VS_PATH32}/2019/Professional/Common7/IDE" ABSOLUTE CACHE)
|
|
|
|
-get_filename_component(VS16_E_PATH32 "${VS_PATH32}/2019/Enterprise/Common7/IDE" ABSOLUTE CACHE)
|
|
|
|
get_filename_component(VS15_C_PATH32 "${VS_PATH32}/2017/Community/Common7/IDE" ABSOLUTE CACHE)
|
|
get_filename_component(VS15_C_PATH32 "${VS_PATH32}/2017/Community/Common7/IDE" ABSOLUTE CACHE)
|
|
get_filename_component(VS15_P_PATH32 "${VS_PATH32}/2017/Professional/Common7/IDE" ABSOLUTE CACHE)
|
|
get_filename_component(VS15_P_PATH32 "${VS_PATH32}/2017/Professional/Common7/IDE" ABSOLUTE CACHE)
|
|
get_filename_component(VS15_E_PATH32 "${VS_PATH32}/2017/Enterprise/Common7/IDE" ABSOLUTE CACHE)
|
|
get_filename_component(VS15_E_PATH32 "${VS_PATH32}/2017/Enterprise/Common7/IDE" ABSOLUTE CACHE)
|
|
|
|
|
|
|
|
+# Starting in VS 15.2, vswhere is included.
|
|
|
|
+# Unclear what the right component to search for is, might be Microsoft.VisualStudio.Component.VC.DiagnosticTools
|
|
|
|
+# (although the friendly name of that is C++ profiling tools). The toolset is the most likely target.
|
|
|
|
+execute_process(
|
|
|
|
+ COMMAND "${VS_PATH32}/Installer/vswhere.exe" -latest -prerelease -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath
|
|
|
|
+ OUTPUT_VARIABLE VSWHERE_LATEST
|
|
|
|
+ ERROR_QUIET
|
|
|
|
+ OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
|
|
+ )
|
|
|
|
+
|
|
# Find the DIA SDK path, it will typically look something like this.
|
|
# Find the DIA SDK path, it will typically look something like this.
|
|
# C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\DIA SDK\include
|
|
# C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\DIA SDK\include
|
|
# C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\DIA SDK\include
|
|
# C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\DIA SDK\include
|
|
# C:\Program Files (x86)\Microsoft Visual Studio 14.0\DIA SDK\include
|
|
# C:\Program Files (x86)\Microsoft Visual Studio 14.0\DIA SDK\include
|
|
find_path(DIASDK_INCLUDE_DIR # Set variable DIASDK_INCLUDE_DIR
|
|
find_path(DIASDK_INCLUDE_DIR # Set variable DIASDK_INCLUDE_DIR
|
|
dia2.h # Find a path with dia2.h
|
|
dia2.h # Find a path with dia2.h
|
|
- HINTS "${VS16_C_PATH32}/../../DIA SDK/include"
|
|
|
|
- HINTS "${VS16_P_PATH32}/../../DIA SDK/include"
|
|
|
|
- HINTS "${VS16_E_PATH32}/../../DIA SDK/include"
|
|
|
|
|
|
+ HINTS "${VSWHERE_LATEST}/DIA SDK/include"
|
|
HINTS "${VS15_C_PATH32}/../../DIA SDK/include"
|
|
HINTS "${VS15_C_PATH32}/../../DIA SDK/include"
|
|
HINTS "${VS15_P_PATH32}/../../DIA SDK/include"
|
|
HINTS "${VS15_P_PATH32}/../../DIA SDK/include"
|
|
HINTS "${VS15_E_PATH32}/../../DIA SDK/include"
|
|
HINTS "${VS15_E_PATH32}/../../DIA SDK/include"
|
|
HINTS "${VS_PATH64}/../../DIA SDK/include"
|
|
HINTS "${VS_PATH64}/../../DIA SDK/include"
|
|
HINTS "${VS_PATH32}/../../DIA SDK/include"
|
|
HINTS "${VS_PATH32}/../../DIA SDK/include"
|
|
DOC "path to DIA SDK header files"
|
|
DOC "path to DIA SDK header files"
|
|
- HINTS
|
|
|
|
)
|
|
)
|
|
|
|
|
|
if (CMAKE_GENERATOR MATCHES "Visual Studio.*Win64" )
|
|
if (CMAKE_GENERATOR MATCHES "Visual Studio.*Win64" )
|