diff --git a/cmake/gz_msgs_generate.cmake b/cmake/gz_msgs_generate.cmake index efd430a2..9e3e7eff 100644 --- a/cmake/gz_msgs_generate.cmake +++ b/cmake/gz_msgs_generate.cmake @@ -153,7 +153,6 @@ function(gz_msgs_generate_desc_impl) COMMAND protobuf::protoc ARGS ${ARGS} DEPENDS ${generate_messages_INPUT_PROTOS} - WORKING_DIRECTORY ${generate_messages_OUTPUT_DIRECTORY} COMMENT "Generating descriptor set" ) endfunction() @@ -197,8 +196,8 @@ function(gz_msgs_generate_messages_lib) gz_msgs_generate_messages_impl( PROTO_PACKAGE ${generate_messages_PROTO_PACKAGE} - MSGS_GEN_SCRIPT ${generate_message_MSGS_GEN_SCRIPT} - GZ_PROTOC_PLUGIN ${generate_message_GZ_PROTOC_PLUGIN} + MSGS_GEN_SCRIPT ${generate_messages_MSGS_GEN_SCRIPT} + GZ_PROTOC_PLUGIN ${generate_messages_GZ_PROTOC_PLUGIN} FACTORY_GEN_SCRIPT ${generate_messages_FACTORY_GEN_SCRIPT} PROTO_PATH ${generate_messages_PROTO_PATH} DEPENDENCY_DESCRIPTIONS ${depends_msgs_desc} @@ -214,7 +213,6 @@ function(gz_msgs_generate_messages_lib) INPUT_PROTOS ${generate_messages_INPUT_PROTOS} PROTO_PATH ${generate_messages_PROTO_PATH} DEPENDENCY_DESCRIPTIONS ${depends_msgs_desc} - OUTPUT_DIRECTORY ${output_directory} OUTPUT_FILENAME "${target_name}.gz_desc" ) @@ -248,7 +246,7 @@ function(gz_msgs_generate_messages_lib) install(FILES ${generated_headers} DESTINATION ${GZ_INCLUDE_INSTALL_DIR_FULL}/${proto_package_dir}) install(FILES ${generated_detail_headers} DESTINATION ${GZ_INCLUDE_INSTALL_DIR_FULL}/${proto_package_dir}/details) - install(FILES ${output_directory}/${target_name}.gz_desc DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/gz/protos/) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${target_name}.gz_desc DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/gz/protos/) if (NOT GZ_PYTHON_INSTALL_PATH) find_package(Python3 REQUIRED COMPONENTS Interpreter) diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt index cfddcc8d..3227d900 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -59,6 +59,27 @@ gz_msgs_generate_desc_impl( OUTPUT_FILENAME gz-msgs${PROJECT_VERSION_MAJOR}.gz_desc ) +install(FILES ${msgs_headers} DESTINATION ${GZ_INCLUDE_INSTALL_DIR_FULL}/gz/msgs) +install(FILES ${msgs_detail_headers} DESTINATION ${GZ_INCLUDE_INSTALL_DIR_FULL}/gz/msgs/details) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/gz-msgs${PROJECT_VERSION_MAJOR}.gz_desc + DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/gz/protos/) + +if (NOT GZ_PYTHON_INSTALL_PATH) + find_package(Python3 REQUIRED COMPONENTS Interpreter) + if(USE_SYSTEM_PATHS_FOR_PYTHON_INSTALLATION) + if(USE_DIST_PACKAGES_FOR_PYTHON) + string(REPLACE "site-packages" "dist-packages" GZ_PYTHON_INSTALL_PATH ${Python3_SITELIB}) + else() + # Python3_SITELIB might use dist-packages in some platforms + string(REPLACE "dist-packages" "site-packages" GZ_PYTHON_INSTALL_PATH ${Python3_SITELIB}) + endif() + else() + # If not a system installation, respect local paths + set(GZ_PYTHON_INSTALL_PATH ${GZ_LIB_INSTALL_DIR}/python) + endif() +endif() +install(FILES ${msgs_python} DESTINATION ${GZ_PYTHON_INSTALL_PATH}/gz/msgs${PROJECT_VERSION_MAJOR}) + ################################################## # Build core library gz_get_libsources_and_unittests(sources gtest_sources) @@ -97,27 +118,6 @@ target_link_libraries(${PROJECT_LIBRARY_TARGET_NAME} ) target_include_directories(${PROJECT_LIBRARY_TARGET_NAME} SYSTEM PUBLIC $) -install(FILES ${msgs_headers} DESTINATION ${GZ_INCLUDE_INSTALL_DIR_FULL}/gz/msgs) -install(FILES ${msgs_detail_headers} DESTINATION ${GZ_INCLUDE_INSTALL_DIR_FULL}/gz/msgs/details) - -install(FILES ${PROJECT_BINARY_DIR}/gz_msgs_gen/gz-msgs${PROJECT_VERSION_MAJOR}.gz_desc - DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/gz/protos/) - -if (NOT GZ_PYTHON_INSTALL_PATH) - find_package(Python3 REQUIRED COMPONENTS Interpreter) - if(USE_SYSTEM_PATHS_FOR_PYTHON_INSTALLATION) - if(USE_DIST_PACKAGES_FOR_PYTHON) - string(REPLACE "site-packages" "dist-packages" GZ_PYTHON_INSTALL_PATH ${Python3_SITELIB}) - else() - # Python3_SITELIB might use dist-packages in some platforms - string(REPLACE "dist-packages" "site-packages" GZ_PYTHON_INSTALL_PATH ${Python3_SITELIB}) - endif() - else() - # If not a system installation, respect local paths - set(GZ_PYTHON_INSTALL_PATH ${GZ_LIB_INSTALL_DIR}/python) - endif() -endif() -install(FILES ${msgs_python} DESTINATION ${GZ_PYTHON_INSTALL_PATH}/gz/msgs${PROJECT_VERSION_MAJOR}) ################################################## # Build unit tests