diff options
author | Billy Donahue <BillyDonahue@users.noreply.github.com> | 2015-10-29 23:45:29 -0400 |
---|---|---|
committer | Billy Donahue <BillyDonahue@users.noreply.github.com> | 2015-10-29 23:45:29 -0400 |
commit | cf517375efb5581dc0f187275ebce964c34e4a3f (patch) | |
tree | ef20cb47db323f1f6e41fca04482f517a56465f9 | |
parent | 43359642a1c16ad3f4fc575c7edd0cb935810815 (diff) | |
parent | 84d7ff10888c3004fc87b8438a98ecf4f863242e (diff) | |
download | googletest-cf517375efb5581dc0f187275ebce964c34e4a3f.tar.gz |
Merge pull request #605 from d-meiser/fix-visibility-hidden
Fix building of gtest with -fvisibility=hidden [#451]
-rw-r--r-- | googletest/CMakeLists.txt | 10 | ||||
-rw-r--r-- | googletest/include/gtest/internal/gtest-port.h | 6 | ||||
-rw-r--r-- | googletest/src/gtest-internal-inl.h | 2 |
3 files changed, 14 insertions, 4 deletions
diff --git a/googletest/CMakeLists.txt b/googletest/CMakeLists.txt index bd78cfe6..961672aa 100644 --- a/googletest/CMakeLists.txt +++ b/googletest/CMakeLists.txt @@ -22,6 +22,11 @@ option(gtest_build_samples "Build gtest's sample programs." OFF) option(gtest_disable_pthreads "Disable uses of pthreads in gtest." OFF) +option( + gtest_hide_internal_symbols + "Build gtest with internal symbols hidden in shared libraries." + OFF) + # Defines pre_project_set_up_hermetic_build() and set_up_hermetic_build(). include(cmake/hermetic_build.cmake OPTIONAL) @@ -46,6 +51,11 @@ if (COMMAND set_up_hermetic_build) set_up_hermetic_build() endif() +if (gtest_hide_internal_symbols) + set(CMAKE_CXX_VISIBILITY_PRESET hidden) + set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) +endif() + # Define helper functions and macros used by Google Test. include(cmake/internal_utils.cmake) diff --git a/googletest/include/gtest/internal/gtest-port.h b/googletest/include/gtest/internal/gtest-port.h index 141d4579..d768bd6a 100644 --- a/googletest/include/gtest/internal/gtest-port.h +++ b/googletest/include/gtest/internal/gtest-port.h @@ -920,14 +920,14 @@ using ::std::tuple_size; #endif // GTEST_HAS_SEH #ifdef _MSC_VER - # if GTEST_LINKED_AS_SHARED_LIBRARY # define GTEST_API_ __declspec(dllimport) # elif GTEST_CREATE_SHARED_LIBRARY # define GTEST_API_ __declspec(dllexport) # endif - -#endif // _MSC_VER +#elif __GNUC__ >= 4 || defined(__clang__) +# define GTEST_API_ __attribute__((visibility ("default"))) +#endif // _MSC_VER #ifndef GTEST_API_ # define GTEST_API_ diff --git a/googletest/src/gtest-internal-inl.h b/googletest/src/gtest-internal-inl.h index 56c8a20c..ed8a682a 100644 --- a/googletest/src/gtest-internal-inl.h +++ b/googletest/src/gtest-internal-inl.h @@ -1032,7 +1032,7 @@ class TestResultAccessor { #if GTEST_CAN_STREAM_RESULTS_ // Streams test results to the given port on the given host machine. -class StreamingListener : public EmptyTestEventListener { +class GTEST_API_ StreamingListener : public EmptyTestEventListener { public: // Abstract base class for writing strings to a socket. class AbstractSocketWriter { |