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)