Add gtest-specific flags when building/using as a shared library. - Currently these flags are only used to define the relevant DLL export prefix for Windows. Change-Id: I0c05207b512cb4a985390aefc779b91febdabb38
diff --git a/internal/ceres/CMakeLists.txt b/internal/ceres/CMakeLists.txt index 6c71c29..00377e2 100644 --- a/internal/ceres/CMakeLists.txt +++ b/internal/ceres/CMakeLists.txt
@@ -252,6 +252,12 @@ add_definitions(-DCERES_GFLAGS_NAMESPACE=${GFLAGS_NAMESPACE}) add_library(gtest gmock_gtest_all.cc gmock_main.cc) + if (BUILD_SHARED_LIBS) + # Define gtest-specific shared library flags for compilation. + set_target_properties(gtest PROPERTIES COMPILE_DEFINITIONS + GTEST_CREATE_SHARED_LIBRARY) + endif() + add_library(test_util evaluator_test_utils.cc numeric_diff_test_utils.cc @@ -270,6 +276,11 @@ macro (CERES_TEST NAME) add_executable(${NAME}_test ${NAME}_test.cc) target_link_libraries(${NAME}_test test_util ceres gtest) + if (BUILD_SHARED_LIBS) + # Define gtest-specific shared library flags for linking. + set_target_properties(${NAME}_test PROPERTIES COMPILE_DEFINITIONS + GTEST_LINKED_AS_SHARED_LIBRARY) + endif() add_test(NAME ${NAME}_test COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${NAME}_test --test_srcdir