Skip to content

Commit 555a855

Browse files
committed
Clean up published include dirs
1 parent 4797b34 commit 555a855

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

sygnal_dbc/CMakeLists.txt

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,9 @@ foreach(DBC_FILE IN LISTS DBC_FILES)
4242
# cantools generates lowercase file basenames; mirror that here
4343
string(TOLOWER "${DBC_BASENAME_WE}" MOD_NAME)
4444

45-
set(OUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated/${REL_DIR}")
45+
# Generate directly into the build include tree so dependents
46+
# can include headers during the same colcon invocation.
47+
set(OUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/include/${PROJECT_NAME}/${REL_DIR}")
4648
set(OUT_C "${OUT_DIR}/${MOD_NAME}.c")
4749
set(OUT_H "${OUT_DIR}/${MOD_NAME}.h")
4850

@@ -62,8 +64,8 @@ endforeach()
6264
add_library(${PROJECT_NAME} STATIC ${GENERATED_C_SOURCES})
6365
target_include_directories(${PROJECT_NAME}
6466
PUBLIC
65-
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/generated>
66-
$<INSTALL_INTERFACE:include/${PROJECT_NAME}>
67+
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
68+
$<INSTALL_INTERFACE:include>
6769
)
6870

6971
# Ensure generation runs as part of normal build (sources already bind it)
@@ -72,7 +74,7 @@ add_custom_target(generate_can_sources ALL
7274

7375
# Install generated headers so dependents can include them
7476
install(
75-
DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/generated/
77+
DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/${PROJECT_NAME}/
7678
DESTINATION include/${PROJECT_NAME}
7779
FILES_MATCHING PATTERN "*.h"
7880
)
@@ -89,12 +91,12 @@ install(
8991
set(_extras_file "${CMAKE_CURRENT_SOURCE_DIR}/cmake/${PROJECT_NAME}-extras.cmake")
9092
if(EXISTS ${_extras_file})
9193
ament_export_targets(export_${PROJECT_NAME} HAS_LIBRARY_TARGET)
92-
ament_export_include_directories("include/${PROJECT_NAME}")
94+
ament_export_include_directories("include")
9395
ament_export_libraries(${PROJECT_NAME})
9496
ament_package(CONFIG_EXTRAS "cmake/${PROJECT_NAME}-extras.cmake")
9597
else()
9698
ament_export_targets(export_${PROJECT_NAME} HAS_LIBRARY_TARGET)
97-
ament_export_include_directories("include/${PROJECT_NAME}")
99+
ament_export_include_directories("include")
98100
ament_export_libraries(${PROJECT_NAME})
99101
ament_package()
100102
endif()

0 commit comments

Comments
 (0)