Repository: hadoop Updated Branches: refs/heads/HDFS-8707 8fdbbae04 -> 825571a0e
HDFS-9408. Build both static and dynamic libraries for libhdfspp. Contributed by Stephen Walkauskas. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/825571a0 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/825571a0 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/825571a0 Branch: refs/heads/HDFS-8707 Commit: 825571a0e77712a5eca0b6db09020c87ad6e27e1 Parents: 8fdbbae Author: Haohui Mai <whe...@apache.org> Authored: Mon Nov 16 10:09:16 2015 -0800 Committer: Haohui Mai <whe...@apache.org> Committed: Mon Nov 16 10:09:16 2015 -0800 ---------------------------------------------------------------------- .../src/main/native/libhdfspp/CMakeLists.txt | 23 ++++++++++++++++++++ 1 file changed, 23 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/825571a0/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/CMakeLists.txt ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/CMakeLists.txt b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/CMakeLists.txt index c544b4d..18e4cb0 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/CMakeLists.txt +++ b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/CMakeLists.txt @@ -61,3 +61,26 @@ set(PROTO_HADOOP_TEST_DIR ${CMAKE_CURRENT_LIST_DIR}/../../../../../../hadoop-com add_subdirectory(third_party/gmock-1.7.0) add_subdirectory(lib) add_subdirectory(tests) + +# create an empty file; hadoop_add_dual_library wraps add_library which +# requires at least one file as an argument +set(EMPTY_FILE_CC ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/empty.cc) +file(WRITE ${EMPTY_FILE_CC} "") + +hadoop_add_dual_library(hdfspp ${EMPTY_FILE_CC}) +if(NEED_LINK_DL) + set(LIB_DL dl) +endif() + +SET(LIBHDFSPP_SUBLIBS bindings_c fs rpc reader proto common) +IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux") + # linking a shared library from static ones requires --whole-archive + SET(LIBHDFSPP_SUBLIBS -Wl,--whole-archive ${LIBHDFSPP_SUBLIBS} -Wl,--no-whole-archive) +ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Linux") + +hadoop_target_link_dual_libraries(hdfspp + ${LIBHDFSPP_SUBLIBS} + ${LIB_DL} + ${PROTOBUF_LIBRARY} + ${OPENSSL_LIBRARIES} +)