diff --git a/CMakeLists.txt b/CMakeLists.txt index 49334279f6dc88c0d35fec43daf80e3cbe65760c..3a21574b855bc6bc37fefe61de98d657e712cde7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -156,6 +156,7 @@ include(rdma) # set rdma libraries include(flags) # set paddle compile flags include(version) # set PADDLE_VERSION include(coveralls) # set code coverage +include(inference_lib) # add paddle fluid inference libraries include_directories("${PADDLE_SOURCE_DIR}") diff --git a/cmake/external/eigen.cmake b/cmake/external/eigen.cmake index eb6c0cef5746e9cc7328a39d2699fbc8ea0d7f57..6a701e076c95372f903a09d35d4208ee73bd584c 100644 --- a/cmake/external/eigen.cmake +++ b/cmake/external/eigen.cmake @@ -28,11 +28,3 @@ endif() add_dependencies(eigen3 extern_eigen3) LIST(APPEND external_project_dependencies eigen3) - -set(lib_dir "${CMAKE_INSTALL_PREFIX}/third_party/eigen3") -add_custom_target(eigen3_lib - COMMAND mkdir -p "${lib_dir}/Eigen" "${lib_dir}/unsupported" - COMMAND cp "${EIGEN_INCLUDE_DIR}/Eigen/Core" "${lib_dir}/Eigen" - COMMAND cp -r "${EIGEN_INCLUDE_DIR}/Eigen/src" "${lib_dir}/Eigen" - COMMAND cp -r "${EIGEN_INCLUDE_DIR}/unsupported/Eigen" "${lib_dir}/unsupported" -) diff --git a/cmake/external/gflags.cmake b/cmake/external/gflags.cmake index 9cbc376ba0edc3535b480a4adb6e0fee8ba112ce..d4f252bb9f64c8db82b841fedf0817f5d8596501 100644 --- a/cmake/external/gflags.cmake +++ b/cmake/external/gflags.cmake @@ -60,10 +60,3 @@ IF(WITH_C_API) INSTALL(FILES ${GFLAGS_LIBRARIES} DESTINATION third_party/gflags/lib) ENDIF() ENDIF() - -set(lib_dir "${CMAKE_INSTALL_PREFIX}/third_party/install/gflags") -add_custom_target(gflags_lib - COMMAND mkdir -p "${lib_dir}/lib" - COMMAND cp -r "${GFLAGS_INCLUDE_DIR}" "${lib_dir}" - COMMAND cp "${GFLAGS_LIBRARIES}" "${lib_dir}/lib" -) diff --git a/cmake/external/glog.cmake b/cmake/external/glog.cmake index 0031225a6cb633c2ade0366bf3fdb17194ebd56c..0c6b3aafcb4e990b9d4549820137474e5968a7aa 100644 --- a/cmake/external/glog.cmake +++ b/cmake/external/glog.cmake @@ -76,10 +76,3 @@ IF(WITH_C_API) INSTALL(FILES ${GLOG_LIBRARIES} DESTINATION third_party/glog/lib) ENDIF() ENDIF() - -set(lib_dir "${CMAKE_INSTALL_PREFIX}/third_party/install/glog") -add_custom_target(glog_lib - COMMAND mkdir -p "${lib_dir}/lib" - COMMAND cp -r "${GLOG_INCLUDE_DIR}" "${lib_dir}" - COMMAND cp "${GLOG_LIBRARIES}" "${lib_dir}/lib" -) diff --git a/cmake/external/protobuf.cmake b/cmake/external/protobuf.cmake index ff3d38a691a99d51671e22ba82371371f2a6ed8e..ff5855052dabaa0b63099cd219f3f04e22f1aa85 100644 --- a/cmake/external/protobuf.cmake +++ b/cmake/external/protobuf.cmake @@ -259,13 +259,6 @@ IF(NOT PROTOBUF_FOUND) ENDIF() ENDIF() - set(lib_dir "${CMAKE_INSTALL_PREFIX}/third_party/install/protobuf") - add_custom_target(protobuf_lib - COMMAND mkdir -p "${lib_dir}/lib" - COMMAND cp -r "${PROTOBUF_INCLUDE_DIR}" "${lib_dir}" - COMMAND cp "${PROTOBUF_LITE_LIBRARY}" "${lib_dir}/lib" - ) - IF(CMAKE_CROSSCOMPILING) PROMPT_PROTOBUF_LIB(protobuf_host extern_protobuf) ELSE() diff --git a/cmake/inference_lib.cmake b/cmake/inference_lib.cmake new file mode 100644 index 0000000000000000000000000000000000000000..d71fbce38207a06c13d26fd6e9680b274ade6992 --- /dev/null +++ b/cmake/inference_lib.cmake @@ -0,0 +1,74 @@ +# make package for paddle fluid shared and static library +# third party +set(lib_dir "${CMAKE_INSTALL_PREFIX}/third_party/eigen3") +add_custom_target(eigen3_lib + COMMAND mkdir -p "${lib_dir}/Eigen" "${lib_dir}/unsupported" + COMMAND cp "${EIGEN_INCLUDE_DIR}/Eigen/Core" "${lib_dir}/Eigen" + COMMAND cp -r "${EIGEN_INCLUDE_DIR}/Eigen/src" "${lib_dir}/Eigen" + COMMAND cp -r "${EIGEN_INCLUDE_DIR}/unsupported/Eigen" "${lib_dir}/unsupported" +) + +set(lib_dir "${CMAKE_INSTALL_PREFIX}/third_party/install/gflags") +add_custom_target(gflags_lib + COMMAND mkdir -p "${lib_dir}/lib" + COMMAND cp -r "${GFLAGS_INCLUDE_DIR}" "${lib_dir}" + COMMAND cp "${GFLAGS_LIBRARIES}" "${lib_dir}/lib" +) + +set(lib_dir "${CMAKE_INSTALL_PREFIX}/third_party/install/glog") +add_custom_target(glog_lib + COMMAND mkdir -p "${lib_dir}/lib" + COMMAND cp -r "${GLOG_INCLUDE_DIR}" "${lib_dir}" + COMMAND cp "${GLOG_LIBRARIES}" "${lib_dir}/lib" +) + +IF(NOT PROTOBUF_FOUND) + set(lib_dir "${CMAKE_INSTALL_PREFIX}/third_party/install/protobuf") + add_custom_target(protobuf_lib + COMMAND mkdir -p "${lib_dir}/lib" + COMMAND cp -r "${PROTOBUF_INCLUDE_DIR}" "${lib_dir}" + COMMAND cp "${PROTOBUF_LITE_LIBRARY}" "${lib_dir}/lib" + ) +ENDIF(NOT PROTOBUF_FOUND) + +# paddle fluid module +set(lib_dir "${CMAKE_INSTALL_PREFIX}/paddle/framework") +add_custom_target(framework_lib DEPENDS framework_py_proto + COMMAND mkdir -p "${lib_dir}/details" + COMMAND cp "${PADDLE_SOURCE_DIR}/paddle/framework/*.h" "${lib_dir}" + COMMAND cp "${PADDLE_SOURCE_DIR}/paddle/framework/details/*.h" "${lib_dir}/details" + COMMAND cp "${PADDLE_BINARY_DIR}/paddle/framework/framework.pb.h" "${lib_dir}" +) + +set(lib_dir "${CMAKE_INSTALL_PREFIX}/paddle/memory") +add_custom_target(memory_lib + COMMAND mkdir -p "${lib_dir}/detail" + COMMAND cp "${PADDLE_SOURCE_DIR}/paddle/memory/*.h" "${lib_dir}" + COMMAND cp "${PADDLE_SOURCE_DIR}/paddle/memory/detail/*.h" "${lib_dir}/detail" +) + +set(lib_dir "${CMAKE_INSTALL_PREFIX}/paddle/inference") +add_custom_target(inference_lib DEPENDS paddle_fluid_shared + COMMAND mkdir -p "${lib_dir}" + COMMAND cp "${PADDLE_SOURCE_DIR}/paddle/inference/*.h" "${lib_dir}" + COMMAND cp "${PADDLE_BINARY_DIR}/paddle/inference/libpaddle_fluid.so" "${lib_dir}" +) + +set(lib_dir "${CMAKE_INSTALL_PREFIX}/paddle/platform") +add_custom_target(platform_lib + COMMAND mkdir -p "${lib_dir}/dynload" "${lib_dir}/details" + COMMAND cp "${PADDLE_SOURCE_DIR}/paddle/platform/*.h" "${lib_dir}" + COMMAND cp "${PADDLE_SOURCE_DIR}/paddle/platform/dynload/*.h" "${lib_dir}/dynload" + COMMAND cp "${PADDLE_SOURCE_DIR}/paddle/platform/details/*.h" "${lib_dir}/details" +) + +set(lib_dir "${CMAKE_INSTALL_PREFIX}/paddle/string") +add_custom_target(string_lib + COMMAND mkdir -p "${lib_dir}/tinyformat" + COMMAND cp "${PADDLE_SOURCE_DIR}/paddle/string/*.h" "${lib_dir}" + COMMAND cp "${PADDLE_SOURCE_DIR}/paddle/string/tinyformat/*.h" "${lib_dir}/tinyformat" +) + +add_custom_target(inference_lib_dist DEPENDS + inference_lib framework_lib memory_lib platform_lib string_lib + gflags_lib glog_lib protobuf_lib eigen3_lib) diff --git a/paddle/framework/CMakeLists.txt b/paddle/framework/CMakeLists.txt index a2a0be08d9425cdd8cce374aecd097085491d4c0..8b3768b23190c1ff6cf4220a6ff62feda3db17eb 100644 --- a/paddle/framework/CMakeLists.txt +++ b/paddle/framework/CMakeLists.txt @@ -92,12 +92,4 @@ cc_test(init_test SRCS init_test.cc DEPS init) cc_test(op_kernel_type_test SRCS op_kernel_type_test.cc DEPS place device_context framework_proto) cc_test(cow_ptr_tests SRCS details/cow_ptr_test.cc) -set(lib_dir "${CMAKE_INSTALL_PREFIX}/paddle/framework") -add_custom_target(framework_lib DEPENDS framework_py_proto - COMMAND mkdir -p "${lib_dir}/details" - COMMAND cp "${CMAKE_CURRENT_SOURCE_DIR}/*.h" "${lib_dir}" - COMMAND cp "${CMAKE_CURRENT_SOURCE_DIR}/details/*.h" "${lib_dir}/details" - COMMAND cp "${CMAKE_CURRENT_BINARY_DIR}/framework.pb.h" "${lib_dir}" -) - cc_test(channel_test SRCS channel_test.cc) diff --git a/paddle/inference/CMakeLists.txt b/paddle/inference/CMakeLists.txt index e8e0ee210718bb266383c967699b15418b18ea08..654a6119bdc85f43b0cae631a9dc8f0ccd758889 100644 --- a/paddle/inference/CMakeLists.txt +++ b/paddle/inference/CMakeLists.txt @@ -18,17 +18,6 @@ target_circle_link_libraries(paddle_fluid_shared SET_TARGET_PROPERTIES(paddle_fluid_shared PROPERTIES OUTPUT_NAME paddle_fluid) -# install library & headers -set(lib_dir "${CMAKE_INSTALL_PREFIX}/paddle/inference") -add_custom_target(inference_lib DEPENDS paddle_fluid_shared - COMMAND mkdir -p "${lib_dir}" - COMMAND cp "${CMAKE_CURRENT_SOURCE_DIR}/*.h" "${lib_dir}" - COMMAND cp "${CMAKE_CURRENT_BINARY_DIR}/libpaddle_fluid.so" "${lib_dir}" -) -add_custom_target(inference_lib_dist DEPENDS - inference_lib framework_lib memory_lib platform_lib string_lib - gflags_lib glog_lib protobuf_lib eigen3_lib) - if(WITH_TESTING) add_subdirectory(tests/book) endif() diff --git a/paddle/memory/CMakeLists.txt b/paddle/memory/CMakeLists.txt index fad49346f2318be6413a259c9194bfcd757b7539..1a61c484823b292234d4758cdc1959d7a21510e6 100644 --- a/paddle/memory/CMakeLists.txt +++ b/paddle/memory/CMakeLists.txt @@ -14,10 +14,3 @@ cc_library(paddle_memory system_allocator) cc_test(memory_test SRCS memory_test.cc DEPS place paddle_memory) - -set(lib_dir "${CMAKE_INSTALL_PREFIX}/paddle/memory") -add_custom_target(memory_lib - COMMAND mkdir -p "${lib_dir}/detail" - COMMAND cp "${CMAKE_CURRENT_SOURCE_DIR}/*.h" "${lib_dir}" - COMMAND cp "${CMAKE_CURRENT_SOURCE_DIR}/detail/*.h" "${lib_dir}/detail" -) diff --git a/paddle/platform/CMakeLists.txt b/paddle/platform/CMakeLists.txt index d70530aadb8d2e0dac62081e8253667174d4a95c..5ce4b3de39d93e1935c6349ae446dec11d2fa986 100644 --- a/paddle/platform/CMakeLists.txt +++ b/paddle/platform/CMakeLists.txt @@ -39,11 +39,3 @@ nv_test(nccl_test SRCS nccl_test.cu DEPS dynload_cuda gpu_info device_context) cc_library(profiler SRCS profiler.cc DEPS device_context) cc_test(profiler_test SRCS profiler_test.cc DEPS profiler) - -set(lib_dir "${CMAKE_INSTALL_PREFIX}/paddle/platform") -add_custom_target(platform_lib - COMMAND mkdir -p "${lib_dir}/dynload" "${lib_dir}/details" - COMMAND cp "${CMAKE_CURRENT_SOURCE_DIR}/*.h" "${lib_dir}" - COMMAND cp "${CMAKE_CURRENT_SOURCE_DIR}/dynload/*.h" "${lib_dir}/dynload" - COMMAND cp "${CMAKE_CURRENT_SOURCE_DIR}/details/*.h" "${lib_dir}/details" -) diff --git a/paddle/string/CMakeLists.txt b/paddle/string/CMakeLists.txt index 234a9a6d036fbb544a29f3eb4efa52a37188403f..1fe7f42ca1c692e4d7034883022852657be8cc20 100644 --- a/paddle/string/CMakeLists.txt +++ b/paddle/string/CMakeLists.txt @@ -2,10 +2,3 @@ cc_library(stringpiece SRCS piece.cc) cc_test(stringpiece_test SRCS piece_test.cc DEPS stringpiece glog gflags) cc_test(stringprintf_test SRCS printf_test.cc DEPS glog gflags) cc_test(to_string_test SRCS to_string_test.cc) - -set(lib_dir "${CMAKE_INSTALL_PREFIX}/paddle/string") -add_custom_target(string_lib - COMMAND mkdir -p "${lib_dir}/tinyformat" - COMMAND cp "${CMAKE_CURRENT_SOURCE_DIR}/*.h" "${lib_dir}" - COMMAND cp "${CMAKE_CURRENT_SOURCE_DIR}/tinyformat/*.h" "${lib_dir}/tinyformat" -)