diff --git a/CMake/mitkFunctionGetMSVCVersion.cmake b/CMake/mitkFunctionGetMSVCVersion.cmake index 0bd5088116..551c3e5d55 100644 --- a/CMake/mitkFunctionGetMSVCVersion.cmake +++ b/CMake/mitkFunctionGetMSVCVersion.cmake @@ -1,57 +1,26 @@ #! \brief Get diverse visual studio ids not directly provided by CMake #! #! Sets the following variables in the parent scope #! VISUAL_STUDIO_VERSION_MAJOR - The Visual Studio Version #! VISUAL_STUDIO_PRODUCT_NAME - The Visual Studio Product Name function(mitkFunctionGetMSVCVersion ) if(MSVC) - if(MSVC_VERSION EQUAL 1600) - set(VISUAL_STUDIO_VERSION_MAJOR "10" PARENT_SCOPE) - set(VISUAL_STUDIO_VERSION_MINOR "0" PARENT_SCOPE) - set(VISUAL_STUDIO_PRODUCT_NAME "Visual Studio 2010" PARENT_SCOPE) - elseif(MSVC_VERSION EQUAL 1700) - set(VISUAL_STUDIO_VERSION_MAJOR "11" PARENT_SCOPE) - set(VISUAL_STUDIO_VERSION_MINOR "0" PARENT_SCOPE) - set(VISUAL_STUDIO_PRODUCT_NAME "Visual Studio 2012" PARENT_SCOPE) - elseif(MSVC_VERSION EQUAL 1800) - set(VISUAL_STUDIO_VERSION_MAJOR "12" PARENT_SCOPE) - set(VISUAL_STUDIO_VERSION_MINOR "0" PARENT_SCOPE) - set(VISUAL_STUDIO_PRODUCT_NAME "Visual Studio 2013" PARENT_SCOPE) - elseif(MSVC_VERSION EQUAL 1900) - set(VISUAL_STUDIO_VERSION_MAJOR "14" PARENT_SCOPE) - set(VISUAL_STUDIO_VERSION_MINOR "0" PARENT_SCOPE) - set(VISUAL_STUDIO_PRODUCT_NAME "Visual Studio 2015" PARENT_SCOPE) - elseif(MSVC_VERSION EQUAL 1910) - set(VISUAL_STUDIO_VERSION_MAJOR "14" PARENT_SCOPE) - set(VISUAL_STUDIO_VERSION_MINOR "0" PARENT_SCOPE) - set(VISUAL_STUDIO_PRODUCT_NAME "Visual Studio 2017" PARENT_SCOPE) - elseif(MSVC_VERSION EQUAL 1911) - set(VISUAL_STUDIO_VERSION_MAJOR "14" PARENT_SCOPE) - set(VISUAL_STUDIO_VERSION_MINOR "1" PARENT_SCOPE) - set(VISUAL_STUDIO_PRODUCT_NAME "Visual Studio 2017" PARENT_SCOPE) - elseif(MSVC_VERSION EQUAL 1912) - set(VISUAL_STUDIO_VERSION_MAJOR "14" PARENT_SCOPE) - set(VISUAL_STUDIO_VERSION_MINOR "2" PARENT_SCOPE) - set(VISUAL_STUDIO_PRODUCT_NAME "Visual Studio 2017" PARENT_SCOPE) - elseif(MSVC_VERSION EQUAL 1913) - set(VISUAL_STUDIO_VERSION_MAJOR "14" PARENT_SCOPE) - set(VISUAL_STUDIO_VERSION_MINOR "3" PARENT_SCOPE) - set(VISUAL_STUDIO_PRODUCT_NAME "Visual Studio 2017" PARENT_SCOPE) - elseif(MSVC_VERSION EQUAL 1914) - set(VISUAL_STUDIO_VERSION_MAJOR "14" PARENT_SCOPE) - set(VISUAL_STUDIO_VERSION_MINOR "4" PARENT_SCOPE) + if(MSVC_VERSION GREATER_EQUAL 1910 AND MSVC_VERSION LESS 2000) set(VISUAL_STUDIO_PRODUCT_NAME "Visual Studio 2017" PARENT_SCOPE) + set(VISUAL_STUDIO_VERSION_MAJOR 14 PARENT_SCOPE) + string(SUBSTRING ${MSVC_VERSION} 3 -1 version_minor) + set(VISUAL_STUDIO_VERSION_MINOR ${version_minor} PARENT_SCOPE) else() - message(WARNING "Unknown Visual Studio version ${MSVC_VERSION}. Please update CMake/mitkFunctionGetMSVCVersion.cmake.") + message(WARNING "Unknown Visual Studio version ${MSVC_VERSION} (CMake/mitkFunctionGetMSVCVersion.cmake)") endif() if("${CMAKE_GENERATOR}" MATCHES ".*Win64") set(CMAKE_LIBRARY_ARCHITECTURE x64 PARENT_SCOPE) else() set(CMAKE_LIBRARY_ARCHITECTURE x86 PARENT_SCOPE) endif() endif() endfunction()