@@ -26,7 +26,17 @@ set(CUKE_ENABLE_SANITIZER "OFF" CACHE STRING "Sanitizer to use for checkin
26
26
set_property (CACHE CUKE_ENABLE_SANITIZER PROPERTY STRINGS OFF "address" "thread" "undefined" )
27
27
option (CUKE_TESTS_VALGRIND "Enable tests within Valgrind" OFF )
28
28
set (GMOCK_SRC_DIR "" CACHE STRING "Google Mock framework sources path (otherwise downloaded)" )
29
- set (GMOCK_VER "1.7.0" CACHE STRING "Google Mock framework version to be used" )
29
+ set (GMOCK_VER "1.11.0" CACHE STRING "Google Mock framework version to be used" )
30
+
31
+ # according to: https://github.com./google/googletest/tree/release-1.10.0#18x-release
32
+ # the 1.8.x is the last release that works with pre-C++11 compilers.
33
+ if (GMOCK_VER VERSION_GREATER_EQUAL "1.9.0" )
34
+ if (NOT DEFINED CMAKE_CXX_STANDARD)
35
+ set (CMAKE_CXX_STANDARD 11)
36
+ elseif (CMAKE_CXX_STANDARD LESS 11)
37
+ message (FATAL_ERROR "C++11 (above) is required by googletest version: ${GMOCK_VER} " )
38
+ endif ()
39
+ endif ()
30
40
31
41
set (CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR} /cmake/modules)
32
42
@@ -126,6 +136,16 @@ else()
126
136
find_package (Boost ${BOOST_MIN_VERSION} COMPONENTS ${CUKE_CORE_BOOST_LIBS} REQUIRED)
127
137
endif ()
128
138
139
+ # according to: https://www.boost.org/users/history/version_1_76_0.html
140
+ # C++11 (above) is required by boost::regex since v1.76.0
141
+ if (Boost_VERSION VERSION_GREATER_EQUAL "1.76.0" )
142
+ if (NOT DEFINED CMAKE_CXX_STANDARD)
143
+ set (CMAKE_CXX_STANDARD 11)
144
+ elseif (CMAKE_CXX_STANDARD LESS 11)
145
+ message (FATAL_ERROR "C++11 (above) is required by boost::regex version: ${Boost_VERSION} " )
146
+ endif ()
147
+ endif ()
148
+
129
149
# Create import targets for CMake versions older than 3.5 (actually older FindBoost.cmake)
130
150
if (Boost_USE_STATIC_LIBS)
131
151
set (LIBRARY_TYPE STATIC )
0 commit comments