Skip to content

Commit de60e77

Browse files
committed
HACK: Allow resolution of current project's path at build time
1 parent e242db8 commit de60e77

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

cmake/xacro-extras.cmake

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,16 @@ ${_xacro_err}")
7777

7878
separate_arguments(_xacro_deps_result)
7979

80+
## HACK: ament package resolution doesn't work at build time yet
81+
# - Augment AMENT_PREFIX_PATH to include ${PROJECT_BINARY_DIR}/ament_cmake_index
82+
# - Create a symlink from there to the actual source directory to find source files
83+
set(PROJECT_BUILD_INDEX "${PROJECT_BINARY_DIR}/ament_cmake_index")
84+
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${PROJECT_BUILD_INDEX}/share")
85+
execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink "${PROJECT_SOURCE_DIR}" "${PROJECT_BUILD_INDEX}/share/${PROJECT_NAME}")
86+
8087
## command to actually call xacro
8188
add_custom_command(OUTPUT ${output}
82-
COMMAND xacro -o ${abs_output} ${input} ${_XACRO_REMAP}
89+
COMMAND ${CMAKE_COMMAND} -E env AMENT_PREFIX_PATH="${PROJECT_BUILD_INDEX}:${AMENT_PREFIX_PATH}" xacro -o ${abs_output} ${input} ${_XACRO_REMAP}
8390
DEPENDS ${input} ${_xacro_deps_result} ${_XACRO_DEPENDS}
8491
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
8592
COMMENT "xacro: generating ${output} from ${input}"

0 commit comments

Comments
 (0)