|
|
@ -28,42 +28,38 @@ add_style_check_target(paddle_capi ${CAPI_SOURCES} ${CAPI_HEADER}
|
|
|
|
|
|
|
|
|
|
|
|
add_dependencies(paddle_capi paddle_proto)
|
|
|
|
add_dependencies(paddle_capi paddle_proto)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# combine all paddle static libraries together, into libpaddle_capi_whole.a
|
|
|
|
# combine all paddle static libraries together, into libpaddle_capi_whole.a
|
|
|
|
# user should use PaddleCAPI as -lpaddle_capi_whole
|
|
|
|
# user should use PaddleCAPI as -lpaddle_capi_whole
|
|
|
|
set(capi_whole_library libpaddle_capi_whole.a)
|
|
|
|
set(PADDLE_CAPI_INFER_LIBS
|
|
|
|
add_custom_target(paddle_capi_whole ALL
|
|
|
|
paddle_utils
|
|
|
|
COMMAND mkdir -p o_files/capi && cd o_files/capi/ && ar -x $<TARGET_FILE:paddle_capi>
|
|
|
|
paddle_parameter
|
|
|
|
COMMAND mkdir -p o_files/utils && cd o_files/utils/ && ar -x $<TARGET_FILE:paddle_utils>
|
|
|
|
paddle_math
|
|
|
|
COMMAND mkdir -p o_files/parameter && cd o_files/parameter/ && ar -x $<TARGET_FILE:paddle_parameter>
|
|
|
|
paddle_cuda
|
|
|
|
COMMAND mkdir -p o_files/math && cd o_files/math/ && ar -x $<TARGET_FILE:paddle_math>
|
|
|
|
paddle_function
|
|
|
|
COMMAND mkdir -p o_files/cuda && cd o_files/cuda/ && ar -x $<TARGET_FILE:paddle_cuda>
|
|
|
|
paddle_gserver
|
|
|
|
COMMAND mkdir -p o_files/function && cd o_files/function/ && ar -x $<TARGET_FILE:paddle_function>
|
|
|
|
paddle_proto
|
|
|
|
COMMAND mkdir -p o_files/gserver && cd o_files/gserver/ && ar -x $<TARGET_FILE:paddle_gserver>
|
|
|
|
paddle_pserver
|
|
|
|
COMMAND mkdir -p o_files/proto && cd o_files/proto/ && ar -x $<TARGET_FILE:paddle_proto>
|
|
|
|
paddle_network)
|
|
|
|
COMMAND mkdir -p o_files/network && cd o_files/network/ && ar -x $<TARGET_FILE:paddle_network>
|
|
|
|
|
|
|
|
COMMAND mkdir -p o_files/pserver && cd o_files/pserver/ && ar -x $<TARGET_FILE:paddle_pserver>
|
|
|
|
cc_library(paddle_capi_whole DEPS paddle_capi ${PADDLE_CAPI_INFER_LIBS})
|
|
|
|
COMMAND ar crs ${capi_whole_library} `find ./o_files -name '*.o'`
|
|
|
|
|
|
|
|
COMMAND rm -rf o_files
|
|
|
|
|
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
|
|
|
|
DEPENDS paddle_capi paddle_utils paddle_parameter paddle_math
|
|
|
|
|
|
|
|
paddle_cuda paddle_function paddle_gserver
|
|
|
|
|
|
|
|
paddle_proto paddle_pserver paddle_network
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
set_target_properties(paddle_capi_whole
|
|
|
|
|
|
|
|
PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/${capi_whole_library})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
set(LINK_FLAGS " -Wl,--retain-symbols-file ${CMAKE_CURRENT_SOURCE_DIR}/export.sym -Wl,--version-script ${CMAKE_CURRENT_SOURCE_DIR}/export.map")
|
|
|
|
# No shared library for iOS
|
|
|
|
# TODO: merge mkl into paddle_capi_shared
|
|
|
|
if(NOT IOS)
|
|
|
|
add_library(paddle_capi_shared SHARED ${CAPI_SOURCES})
|
|
|
|
set(LINK_FLAGS " -Wl,--retain-symbols-file ${CMAKE_CURRENT_SOURCE_DIR}/export.sym -Wl,--version-script ${CMAKE_CURRENT_SOURCE_DIR}/export.map")
|
|
|
|
set_target_properties(paddle_capi_shared PROPERTIES LINK_FLAGS "${LINK_FLAGS}")
|
|
|
|
# TODO: merge mkl into paddle_capi_shared
|
|
|
|
target_include_directories(paddle_capi_shared PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
add_library(paddle_capi_shared SHARED ${CAPI_SOURCES})
|
|
|
|
link_paddle_exe(paddle_capi_shared)
|
|
|
|
set_target_properties(paddle_capi_shared PROPERTIES LINK_FLAGS "${LINK_FLAGS}")
|
|
|
|
|
|
|
|
target_include_directories(paddle_capi_shared PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
|
|
|
|
link_paddle_exe(paddle_capi_shared)
|
|
|
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
|
|
# install library & headers.
|
|
|
|
# install library & headers.
|
|
|
|
install(FILES ${CAPI_HEADERS} DESTINATION include/paddle)
|
|
|
|
install(FILES ${CAPI_HEADERS} DESTINATION include/paddle)
|
|
|
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h DESTINATION include/paddle)
|
|
|
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h DESTINATION include/paddle)
|
|
|
|
if(ANDROID)
|
|
|
|
if(ANDROID)
|
|
|
|
|
|
|
|
install(TARGETS paddle_capi_whole paddle_capi_shared
|
|
|
|
|
|
|
|
ARCHIVE DESTINATION lib/${ANDROID_ABI}
|
|
|
|
|
|
|
|
LIBRARY DESTINATION lib/${ANDROID_ABI})
|
|
|
|
execute_process(
|
|
|
|
execute_process(
|
|
|
|
COMMAND ${GIT_EXECUTABLE} log --pretty=oneline -1
|
|
|
|
COMMAND ${GIT_EXECUTABLE} log --pretty=oneline -1
|
|
|
|
OUTPUT_VARIABLE GIT_COMMITS_LIST
|
|
|
|
OUTPUT_VARIABLE GIT_COMMITS_LIST
|
|
|
@ -72,9 +68,6 @@ if(ANDROID)
|
|
|
|
if(${GIT_COMMITS_LIST_RESULT})
|
|
|
|
if(${GIT_COMMITS_LIST_RESULT})
|
|
|
|
set(GIT_COMMITS_LIST "No commits.")
|
|
|
|
set(GIT_COMMITS_LIST "No commits.")
|
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${capi_whole_library}
|
|
|
|
|
|
|
|
DESTINATION lib/${ANDROID_ABI})
|
|
|
|
|
|
|
|
install(TARGETS paddle_capi_shared DESTINATION lib/${ANDROID_ABI})
|
|
|
|
|
|
|
|
install(CODE "FILE(WRITE ${CMAKE_INSTALL_PREFIX}/lib/${ANDROID_ABI}/BUILD.txt
|
|
|
|
install(CODE "FILE(WRITE ${CMAKE_INSTALL_PREFIX}/lib/${ANDROID_ABI}/BUILD.txt
|
|
|
|
\"Compiler:\n\"
|
|
|
|
\"Compiler:\n\"
|
|
|
|
\"\\t${CMAKE_C_COMPILER}\\n\"
|
|
|
|
\"\\t${CMAKE_C_COMPILER}\\n\"
|
|
|
@ -88,8 +81,11 @@ if(ANDROID)
|
|
|
|
)"
|
|
|
|
)"
|
|
|
|
)
|
|
|
|
)
|
|
|
|
else(ANDROID)
|
|
|
|
else(ANDROID)
|
|
|
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${capi_whole_library} DESTINATION lib)
|
|
|
|
install(TARGETS paddle_capi_whole
|
|
|
|
install(TARGETS paddle_capi_shared DESTINATION lib)
|
|
|
|
ARCHIVE DESTINATION lib)
|
|
|
|
|
|
|
|
if(NOT IOS)
|
|
|
|
|
|
|
|
install(TARGETS paddle_capi_shared DESTINATION lib)
|
|
|
|
|
|
|
|
endif()
|
|
|
|
endif(ANDROID)
|
|
|
|
endif(ANDROID)
|
|
|
|
|
|
|
|
|
|
|
|
# this variable used for unittest
|
|
|
|
# this variable used for unittest
|
|
|
|