From 1ca93c9c96232ab40864e6e71caf44878fe8c8e9 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Sun, 21 Mar 2021 23:02:02 +0800 Subject: [PATCH] cmake: hide non-public symbols in libcephsqlite should not expose non-public symbols. Signed-off-by: Kefu Chai --- src/CMakeLists.txt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4443044cc3b..b3b1b67ee64 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -811,6 +811,13 @@ if(WITH_LIBCEPHSQLITE) set(cephsqlite_srcs libcephsqlite.cc SimpleRADOSStriper.cc) add_library(cephsqlite ${CEPH_SHARED} ${cephsqlite_srcs}) target_link_libraries(cephsqlite PRIVATE cls_lock_client librados ceph-common SQLite3::SQLite3 ${EXTRALIBS}) + set_target_properties(cephsqlite PROPERTIES + CXX_VISIBILITY_PRESET hidden + VISIBILITY_INLINES_HIDDEN ON) + if(NOT APPLE AND NOT WIN32) + set_property(TARGET cephsqlite APPEND_STRING PROPERTY + LINK_FLAGS " -Wl,--exclude-libs,ALL") + endif() install(TARGETS cephsqlite DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif(WITH_LIBCEPHSQLITE) -- 2.39.5