From dde439ecc4f84551f15353c3555b01a39117681f Mon Sep 17 00:00:00 2001 From: Michael Carroll Date: Mon, 27 Jun 2022 21:49:23 -0700 Subject: [PATCH] CMake updates for new googletest version Signed-off-by: Michael Carroll --- CMakeLists.txt | 6 +++--- src/CMakeLists.txt | 3 +-- test/CMakeLists.txt | 14 +------------- test/integration/CMakeLists.txt | 1 + test/performance/CMakeLists.txt | 3 +-- test/plugins/CMakeLists.txt | 6 ------ 6 files changed, 7 insertions(+), 26 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e6fb7747..7436bf50 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,6 +15,9 @@ set(GZ_CMAKE_VER ${gz-cmake3_VERSION_MAJOR}) #============================================================================ # Configure the project #============================================================================ +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + gz_configure_project( REPLACE_IGNITION_INCLUDE_PATH gz/common VERSION_SUFFIX pre1) @@ -22,9 +25,6 @@ gz_configure_project( #============================================================================ # Set project-specific options #============================================================================ -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) - #-------------------------------------- # Option: Should Windows test symlinking? if(WIN32) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 5ee4582a..64748f06 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -4,8 +4,7 @@ gz_get_libsources_and_unittests(sources gtest_sources) # Create the library target gz_create_core_library( - SOURCES ${sources} - CXX_STANDARD 17) + SOURCES ${sources}) if (CMAKE_CXX_COMPILER_ID STREQUAL GNU) set(CXX_FILESYSTEM_LIBRARIES stdc++fs) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 307dcf48..6f13adaa 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,16 +1,4 @@ -include_directories( - ${PROJECT_SOURCE_DIR}/test/gtest/include - ${PROJECT_SOURCE_DIR}/test/gtest - ${PROJECT_SOURCE_DIR}/test -) - -# Build gtest -add_library(gtest STATIC gtest/src/gtest-all.cc) -add_library(gtest_main STATIC gtest/src/gtest_main.cc) - -target_link_libraries(gtest_main gtest) -set(GTEST_LIBRARY "${PROJECT_BINARY_DIR}/test/libgtest.a") -set(GTEST_MAIN_LIBRARY "${PROJECT_BINARY_DIR}/test/libgtest_main.a") +add_subdirectory(gtest_vendor) add_subdirectory(integration) add_subdirectory(performance) diff --git a/test/integration/CMakeLists.txt b/test/integration/CMakeLists.txt index e273d42a..a863807d 100644 --- a/test/integration/CMakeLists.txt +++ b/test/integration/CMakeLists.txt @@ -16,6 +16,7 @@ if(TARGET INTEGRATION_plugin) # before INTEGRATION_plugin so that its auto-generated header is available. # We do not want to link INTEGRATION_plugin to the DummyPlugins library. add_dependencies(INTEGRATION_plugin GzDummyPlugins) + target_include_directories(INTEGRATION_plugin PRIVATE ${PROJECT_SOURCE_DIR}/test) endif() if(TARGET INTEGRATION_mesh) diff --git a/test/performance/CMakeLists.txt b/test/performance/CMakeLists.txt index 35de8f03..86cd8d86 100644 --- a/test/performance/CMakeLists.txt +++ b/test/performance/CMakeLists.txt @@ -7,8 +7,6 @@ if("${CMAKE_BUILD_TYPE_UPPERCASE}" STREQUAL "COVERAGE") plugin_specialization.cc) endif() -link_directories(${PROJECT_BINARY_DIR}/test) - gz_build_tests( TYPE PERFORMANCE SOURCES ${tests}) @@ -17,4 +15,5 @@ if(TARGET PERFORMANCE_plugin_specialization) # We add this dependency to make sure that DummyPlugins gets generated # before PERFORMANCE_plugin_specialization so that its auto-generated header is available. add_dependencies(PERFORMANCE_plugin_specialization GzDummyPlugins) + target_include_directories(PERFORMANCE_plugin_specialization PRIVATE ${PROJECT_SOURCE_DIR}/test) endif() diff --git a/test/plugins/CMakeLists.txt b/test/plugins/CMakeLists.txt index d622b00c..9f87597d 100644 --- a/test/plugins/CMakeLists.txt +++ b/test/plugins/CMakeLists.txt @@ -9,12 +9,6 @@ target_link_libraries(GzBadPluginSize PRIVATE ${PROJECT_LIBRARY_TARGET_NAME}) add_library(GzDummyPlugins SHARED DummyPlugins.cc) target_link_libraries(GzDummyPlugins PRIVATE ${PROJECT_LIBRARY_TARGET_NAME}) -set_property(TARGET GzBadPluginAlign PROPERTY CXX_STANDARD 11) -set_property(TARGET GzBadPluginAPIVersionNew PROPERTY CXX_STANDARD 11) -set_property(TARGET GzBadPluginAPIVersionOld PROPERTY CXX_STANDARD 11) -set_property(TARGET GzBadPluginSize PROPERTY CXX_STANDARD 11) -set_property(TARGET GzDummyPlugins PROPERTY CXX_STANDARD 11) - # Create a variable for the name of the header which will contain the dummy plugin path. # This variable gets put in the cache so that it is available at generation time. set(GZ_DUMMY_PLUGIN_PATH_HEADER "DummyPluginsPath.h" CACHE INTERNAL "Name of header which contains DummyPlugin library path")