34 lines
1.6 KiB
CMake
34 lines
1.6 KiB
CMake
include(Variables)
|
|
|
|
if(WINDOWS)
|
|
if(MSVC_VERSION GREATER_EQUAL 1919 AND MSVC_VERSION LESS 1920)
|
|
set(VISUAL_STUDIO_VERSION 15.0)
|
|
set(VISUAL_STUDIO_VERSION_UPPER 16.0)
|
|
elseif(MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1940)
|
|
set(VISUAL_STUDIO_VERSION 16.0)
|
|
set(VISUAL_STUDIO_VERSION_UPPER 17.0)
|
|
endif ()
|
|
|
|
set(vswhere "$ENV{PROGRAMFILES\(X86\)}\\Microsoft Visual Studio\\Installer\\vswhere.exe")
|
|
if(EXISTS ${vswhere})
|
|
execute_process(COMMAND ${vswhere} -version "[${VISUAL_STUDIO_VERSION},${VISUAL_STUDIO_VERSION_UPPER})" -property "installationPath"
|
|
OUTPUT_VARIABLE installationPath
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
file(TO_CMAKE_PATH ${installationPath} installationPath)
|
|
set(redistPath "${installationPath}/VC/Redist/MSVC")
|
|
file(GLOB redistPath "${installationPath}/VC/Redist/MSVC/*")
|
|
list(LENGTH redistPath length)
|
|
if(length EQUAL 1)
|
|
if(ADDRESS_SIZE EQUAL 64)
|
|
set(VISUAL_STUDIO_REDISTRIBUTABLE_NAME "vc_redist.x64.exe" CACHE FILEPATH "Name of Microsoft Visual Studio Redistributable")
|
|
set(redistPath "${redistPath}/${VISUAL_STUDIO_REDISTRIBUTABLE_NAME}")
|
|
else()
|
|
set(VISUAL_STUDIO_REDISTRIBUTABLE_NAME "vc_redist.x86.exe" CACHE FILEPATH "Name of Microsoft Visual Studio Redistributable")
|
|
set(redistPath "${redistPath}/${VISUAL_STUDIO_REDISTRIBUTABLE_NAME}")
|
|
endif()
|
|
if(EXISTS ${redistPath})
|
|
set(VISUAL_STUDIO_REDISTRIBUTABLE_PATH ${redistPath} CACHE FILEPATH "Path to the appropriate Microsoft Visual Studio Redistributable")
|
|
endif()
|
|
endif()
|
|
endif()
|
|
endif(WINDOWS) |