From 9ca7fd8df856ca7e7e84451ba7ff9f568b46e4af Mon Sep 17 00:00:00 2001 From: Hamed Sabri Date: Tue, 18 Feb 2020 16:41:34 -0500 Subject: [PATCH 1/2] - Enable C++11 for GoogleTest external project for sake of consistency with the project. - I also pumped the CMake Min version to 3.12.0 and removed CMAKE_MACOSX_RPATH flag as is no longer needed. --- cmake/CMakeLists_googletest_download.txt.in | 10 ++++++++-- cmake/CMakeLists_googletest_src.txt.in | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/cmake/CMakeLists_googletest_download.txt.in b/cmake/CMakeLists_googletest_download.txt.in index 05c2c61d40..9add043d81 100644 --- a/cmake/CMakeLists_googletest_download.txt.in +++ b/cmake/CMakeLists_googletest_download.txt.in @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.2) +cmake_minimum_required(VERSION 3.12.0) project(googletest-download NONE) @@ -10,6 +10,10 @@ project(googletest-download NONE) include(ExternalProject) +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_EXTENSIONS OFF) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(FORCE_SHARED_CRT "") if(MSVC) set(FORCE_SHARED_CRT "-DFORCE_SHARED_CRT=OFF") @@ -26,7 +30,9 @@ ExternalProject_Add(googletest "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" "-Dgtest_force_shared_crt=ON" "-DBUILD_SHARED_LIBS=ON" - "-DCMAKE_MACOSX_RPATH=ON" "-DCMAKE_POSITION_INDEPENDENT_CODE=ON" "${FORCE_SHARED_CRT}" + "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}" + "-DCMAKE_CXX_EXTENSIONS=${CMAKE_CXX_EXTENSIONS}" + "-DCMAKE_CXX_STANDARD_REQUIRED=${CMAKE_CXX_STANDARD_REQUIRED}" ) diff --git a/cmake/CMakeLists_googletest_src.txt.in b/cmake/CMakeLists_googletest_src.txt.in index ee0c560002..7059fc8555 100644 --- a/cmake/CMakeLists_googletest_src.txt.in +++ b/cmake/CMakeLists_googletest_src.txt.in @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.2) +cmake_minimum_required(VERSION 3.12.0) project(googletest-download NONE) @@ -8,6 +8,10 @@ project(googletest-download NONE) include(ExternalProject) +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_EXTENSIONS OFF) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(FORCE_SHARED_CRT "") if(MSVC) set(FORCE_SHARED_CRT "-DFORCE_SHARED_CRT=OFF") @@ -24,7 +28,9 @@ ExternalProject_Add(googletest "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" "-Dgtest_force_shared_crt=ON" "-DBUILD_SHARED_LIBS=ON" - "-DCMAKE_MACOSX_RPATH=ON" "-DCMAKE_POSITION_INDEPENDENT_CODE=ON" "${FORCE_SHARED_CRT}" + "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}" + "-DCMAKE_CXX_EXTENSIONS=${CMAKE_CXX_EXTENSIONS}" + "-DCMAKE_CXX_STANDARD_REQUIRED=${CMAKE_CXX_STANDARD_REQUIRED}" ) From ff1dbe01d0be18e69f0eb0088a26585f2b9cb95e Mon Sep 17 00:00:00 2001 From: Hamed Sabri Date: Wed, 19 Feb 2020 16:30:09 -0500 Subject: [PATCH 2/2] google test is still on Cmake 2.8.8 and therefore CMAKE_MACOSX_RPATH needs to be explicitly called. --- cmake/CMakeLists_googletest_download.txt.in | 1 + cmake/CMakeLists_googletest_src.txt.in | 1 + 2 files changed, 2 insertions(+) diff --git a/cmake/CMakeLists_googletest_download.txt.in b/cmake/CMakeLists_googletest_download.txt.in index 9add043d81..09e5b498a1 100644 --- a/cmake/CMakeLists_googletest_download.txt.in +++ b/cmake/CMakeLists_googletest_download.txt.in @@ -30,6 +30,7 @@ ExternalProject_Add(googletest "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" "-Dgtest_force_shared_crt=ON" "-DBUILD_SHARED_LIBS=ON" + "-DCMAKE_MACOSX_RPATH=ON" "-DCMAKE_POSITION_INDEPENDENT_CODE=ON" "${FORCE_SHARED_CRT}" "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}" diff --git a/cmake/CMakeLists_googletest_src.txt.in b/cmake/CMakeLists_googletest_src.txt.in index 7059fc8555..eae66654fd 100644 --- a/cmake/CMakeLists_googletest_src.txt.in +++ b/cmake/CMakeLists_googletest_src.txt.in @@ -28,6 +28,7 @@ ExternalProject_Add(googletest "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" "-Dgtest_force_shared_crt=ON" "-DBUILD_SHARED_LIBS=ON" + "-DCMAKE_MACOSX_RPATH=ON" "-DCMAKE_POSITION_INDEPENDENT_CODE=ON" "${FORCE_SHARED_CRT}" "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}"