Skip to content

Commit

Permalink
Fix descriptor generation for Windows
Browse files Browse the repository at this point in the history
Signed-off-by: Michael Carroll <[email protected]>
  • Loading branch information
mjcarroll committed Aug 22, 2023
1 parent aeafe56 commit 74de63c
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 26 deletions.
8 changes: 3 additions & 5 deletions cmake/gz_msgs_generate.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down Expand Up @@ -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}
Expand All @@ -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"
)

Expand Down Expand Up @@ -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 ${target_name}.gz_desc DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/gz/protos/)

if (NOT GZ_PYTHON_INSTALL_PATH)
find_package(Python3 REQUIRED COMPONENTS Interpreter)
Expand Down
42 changes: 21 additions & 21 deletions core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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 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)
Expand Down Expand Up @@ -97,27 +118,6 @@ target_link_libraries(${PROJECT_LIBRARY_TARGET_NAME}
)
target_include_directories(${PROJECT_LIBRARY_TARGET_NAME}
SYSTEM PUBLIC $<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>)
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
Expand Down

0 comments on commit 74de63c

Please sign in to comment.