1- cmake_minimum_required ( VERSION 3.5 )
2-
3- # Package Management using CPM
4- include ( cmake/get_cpm.cmake )
1+ cmake_minimum_required ( VERSION 3.14 )
2+ if ( CMAKE_VERSION GREATER_EQUAL 3.24 )
3+ cmake_policy ( SET CMP0135 NEW )
4+ endif ( )
55
66project ( HttpStatusCodesTests )
77
8- set ( CMAKE_CXX_STANDARD 11 )
8+ set ( CMAKE_CXX_STANDARD 17 )
99
10- CPMAddPackage(
11- NAME GTest
12- VERSION "1.15.2"
13- URL "https://github.com/google/googletest/releases/download/v1.15.2/googletest-1.15.2.tar.gz"
14- OPTIONS "INSTALL_GTEST OFF" "gtest_force_shared_crt"
10+ include ( FetchContent )
11+ FetchContent_Declare(
12+ googletest
13+ URL "https://github.com/google/googletest/releases/download/v1.15.2/googletest-1.15.2.tar.gz"
1514)
15+ # For Windows: Prevent overriding the parent project's compiler/linker settings
16+ set ( gtest_force_shared_crt ON CACHE BOOL "" FORCE )
17+ set ( BUILD_GMOCK OFF CACHE BOOL "" FORCE )
18+ FetchContent_MakeAvailable( googletest )
19+ get_target_property ( GOOGLETEST_VERSION gtest VERSION )
20+ message ( "Google Test Version: ${GOOGLETEST_VERSION} " )
1621
1722enable_testing ()
1823
1924include_directories ( ${PROJECT_SOURCE_DIR} /.. )
2025
2126add_executable ( CVariantTest CVariantTest.cpp )
22- target_link_libraries ( CVariantTest GTest::gtest GTest:: gtest_main )
27+ target_link_libraries ( CVariantTest gtest_main )
2328add_test ( NAME CVariantTest COMMAND CVariantTest )
2429
2530add_executable ( CVariantCompileTest CVariantCompileTest.c )
@@ -31,7 +36,7 @@ set_target_properties( CVariantCompileTest PROPERTIES
3136)
3237
3338add_executable ( C++VariantTest C++VariantTest.cpp )
34- target_link_libraries ( C++VariantTest GTest::gtest GTest:: gtest_main )
39+ target_link_libraries ( C++VariantTest gtest_main )
3540add_test ( NAME C++VariantTest COMMAND C++VariantTest )
3641set_target_properties ( C++VariantTest PROPERTIES
3742 CXX_STANDARD 98
@@ -48,7 +53,7 @@ endif()
4853
4954if ( CXX_SUPPORTS_STRONG_ENUMS )
5055 add_executable ( C++11VariantTest C++11VariantTest.cpp )
51- target_link_libraries ( C++11VariantTest GTest::gtest GTest:: gtest_main )
56+ target_link_libraries ( C++11VariantTest gtest_main )
5257 add_test ( NAME C++11VariantTest COMMAND C++11VariantTest )
5358 set_target_properties ( C++11VariantTest PROPERTIES
5459 CXX_STANDARD 11
@@ -96,14 +101,14 @@ endif()
96101
97102if ( QTCORE_LIB )
98103 add_executable ( QtVariantTest QtVariantTest.cpp "${PROJECT_SOURCE_DIR} /../HttpStatusCodes_Qt.h" )
99- target_link_libraries ( QtVariantTest GTest::gtest GTest:: gtest_main ${QTCORE_LIB} ${QTNETWORK_LIB} )
104+ target_link_libraries ( QtVariantTest gtest_main ${QTCORE_LIB} ${QTNETWORK_LIB} )
100105 add_test ( NAME QtVariantTest COMMAND QtVariantTest )
101106 if ( WIN32 )
102107 set_tests_properties ( QtVariantTest PROPERTIES ENVIRONMENT "PATH=$<TARGET_FILE_DIR:${QTCORE_LIB} >;$ENV{PATH} " )
103108 endif ()
104109
105110 add_executable ( QtC++11VariantTest QtC++11VariantTest.cpp "${PROJECT_SOURCE_DIR} /../HttpStatusCodes_Qt_C++11.h" )
106- target_link_libraries ( QtC++11VariantTest GTest::gtest GTest:: gtest_main ${QTCORE_LIB} ${QTNETWORK_LIB} )
111+ target_link_libraries ( QtC++11VariantTest gtest_main ${QTCORE_LIB} ${QTNETWORK_LIB} )
107112 add_test ( NAME QtC++11VariantTest COMMAND QtVariantTest )
108113 if ( WIN32 )
109114 set_tests_properties ( QtC++11VariantTest PROPERTIES ENVIRONMENT "PATH=$<TARGET_FILE_DIR:${QTCORE_LIB} >;$ENV{PATH} " )
0 commit comments