diff --git a/CMakeLists.txt b/CMakeLists.txt index b607ca8d6fd4c..edfbe25b51cce 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,6 +18,11 @@ cmake_minimum_required(VERSION 3.5) # Define the project name and where to report bugs. set(PACKAGE_BUGREPORT "https://github.com/googleapis/google-cloud-cpp/issues") + +# Enable support for SelectMSVCRuntime +if (NOT (CMAKE_VERSION VERSION_LESS 3.15)) + cmake_policy(SET CMP0091 NEW) +endif () project( google-cloud-cpp VERSION 1.25.0 @@ -40,6 +45,9 @@ if (NOT ("${GOOGLE_CLOUD_CPP_CXX_STANDARD}" STREQUAL "")) "GOOGLE_CLOUD_CPP_CXX_STANDARD is retired, use CMAKE_CXX_STANDARD") endif () +list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) +include(SelectMSVCRuntime) + if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") # gcc-4.8 is the first release that claims C++11 support. @@ -125,7 +133,6 @@ option(GOOGLE_CLOUD_CPP_USE_MASTER_FOR_REFDOC_LINKS mark_as_advanced(GOOGLE_CLOUD_CPP_USE_MASTER_FOR_REFDOC_LINKS) set(PROJECT_THIRD_PARTY_DIR "${PROJECT_SOURCE_DIR}/third_party") -list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) include(CMakeDependentOption) diff --git a/cmake/SelectMSVCRuntime.cmake b/cmake/SelectMSVCRuntime.cmake index 99a8181e80838..4d05887af1dbe 100644 --- a/cmake/SelectMSVCRuntime.cmake +++ b/cmake/SelectMSVCRuntime.cmake @@ -31,8 +31,7 @@ if (MSVC) # TODO(#5852) - if we require CMake >= 3.15 we can remove this conditional # and the hacks below. - if ((${CMAKE_VERSION} VERSION_GREATER 3.15) OR (${CMAKE_VERSION} - VERSION_EQUAL 3.14)) + if (NOT (CMAKE_VERSION VERSION_LESS 3.15)) if (VCPKG_TARGET_TRIPLET MATCHES "-static$") set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>")