diff --git a/core/configure/CMakeLists.txt b/core/configure/CMakeLists.txt index 8e2b62eb64549bbd2b60f6e744eca3245f884bac..32534fee141ee5b4b0b7b1eed580e1769deb5cff 100644 --- a/core/configure/CMakeLists.txt +++ b/core/configure/CMakeLists.txt @@ -1,120 +1,94 @@ if (SERVER OR CLIENT) -LIST(APPEND protofiles - ${CMAKE_CURRENT_LIST_DIR}/proto/server_configure.proto - ${CMAKE_CURRENT_LIST_DIR}/proto/sdk_configure.proto - ${CMAKE_CURRENT_LIST_DIR}/proto/inferencer_configure.proto - ${CMAKE_CURRENT_LIST_DIR}/proto/general_model_config.proto -) - -PROTOBUF_GENERATE_CPP(configure_proto_srcs configure_proto_hdrs ${protofiles}) -list(APPEND configure_srcs ${configure_proto_srcs}) - -list(APPEND configure_srcs ${CMAKE_CURRENT_LIST_DIR}/src/configure_parser.cpp) - -add_library(configure ${configure_srcs}) -add_dependencies(configure brpc) - -install(TARGETS configure - ARCHIVE DESTINATION ${PADDLE_SERVING_INSTALL_DIR}/lib - ) - -install(FILES ${CMAKE_CURRENT_LIST_DIR}/include/configure_parser.h - DESTINATION ${PADDLE_SERVING_INSTALL_DIR}/include/configure/include) - -FILE(GLOB inc ${CMAKE_CURRENT_BINARY_DIR}/*.pb.h) - -install(FILES ${inc} - DESTINATION ${PADDLE_SERVING_INSTALL_DIR}/include/configure) + LIST(APPEND protofiles + ${CMAKE_CURRENT_LIST_DIR}/proto/server_configure.proto + ${CMAKE_CURRENT_LIST_DIR}/proto/sdk_configure.proto + ${CMAKE_CURRENT_LIST_DIR}/proto/inferencer_configure.proto + ${CMAKE_CURRENT_LIST_DIR}/proto/general_model_config.proto + ) + + PROTOBUF_GENERATE_CPP(configure_proto_srcs configure_proto_hdrs ${protofiles}) + list(APPEND configure_srcs ${configure_proto_srcs}) + + list(APPEND configure_srcs ${CMAKE_CURRENT_LIST_DIR}/src/configure_parser.cpp) + + add_library(configure ${configure_srcs}) + add_dependencies(configure brpc) + + install(TARGETS configure + ARCHIVE DESTINATION ${PADDLE_SERVING_INSTALL_DIR}/lib + ) + + install(FILES ${CMAKE_CURRENT_LIST_DIR}/include/configure_parser.h + DESTINATION ${PADDLE_SERVING_INSTALL_DIR}/include/configure/include) + + FILE(GLOB inc ${CMAKE_CURRENT_BINARY_DIR}/*.pb.h) + + install(FILES ${inc} + DESTINATION ${PADDLE_SERVING_INSTALL_DIR}/include/configure) endif() if (WITH_PYTHON) -py_proto_compile(general_model_config_py_proto SRCS proto/general_model_config.proto) -add_custom_target(general_model_config_py_proto_init ALL COMMAND ${CMAKE_COMMAND} -E touch __init__.py) -add_dependencies(general_model_config_py_proto general_model_config_py_proto_init) - -py_grpc_proto_compile(multi_lang_general_model_service_py_proto SRCS proto/multi_lang_general_model_service.proto) -add_custom_target(multi_lang_general_model_service_py_proto_init ALL COMMAND ${CMAKE_COMMAND} -E touch __init__.py) -add_dependencies(multi_lang_general_model_service_py_proto multi_lang_general_model_service_py_proto_init) - -if (CLIENT) -py_proto_compile(sdk_configure_py_proto SRCS proto/sdk_configure.proto) -add_custom_target(sdk_configure_py_proto_init ALL COMMAND ${CMAKE_COMMAND} -E touch __init__.py) -add_dependencies(sdk_configure_py_proto sdk_configure_py_proto_init) -add_custom_command(TARGET sdk_configure_py_proto POST_BUILD - COMMAND ${CMAKE_COMMAND} -E make_directory ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_client/proto - COMMAND cp -f *.py ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_client/proto - COMMENT "Copy generated python proto into directory paddle_serving_client/proto." - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - -add_custom_command(TARGET general_model_config_py_proto POST_BUILD - COMMAND ${CMAKE_COMMAND} -E make_directory ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_client/proto - COMMAND cp -f *.py ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_client/proto - COMMENT "Copy generated general_model_config proto file into directory paddle_serving_client/proto." - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - -add_custom_command(TARGET multi_lang_general_model_service_py_proto POST_BUILD - COMMAND ${CMAKE_COMMAND} -E make_directory ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_client/proto - COMMAND cp -f *.py ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_client/proto - COMMENT "Copy generated multi_lang_general_model_service proto file into directory paddle_serving_client/proto." - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) -endif() - -if (APP) -add_custom_command(TARGET general_model_config_py_proto POST_BUILD - COMMAND ${CMAKE_COMMAND} -E make_directory ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_app/proto - COMMAND cp -f *.py ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_app/proto - COMMENT "Copy generated general_model_config proto file into directory paddle_serving_app/proto." - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) -endif() - -if (SERVER) -py_proto_compile(server_config_py_proto SRCS proto/server_configure.proto) -add_custom_target(server_config_py_proto_init ALL COMMAND ${CMAKE_COMMAND} -E touch __init__.py) -add_dependencies(server_config_py_proto server_config_py_proto_init) -if (NOT WITH_GPU AND NOT WITH_LITE) -add_custom_command(TARGET server_config_py_proto POST_BUILD - COMMAND ${CMAKE_COMMAND} -E make_directory ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_server/proto - COMMAND cp -f *.py ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_server/proto - COMMENT "Copy generated python proto into directory paddle_serving_server/proto." - WORKING_DIRECTORY ${CMAKE_CURRENT_BINRARY_DIR}) - -add_custom_command(TARGET general_model_config_py_proto POST_BUILD - COMMAND ${CMAKE_COMMAND} -E make_directory ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_server/proto - COMMAND cp -f *.py ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_server/proto - COMMENT "Copy generated general_model_config proto file into directory paddle_serving_server/proto." - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - -add_custom_command(TARGET multi_lang_general_model_service_py_proto POST_BUILD - COMMAND ${CMAKE_COMMAND} -E make_directory ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_server/proto - COMMAND cp -f *.py ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_server/proto - COMMENT "Copy generated multi_lang_general_model_service proto file into directory paddle_serving_server/proto." - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) -else() -add_custom_command(TARGET server_config_py_proto POST_BUILD - COMMAND ${CMAKE_COMMAND} -E make_directory - ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_server_gpu/proto - COMMAND cp -f *.py - ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_server_gpu/proto - COMMENT "Copy generated python proto into directory - paddle_serving_server_gpu/proto." - WORKING_DIRECTORY ${CMAKE_CURRENT_BINRARY_DIR}) - -add_custom_command(TARGET general_model_config_py_proto POST_BUILD - COMMAND ${CMAKE_COMMAND} -E make_directory - ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_server_gpu/proto - COMMAND cp -f *.py - ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_server_gpu/proto - COMMENT "Copy generated general_model_config proto file into directory - paddle_serving_server_gpu/proto." - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - -add_custom_command(TARGET multi_lang_general_model_service_py_proto POST_BUILD - COMMAND ${CMAKE_COMMAND} -E make_directory ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_server_gpu/proto - COMMAND cp -f *.py ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_server_gpu/proto - COMMENT "Copy generated multi_lang_general_model_service proto file into directory paddle_serving_server_gpu/proto." - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) -endif() -endif() + py_proto_compile(general_model_config_py_proto SRCS proto/general_model_config.proto) + add_custom_target(general_model_config_py_proto_init ALL COMMAND ${CMAKE_COMMAND} -E touch __init__.py) + add_dependencies(general_model_config_py_proto general_model_config_py_proto_init) + + py_grpc_proto_compile(multi_lang_general_model_service_py_proto SRCS proto/multi_lang_general_model_service.proto) + add_custom_target(multi_lang_general_model_service_py_proto_init ALL COMMAND ${CMAKE_COMMAND} -E touch __init__.py) + add_dependencies(multi_lang_general_model_service_py_proto multi_lang_general_model_service_py_proto_init) + + if (CLIENT) + py_proto_compile(sdk_configure_py_proto SRCS proto/sdk_configure.proto) + add_custom_target(sdk_configure_py_proto_init ALL COMMAND ${CMAKE_COMMAND} -E touch __init__.py) + add_dependencies(sdk_configure_py_proto sdk_configure_py_proto_init) + add_custom_command(TARGET sdk_configure_py_proto POST_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_client/proto + COMMAND cp -f *.py ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_client/proto + COMMENT "Copy generated python proto into directory paddle_serving_client/proto." + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + + add_custom_command(TARGET general_model_config_py_proto POST_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_client/proto + COMMAND cp -f *.py ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_client/proto + COMMENT "Copy generated general_model_config proto file into directory paddle_serving_client/proto." + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + + add_custom_command(TARGET multi_lang_general_model_service_py_proto POST_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_client/proto + COMMAND cp -f *.py ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_client/proto + COMMENT "Copy generated multi_lang_general_model_service proto file into directory paddle_serving_client/proto." + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + endif() + + if (APP) + add_custom_command(TARGET general_model_config_py_proto POST_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_app/proto + COMMAND cp -f *.py ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_app/proto + COMMENT "Copy generated general_model_config proto file into directory paddle_serving_app/proto." + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + endif() + + if (SERVER) + py_proto_compile(server_config_py_proto SRCS proto/server_configure.proto) + add_custom_target(server_config_py_proto_init ALL COMMAND ${CMAKE_COMMAND} -E touch __init__.py) + add_dependencies(server_config_py_proto server_config_py_proto_init) + add_custom_command(TARGET server_config_py_proto POST_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_server/proto + COMMAND cp -f *.py ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_server/proto + COMMENT "Copy generated python proto into directory paddle_serving_server/proto." + WORKING_DIRECTORY ${CMAKE_CURRENT_BINRARY_DIR}) + + add_custom_command(TARGET general_model_config_py_proto POST_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_server/proto + COMMAND cp -f *.py ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_server/proto + COMMENT "Copy generated general_model_config proto file into directory paddle_serving_server/proto." + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + + add_custom_command(TARGET multi_lang_general_model_service_py_proto POST_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_server/proto + COMMAND cp -f *.py ${PADDLE_SERVING_BINARY_DIR}/python/paddle_serving_server/proto + COMMENT "Copy generated multi_lang_general_model_service proto file into directory paddle_serving_server/proto." + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + endif() endif()