diff --git a/osrf_testing_tools_cpp/CMakeLists.txt b/osrf_testing_tools_cpp/CMakeLists.txt index c45e710..4fcabe0 100644 --- a/osrf_testing_tools_cpp/CMakeLists.txt +++ b/osrf_testing_tools_cpp/CMakeLists.txt @@ -20,19 +20,19 @@ if(BUILD_TESTING) include(cmake/osrf_testing_tools_cpp_require_googletest.cmake) # ensures target gtest_main exists osrf_testing_tools_cpp_require_googletest(VERSION_GTE 1.8 - VENDOR_DIR "${CMAKE_SOURCE_DIR}/vendor") + VENDOR_DIR "${CMAKE_CURRENT_SOURCE_DIR}/vendor") add_subdirectory(test) endif() configure_file(osrf_testing_tools_cppConfig.cmake.in - "${PROJECT_BINARY_DIR}/osrf_testing_tools_cppConfig.cmake" @ONLY) + "${CMAKE_CURRENT_BINARY_DIR}/osrf_testing_tools_cppConfig.cmake" @ONLY) configure_file(osrf_testing_tools_cppConfigVersion.cmake.in - "${PROJECT_BINARY_DIR}/osrf_testing_tools_cppConfigVersion.cmake" @ONLY) + "${CMAKE_CURRENT_BINARY_DIR}/osrf_testing_tools_cppConfigVersion.cmake" @ONLY) install(FILES - "${PROJECT_BINARY_DIR}/osrf_testing_tools_cppConfig.cmake" - "${PROJECT_BINARY_DIR}/osrf_testing_tools_cppConfigVersion.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/osrf_testing_tools_cppConfig.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/osrf_testing_tools_cppConfigVersion.cmake" DESTINATION share/${PROJECT_NAME}/cmake ) diff --git a/osrf_testing_tools_cpp/cmake/osrf_testing_tools_cpp_extract_and_build_googletest.cmake b/osrf_testing_tools_cpp/cmake/osrf_testing_tools_cpp_extract_and_build_googletest.cmake index 709ed38..c2b0b88 100644 --- a/osrf_testing_tools_cpp/cmake/osrf_testing_tools_cpp_extract_and_build_googletest.cmake +++ b/osrf_testing_tools_cpp/cmake/osrf_testing_tools_cpp_extract_and_build_googletest.cmake @@ -48,14 +48,14 @@ macro(osrf_testing_tools_cpp_extract_and_build_googletest execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . RESULT_VARIABLE result - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-${GOOGLETEST_VERSION}-extracted) + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-${GOOGLETEST_VERSION}-extracted) if(result) message(FATAL_ERROR "CMake step for googletest failed: ${result}") endif() execute_process(COMMAND ${CMAKE_COMMAND} --build . RESULT_VARIABLE result - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-${GOOGLETEST_VERSION}-extracted) + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-${GOOGLETEST_VERSION}-extracted) if(result) message(FATAL_ERROR "Build step for googletest failed: ${result}") endif() @@ -77,8 +77,8 @@ macro(osrf_testing_tools_cpp_extract_and_build_googletest # Add googletest directly to our build. This defines # the gtest and gtest_main targets. add_subdirectory( - ${CMAKE_BINARY_DIR}/${__prefix}-extracted/${__prefix}-src - ${CMAKE_BINARY_DIR}/${__prefix}-extracted/${__prefix}-build + ${CMAKE_CURRENT_BINARY_DIR}/${__prefix}-extracted/${__prefix}-src + ${CMAKE_CURRENT_BINARY_DIR}/${__prefix}-extracted/${__prefix}-build EXCLUDE_FROM_ALL ) unset(__prefix) diff --git a/osrf_testing_tools_cpp/cmake/osrf_testing_tools_cpp_require_googletest.cmake b/osrf_testing_tools_cpp/cmake/osrf_testing_tools_cpp_require_googletest.cmake index 968cece..277cab0 100644 --- a/osrf_testing_tools_cpp/cmake/osrf_testing_tools_cpp_require_googletest.cmake +++ b/osrf_testing_tools_cpp/cmake/osrf_testing_tools_cpp_require_googletest.cmake @@ -45,6 +45,9 @@ set(OSRF_TESTING_TOOLS_CPP_REQUIRE_GOOGLETEST_VERSION_SETUP) # @public # macro(osrf_testing_tools_cpp_require_googletest) + if (TARGET gtest OR TARGET gtest_main) + return() + endif() # Make sure this was only called once. if(OSRF_TESTING_TOOLS_CPP_REQUIRE_GOOGLETEST_VERSION_SETUP) set(error_msg "osrf_testing_tools_cpp_require_googletest():") diff --git a/osrf_testing_tools_cpp/src/memory_tools/CMakeLists.txt b/osrf_testing_tools_cpp/src/memory_tools/CMakeLists.txt index 3001cda..b886749 100644 --- a/osrf_testing_tools_cpp/src/memory_tools/CMakeLists.txt +++ b/osrf_testing_tools_cpp/src/memory_tools/CMakeLists.txt @@ -21,7 +21,8 @@ add_library(memory_tools SHARED target_include_directories(memory_tools PUBLIC - $ + $ + $ $ ) target_link_libraries(memory_tools PRIVATE Backward::Backward) @@ -93,4 +94,4 @@ install(EXPORT memory_tools_interpose set(memory_tools_extra_test_env "${memory_tools_extra_test_env}" PARENT_SCOPE) set(memory_tools_is_available "${memory_tools_is_available}" PARENT_SCOPE) set(memory_tools_src_dir_internal_testing_only - "$" PARENT_SCOPE) + "$" PARENT_SCOPE) diff --git a/osrf_testing_tools_cpp/test/cmake/CMakeLists.txt b/osrf_testing_tools_cpp/test/cmake/CMakeLists.txt index cfa08b2..53539f6 100644 --- a/osrf_testing_tools_cpp/test/cmake/CMakeLists.txt +++ b/osrf_testing_tools_cpp/test/cmake/CMakeLists.txt @@ -3,5 +3,5 @@ add_test( NAME "test_osrf_testing_tools_cpp_filter_versions_cmake" COMMAND ${CMAKE_COMMAND} -P - "${CMAKE_SOURCE_DIR}/test/cmake/test_osrf_testing_tools_cpp_filter_versions.cmake" + "${CMAKE_CURRENT_SOURCE_DIR}/test_osrf_testing_tools_cpp_filter_versions.cmake" ) \ No newline at end of file diff --git a/osrf_testing_tools_cpp/vendor/google/googletest/googletest-external-project-add.cmake.in b/osrf_testing_tools_cpp/vendor/google/googletest/googletest-external-project-add.cmake.in index ae7b0ce..123678c 100644 --- a/osrf_testing_tools_cpp/vendor/google/googletest/googletest-external-project-add.cmake.in +++ b/osrf_testing_tools_cpp/vendor/google/googletest/googletest-external-project-add.cmake.in @@ -9,8 +9,8 @@ include(ExternalProject) ExternalProject_Add(googletest URL "@GOOGLETEST_ARCHIVE_LOCATION@" URL_MD5 "@GOOGLETEST_MD5SUM@" - SOURCE_DIR "${CMAKE_BINARY_DIR}/googletest-@GOOGLETEST_VERSION@-src" - BINARY_DIR "${CMAKE_BINARY_DIR}/googletest-@GOOGLETEST_VERSION@-build" + SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-@GOOGLETEST_VERSION@-src" + BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-@GOOGLETEST_VERSION@-build" CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND ""