change export order for static linking (#446)

This commit is contained in:
Dirk Thomas 2018-03-22 16:26:42 -07:00 committed by GitHub
parent 947e3f7e67
commit 5f1fc660ea
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 15 deletions

View file

@ -95,11 +95,12 @@ include_directories("${CMAKE_CURRENT_BINARY_DIR}/include")
add_library(${PROJECT_NAME} add_library(${PROJECT_NAME}
${${PROJECT_NAME}_SRCS}) ${${PROJECT_NAME}_SRCS})
# specific order: dependents before dependencies
ament_target_dependencies(${PROJECT_NAME} ament_target_dependencies(${PROJECT_NAME}
"builtin_interfaces"
"rcl" "rcl"
"rosidl_generator_cpp" "builtin_interfaces"
"rosidl_typesupport_cpp") "rosidl_typesupport_cpp"
"rosidl_generator_cpp")
# Causes the visibility macros to use dllexport rather than dllimport, # Causes the visibility macros to use dllexport rather than dllimport,
# which is appropriate when building the dll but not consuming it. # which is appropriate when building the dll but not consuming it.
@ -113,17 +114,17 @@ install(
RUNTIME DESTINATION bin RUNTIME DESTINATION bin
) )
ament_export_dependencies(ament_cmake) # specific order: dependents before dependencies
ament_export_dependencies(builtin_interfaces)
ament_export_dependencies(rcl)
ament_export_dependencies(rosidl_generator_cpp)
ament_export_dependencies(rosidl_typesupport_c)
ament_export_dependencies(rosidl_typesupport_cpp)
ament_export_include_directories(include) ament_export_include_directories(include)
ament_export_libraries(${PROJECT_NAME}) ament_export_libraries(${PROJECT_NAME})
ament_export_dependencies(ament_cmake)
ament_export_dependencies(rcl)
ament_export_dependencies(builtin_interfaces)
ament_export_dependencies(rosidl_typesupport_cpp)
ament_export_dependencies(rosidl_typesupport_c)
ament_export_dependencies(rosidl_generator_cpp)
if(BUILD_TESTING) if(BUILD_TESTING)
find_package(ament_cmake_gtest REQUIRED) find_package(ament_cmake_gtest REQUIRED)
find_package(ament_lint_auto REQUIRED) find_package(ament_lint_auto REQUIRED)

View file

@ -25,10 +25,11 @@ add_library(rclcpp_lifecycle
src/state.cpp src/state.cpp
src/transition.cpp src/transition.cpp
) )
# specific order: dependents before dependencies
ament_target_dependencies(rclcpp_lifecycle ament_target_dependencies(rclcpp_lifecycle
"lifecycle_msgs" "rclcpp"
"rcl_lifecycle" "rcl_lifecycle"
"rclcpp") "lifecycle_msgs")
# Causes the visibility macros to use dllexport rather than dllimport, # Causes the visibility macros to use dllexport rather than dllimport,
# which is appropriate when building the dll but not consuming it. # which is appropriate when building the dll but not consuming it.
@ -100,11 +101,12 @@ if(BUILD_TESTING)
endif() endif()
endif() endif()
# specific order: dependents before dependencies
ament_export_include_directories(include)
ament_export_libraries(${PROJECT_NAME})
ament_export_dependencies(rclcpp) ament_export_dependencies(rclcpp)
ament_export_dependencies(rcl_lifecycle) ament_export_dependencies(rcl_lifecycle)
ament_export_dependencies(lifecycle_msgs) ament_export_dependencies(lifecycle_msgs)
ament_export_include_directories(include)
ament_export_libraries(${PROJECT_NAME})
ament_package() ament_package()
install(DIRECTORY include/ install(DIRECTORY include/