From 26cd5326a1fb99ae02c667eab9942e1308046984 Mon Sep 17 00:00:00 2001 From: Alex Stewart Date: Mon, 21 Sep 2015 10:16:01 +0100 Subject: [PATCH] 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 --- internal/ceres/CMakeLists.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/internal/ceres/CMakeLists.txt b/internal/ceres/CMakeLists.txt index 6c71c29d5..00377e2b6 100644 --- a/internal/ceres/CMakeLists.txt +++ b/internal/ceres/CMakeLists.txt @@ -252,6 +252,12 @@ if (BUILD_TESTING AND GFLAGS) 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 @@ if (BUILD_TESTING AND GFLAGS) 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