From c49c0d5e4c92a30494423488ce665d7d9ca2302e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joan=20Vallv=C3=A9=20Navarro?= <jvallve@iri.upc.edu> Date: Tue, 17 May 2022 14:17:19 +0200 Subject: [PATCH] disabling gtest pthreads in cmake<3.11 --- test/CMakeLists.txt | 7 +++++-- test/gtest/CMakeLists.txt | 22 ++++++++++------------ 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 3fa9269..5850e2d 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,10 +1,13 @@ # Retrieve googletest from github & compile add_subdirectory(gtest) -################# ADD YOUR TESTS BELOW #################### +############# USE THIS TEST AS AN EXAMPLE ################# # # -# ==== IN ALPHABETICAL ORDER! ==== # +# Create a specific test executable for gtest_example # +# wolf_add_gtest(gtest_example gtest_example.cpp) # # # +########################################################### + wolf_add_gtest(gtest_capture_inertial_kinematics gtest_capture_inertial_kinematics.cpp) wolf_add_gtest(gtest_capture_leg_odom gtest_capture_leg_odom.cpp) diff --git a/test/gtest/CMakeLists.txt b/test/gtest/CMakeLists.txt index 9450a29..8349cbd 100644 --- a/test/gtest/CMakeLists.txt +++ b/test/gtest/CMakeLists.txt @@ -5,15 +5,7 @@ if(${CMAKE_VERSION} VERSION_LESS "3.11.0") include(ExternalProject) set(GTEST_FORCE_SHARED_CRT ON) - set(GTEST_DISABLE_PTHREADS OFF) - - # For some reason I need to disable PTHREADS - # with g++ (Ubuntu 4.9.3-8ubuntu2~14.04) 4.9.3 - # This is a known issue for MinGW : - # https://github.com/google/shaderc/pull/174 - #if(MINGW) - # set(GTEST_DISABLE_PTHREADS ON) - #endif() + set(GTEST_DISABLE_PTHREADS ON) # without this in ubuntu 18.04 we get linking errors # Download GoogleTest ExternalProject_Add(googletest @@ -63,7 +55,13 @@ else() GIT_REPOSITORY https://github.com/google/googletest.git GIT_TAG main) - FetchContent_MakeAvailable(googletest) + #FetchContent_MakeAvailable(googletest) + # Disable installation of googletest: https://stackoverflow.com/questions/65527126/disable-install-for-fetchcontent + FetchContent_GetProperties(googletest) + if(NOT googletest_POPULATED) + FetchContent_Populate(googletest) + add_subdirectory(${googletest_SOURCE_DIR} ${googletest_BINARY_DIR} EXCLUDE_FROM_ALL) + endif() endif() @@ -71,10 +69,10 @@ function(wolf_add_gtest target) add_executable(${target} ${ARGN}) if(${CMAKE_VERSION} VERSION_LESS "3.11.0") add_dependencies(${target} libgtest) - target_link_libraries(${target} libgtest ${PLUGIN_NAME}) + target_link_libraries(${target} PUBLIC libgtest ${PLUGIN_NAME}) target_include_directories(${target} PUBLIC ${GTEST_INCLUDE_DIRS}) else() - target_link_libraries(${target} gtest_main ${PLUGIN_NAME}) + target_link_libraries(${target} PUBLIC gtest_main ${PLUGIN_NAME}) endif() add_test(NAME ${target} COMMAND ${target}) endfunction() -- GitLab