diff --git a/CMakeLists.txt b/CMakeLists.txt index a9382f9a4..b03b1f3f0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -324,8 +324,12 @@ set(GNSSSDR_PROTOBUF_MIN_VERSION "3.0.0") set(GNSSSDR_GFLAGS_LOCAL_VERSION "2.2.2") set(GNSSSDR_GLOG_LOCAL_VERSION "0.5.0") set(GNSSSDR_ARMADILLO_LOCAL_VERSION "10.5.x") -set(GNSSSDR_GTEST_LOCAL_VERSION "1.10.x") -set(GNSSSDR_GTEST_LOCAL_VERSION_POST_CMAKE_3_19 "f5e592d8ee5ffb1d9af5be7f715ce3576b8bf9c4") # Used with CMake >= 3.19 +if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0) OR + (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)) + set(GNSSSDR_GTEST_LOCAL_VERSION "1.10.x") +else() + set(GNSSSDR_GTEST_LOCAL_VERSION "1.11.0") +endif() set(GNSSSDR_GNSS_SIM_LOCAL_VERSION "master") set(GNSSSDR_GPSTK_LOCAL_VERSION "8.0.0") set(GNSSSDR_MATIO_LOCAL_VERSION "1.5.21") diff --git a/README.md b/README.md index 94ff34359..ac124fa2e 100644 --- a/README.md +++ b/README.md @@ -398,8 +398,8 @@ $ sudo ldconfig #### Download the [Google C++ Testing Framework](https://github.com/google/googletest "Googletest Homepage"), also known as Google Test: ``` -$ wget https://github.com/google/googletest/archive/v1.10.x.zip -$ unzip v1.10.x.zip +$ wget https://github.com/google/googletest/archive/release-1.11.0.zip +$ unzip release-1.11.0.zip ``` Please **DO NOT build or install** Google Test. Every user needs to compile @@ -423,10 +423,10 @@ downloaded resides. Just type in your terminal (or add it to your `$HOME/.bashrc` file for a permanent solution) the following line: ``` -export GTEST_DIR=/home/username/googletest-1.10.x +export GTEST_DIR=/home/username/googletest-release-1.11.0 ``` -changing `/home/username/googletest-1.10.x` by the actual path where you +changing `/home/username/googletest-release-1.11.0` by the actual path where you unpacked Google Test. If the CMake script does not find that folder, or the environment variable is not defined, or the source code is not installed by a package, then it will download a fresh copy of the Google Test source code and diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt index bfb2ba577..a7a06ae6c 100644 --- a/src/tests/CMakeLists.txt +++ b/src/tests/CMakeLists.txt @@ -37,11 +37,16 @@ if(NOT GOOGLETEST_FOUND) if(CMAKE_GENERATOR STREQUAL Xcode) set(GTEST_BUILD_COMMAND "xcodebuild" "-configuration" $<$:Debug>$<$:Release>$<$:RelWithDebInfo>$<$:MinSizeRel> "-target" "gtest_main") endif() - + if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0) OR + (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)) + set(GOOGLETEST_GIT_TAG v${GNSSSDR_GTEST_LOCAL_VERSION}) + else() + set(GOOGLETEST_GIT_TAG release-${GNSSSDR_GTEST_LOCAL_VERSION}) + endif() if(CMAKE_VERSION VERSION_LESS 3.2) ExternalProject_Add(gtest-${GNSSSDR_GTEST_LOCAL_VERSION} GIT_REPOSITORY https://github.com/google/googletest - GIT_TAG v1.10.x + GIT_TAG ${GOOGLETEST_GIT_TAG} SOURCE_DIR ${CMAKE_BINARY_DIR}/thirdparty/gtest/gtest-${GNSSSDR_GTEST_LOCAL_VERSION} BINARY_DIR ${CMAKE_BINARY_DIR}/gtest-${GNSSSDR_GTEST_LOCAL_VERSION} CMAKE_ARGS ${GTEST_COMPILER} @@ -67,12 +72,6 @@ if(NOT GOOGLETEST_FOUND) ${CMAKE_BINARY_DIR}/gtest-${GNSSSDR_GTEST_LOCAL_VERSION}/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gtest_maind${CMAKE_STATIC_LIBRARY_SUFFIX} ) endif() - set(GOOGLETEST_GIT_TAG "v${GNSSSDR_GTEST_LOCAL_VERSION}") - if(CMAKE_VERSION VERSION_GREATER 3.18.99) - # workaround to avoid warning about deprecated CMakeLists.txt with CMake >= 3.19 - # Remove after a stable release of Googletest including this fix - set(GOOGLETEST_GIT_TAG ${GNSSSDR_GTEST_LOCAL_VERSION_POST_CMAKE_3_19}) - endif() ExternalProject_Add(gtest-${GNSSSDR_GTEST_LOCAL_VERSION} GIT_REPOSITORY https://github.com/google/googletest GIT_TAG ${GOOGLETEST_GIT_TAG}