From: Kefu Chai Date: Sat, 9 Dec 2017 11:27:03 +0000 (+0800) Subject: cmake: add WITH_STATIC_LIBSTDCXX option X-Git-Tag: v13.0.1~8^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c869054645daee3bd88abc09ea180848578bb782;p=ceph.git cmake: add WITH_STATIC_LIBSTDCXX option to link libceph-common with libstdc++ if it is enabled. Signed-off-by: Kefu Chai (cherry picked from commit 4c2216de6a08f048374292a567dbabd083d64e87) --- diff --git a/CMakeLists.txt b/CMakeLists.txt index b08365481b7b1..576525db6cc97 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -169,6 +169,13 @@ else(ENABLE_SHARED) endif(ENABLE_SHARED) set(CMAKE_POSITION_INDEPENDENT_CODE ${ENABLE_SHARED}) +option(WITH_STATIC_LIBSTDCXX "Link against libstdc++ statically" OFF) +if(WITH_STATIC_LIBSTDCXX) + if(NOT CMAKE_COMPILER_IS_GNUCXX) + message(FATAL_ERROR "Please use GCC to enable WITH_STATIC_LIBSTDCXX") + endif() +endif() + option(WITH_RDMA "Enable RDMA in async messenger" ON) if(WITH_RDMA) find_package(rdma REQUIRED) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c75a845fd876a..4b5b952bbc3c5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -688,6 +688,10 @@ target_link_libraries(ceph-common ${ceph_common_deps}) set_target_properties(ceph-common PROPERTIES SOVERSION 0 INSTALL_RPATH "") +if(WITH_STATIC_LIBSTDCXX) + set_target_properties(ceph-common PROPERTIES + LINK_FLAGS "-static-libstdc++ -static-libgcc") +endif() install(TARGETS ceph-common DESTINATION ${CMAKE_INSTALL_PKGLIBDIR}) add_library(common_utf8 STATIC common/utf8.c)