aboutsummaryrefslogtreecommitdiff
path: root/cmake/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/CMakeLists.txt')
-rw-r--r--cmake/CMakeLists.txt23
1 files changed, 18 insertions, 5 deletions
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
index 61c69f7c..b9cff123 100644
--- a/cmake/CMakeLists.txt
+++ b/cmake/CMakeLists.txt
@@ -5,11 +5,24 @@
file(RELATIVE_PATH PROJECT_ROOT_DIR
${CMAKE_INSTALL_PREFIX}/${CMAKECONFIGDIR} ${CMAKE_INSTALL_PREFIX})
-if(CMAKE_CROSSCOMPILING)
- set(CMAKE_CROSSCOMPILING_STR "ON")
-else()
- set(CMAKE_CROSSCOMPILING_STR "OFF")
-endif()
+# Variables needed by ${PROJECT_NAME_LOWER}-config-version.cmake
+if (MSVC)
+ # For checking the compatibility of MSVC_TOOLSET_VERSION; see
+ # https://docs.microsoft.com/en-us/cpp/porting/overview-of-potential-upgrade-issues-visual-cpp
+ # Assume major version number is obtained by dropping the last decimal
+ # digit.
+ math (EXPR MSVC_TOOLSET_MAJOR "${MSVC_TOOLSET_VERSION}/10")
+else ()
+ set (MSVC_TOOLSET_VERSION 0)
+ set (MSVC_TOOLSET_MAJOR 0)
+endif ()
+if (CMAKE_CROSSCOMPILING)
+ # Ensure that all "true" (resp. "false") settings are represented by
+ # the same string.
+ set (CMAKE_CROSSCOMPILING_STR "ON")
+else ()
+ set (CMAKE_CROSSCOMPILING_STR "OFF")
+endif ()
string(TOLOWER "${PROJECT_NAME}" PROJECT_NAME_LOWER)
configure_file(project-config.cmake.in project-config.cmake @ONLY)