CMakeLists.txt 3.2 KB
Newer Older
W
wangguibao 已提交
1 2 3 4 5 6
include(proto/CMakeLists.txt)

file(GLOB sdk_cpp_srcs ${CMAKE_SOURCE_DIR}/sdk-cpp/src/*.cpp)
list(APPEND elasticctr_srcs ${elastic_ctr_cpp_srcs})
list(APPEND elasticctr_srcs ${sdk_cpp_srcs})
list(APPEND elasticctr_srcs
W
wangguibao 已提交
7 8
        ${CMAKE_CURRENT_LIST_DIR}/api/elastic_ctr_api.cpp
        ${CMAKE_CURRENT_LIST_DIR}/api/pybind.cpp)
W
wangguibao 已提交
9

W
wangguibao 已提交
10
add_library(elasticctr SHARED ${elasticctr_srcs})
W
wangguibao 已提交
11 12 13
add_dependencies(elasticctr pybind)
target_link_libraries(elasticctr brpc configure protobuf leveldb -lcrypto
        -lssl -lz)
W
wangguibao 已提交
14

W
wangguibao 已提交
15 16
set_target_properties(elasticctr PROPERTIES INTERFACE_LINK_LIBRARIES "")

W
wangguibao 已提交
17
add_executable(elastic_ctr_demo ${CMAKE_CURRENT_LIST_DIR}/demo/demo.cpp)
W
wangguibao 已提交
18
set_target_properties(elastic_ctr_demo PROPERTIES LINK_LIBRARIES "")
W
wangguibao 已提交
19 20
target_link_libraries(elastic_ctr_demo elasticctr python -lpthread -lcrypto -lm -lrt
        -lssl -ldl -lz)
W
wangguibao 已提交
21

W
wangguibao 已提交
22 23
get_filename_component(PYTHON_LIBRARY_REAL_PATH ${PYTHON_LIBRARY} REALPATH)

W
wangguibao 已提交
24
# install
W
wangguibao 已提交
25
install(TARGETS elasticctr elastic_ctr_demo
W
wangguibao 已提交
26
        RUNTIME DESTINATION
W
wangguibao 已提交
27 28
        ${PADDLE_SERVING_INSTALL_DIR}/elastic_ctr/client/bin
        LIBRARY DESTINATION
W
wangguibao 已提交
29
        ${PADDLE_SERVING_INSTALL_DIR}/elastic_ctr/client/bin)
W
wangguibao 已提交
30 31
install(FILES ${PYTHON_LIBRARY_REAL_PATH}
        DESTINATION ${PADDLE_SERVING_INSTALL_DIR}/elastic_ctr/client/bin)
W
wangguibao 已提交
32 33 34 35
install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/demo/conf DESTINATION
        ${PADDLE_SERVING_INSTALL_DIR}/elastic_ctr/client/)
install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/demo/data/ctr_prediction DESTINATION
        ${PADDLE_SERVING_INSTALL_DIR}/elastic_ctr/client/data)
W
wangguibao 已提交
36 37 38 39 40 41 42 43 44 45 46 47 48

install(TARGETS elasticctr
        LIBRARY DESTINATION
        ${PADDLE_SERVING_INSTALL_DIR}/elastic_ctr/api/lib)
install(FILES ${CMAKE_CURRENT_LIST_DIR}/api/elastic_ctr_api.h
        DESTINATION
        ${PADDLE_SERVING_INSTALL_DIR}/elastic_ctr/api/include/elastic-ctr/client/api/)
install(FILES
        ${CMAKE_BINARY_DIR}/elastic-ctr/client/elastic_ctr_prediction.pb.h
        ${CMAKE_BINARY_DIR}/elastic-ctr/client/pds_option.pb.h
        ${CMAKE_BINARY_DIR}/elastic-ctr/client/builtin_format.pb.h
        DESTINATION
        ${PADDLE_SERVING_INSTALL_DIR}/elastic_ctr/api/include/elastic-ctr/client/)
W
wangguibao 已提交
49 50
install(DIRECTORY
        ${CMAKE_SOURCE_DIR}/sdk-cpp/include
W
wangguibao 已提交
51 52
        DESTINATION
        ${PADDLE_SERVING_INSTALL_DIR}/elastic_ctr/api/include/sdk-cpp/)
W
wangguibao 已提交
53 54 55 56 57 58 59 60 61
install(DIRECTORY
        ${CMAKE_SOURCE_DIR}/configure/include
        DESTINATION
        ${PADDLE_SERVING_INSTALL_DIR}/elastic_ctr/api/include/configure)
install(FILES
        ${CMAKE_BINARY_DIR}/configure/sdk_configure.pb.h
        DESTINATION
        ${PADDLE_SERVING_INSTALL_DIR}/elastic_ctr/api/include/configure)

W
wangguibao 已提交
62 63 64 65 66
install(DIRECTORY
        ${CMAKE_BINARY_DIR}/third_party/install/protobuf/include/google
        ${CMAKE_BINARY_DIR}/third_party/install/brpc/include/brpc
        ${CMAKE_BINARY_DIR}/third_party/install/brpc/include/butil
        ${CMAKE_BINARY_DIR}/third_party/install/brpc/include/bthread
W
wangguibao 已提交
67 68
        ${CMAKE_BINARY_DIR}/third_party/install/brpc/include/bvar
        ${CMAKE_BINARY_DIR}/third_party/install/brpc/include/json2pb
W
wangguibao 已提交
69 70 71 72
        ${CMAKE_BINARY_DIR}/third_party/install/gflags/include/gflags
        ${CMAKE_BINARY_DIR}/third_party/install/glog/include/glog
        DESTINATION
        ${PADDLE_SERVING_INSTALL_DIR}/elastic_ctr/api/include)