cmake: Fix googletest's flags dllimport/dllexport declspec
This commit is contained in:
committed by
Mizux Seiha
parent
100315cd0e
commit
6d89b9f0fe
@@ -1,3 +1,37 @@
|
||||
diff --git a/googlemock/include/gmock/internal/gmock-port.h b/googlemock/include/gmock/internal/gmock-port.h
|
||||
index e9d9e32..ca55646 100644
|
||||
--- a/googlemock/include/gmock/internal/gmock-port.h
|
||||
+++ b/googlemock/include/gmock/internal/gmock-port.h
|
||||
@@ -85,11 +85,11 @@
|
||||
|
||||
// Macros for declaring flags.
|
||||
#define GMOCK_DECLARE_bool_(name) \
|
||||
- ABSL_DECLARE_FLAG(bool, GMOCK_FLAG_NAME_(name))
|
||||
+ GTEST_API_ ABSL_DECLARE_FLAG(bool, GMOCK_FLAG_NAME_(name))
|
||||
#define GMOCK_DECLARE_int32_(name) \
|
||||
- ABSL_DECLARE_FLAG(int32_t, GMOCK_FLAG_NAME_(name))
|
||||
+ GTEST_API_ ABSL_DECLARE_FLAG(int32_t, GMOCK_FLAG_NAME_(name))
|
||||
#define GMOCK_DECLARE_string_(name) \
|
||||
- ABSL_DECLARE_FLAG(std::string, GMOCK_FLAG_NAME_(name))
|
||||
+ GTEST_API_ ABSL_DECLARE_FLAG(std::string, GMOCK_FLAG_NAME_(name))
|
||||
|
||||
#define GMOCK_FLAG_GET(name) ::absl::GetFlag(GMOCK_FLAG(name))
|
||||
#define GMOCK_FLAG_SET(name, value) \
|
||||
diff --git a/googletest/CMakeLists.txt b/googletest/CMakeLists.txt
|
||||
index dce6a7c..65bfab2 100644
|
||||
--- a/googletest/CMakeLists.txt
|
||||
+++ b/googletest/CMakeLists.txt
|
||||
@@ -147,6 +147,10 @@ target_include_directories(gtest SYSTEM INTERFACE
|
||||
target_include_directories(gtest_main SYSTEM INTERFACE
|
||||
"$<BUILD_INTERFACE:${dirs}>"
|
||||
"$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_INCLUDEDIR}>")
|
||||
+if (BUILD_SHARED_LIBS OR type STREQUAL "SHARED")
|
||||
+ target_compile_definitions(gtest_main INTERFACE
|
||||
+ $<BUILD_INTERFACE:GTEST_LINKED_AS_SHARED_LIBRARY=1>)
|
||||
+endif()
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "QNX" AND CMAKE_SYSTEM_VERSION VERSION_GREATER_EQUAL 7.1)
|
||||
target_link_libraries(gtest PUBLIC regex)
|
||||
endif()
|
||||
diff --git a/googletest/cmake/internal_utils.cmake b/googletest/cmake/internal_utils.cmake
|
||||
index 580ac1c..96fe3ac 100644
|
||||
--- a/googletest/cmake/internal_utils.cmake
|
||||
@@ -41,3 +75,22 @@ index 580ac1c..96fe3ac 100644
|
||||
endif()
|
||||
if (DEFINED GTEST_HAS_PTHREAD)
|
||||
target_link_libraries(${name} PUBLIC Threads::Threads)
|
||||
diff --git a/googletest/include/gtest/internal/gtest-port.h b/googletest/include/gtest/internal/gtest-port.h
|
||||
index 8d27c2c..c1cd5e6 100644
|
||||
--- a/googletest/include/gtest/internal/gtest-port.h
|
||||
+++ b/googletest/include/gtest/internal/gtest-port.h
|
||||
@@ -2287,11 +2287,11 @@ using TimeInMillis = int64_t; // Represents time in milliseconds.
|
||||
|
||||
// Macros for declaring flags.
|
||||
#define GTEST_DECLARE_bool_(name) \
|
||||
- ABSL_DECLARE_FLAG(bool, GTEST_FLAG_NAME_(name))
|
||||
+ GTEST_API_ ABSL_DECLARE_FLAG(bool, GTEST_FLAG_NAME_(name))
|
||||
#define GTEST_DECLARE_int32_(name) \
|
||||
- ABSL_DECLARE_FLAG(int32_t, GTEST_FLAG_NAME_(name))
|
||||
+ GTEST_API_ ABSL_DECLARE_FLAG(int32_t, GTEST_FLAG_NAME_(name))
|
||||
#define GTEST_DECLARE_string_(name) \
|
||||
- ABSL_DECLARE_FLAG(std::string, GTEST_FLAG_NAME_(name))
|
||||
+ GTEST_API_ ABSL_DECLARE_FLAG(std::string, GTEST_FLAG_NAME_(name))
|
||||
|
||||
#define GTEST_FLAG_SAVER_ ::absl::FlagSaver
|
||||
|
||||
|
||||
Reference in New Issue
Block a user