Skip to content

Commit 321105d

Browse files
committed
Directly generate scripts into install location
This avoids the problem of empty install folders as setup.py generates the target folder only if needed. Signed-off-by: Robert Haschke <[email protected]>
1 parent a786aa2 commit 321105d

File tree

1 file changed

+4
-19
lines changed

1 file changed

+4
-19
lines changed

ament_cmake_python/cmake/ament_python_install_package.cmake

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -160,25 +160,10 @@ setup(
160160
DESTINATION "${ARG_DESTINATION}/${egg_install_name}.egg-info"
161161
)
162162

163-
# generate entry-point console scripts
164-
set(_scripts_dir "${build_dir}/scripts")
165-
add_custom_target(
166-
ament_cmake_python_build_${package_name}_scripts ALL
167-
# cleanup any scripts from a previous run
168-
COMMAND ${CMAKE_COMMAND} -E remove_directory "${_scripts_dir}"
169-
# (re)create scripts build directory
170-
COMMAND ${CMAKE_COMMAND} -E make_directory "${_scripts_dir}"
171-
# generate scripts
172-
COMMAND ${python_interpreter} setup.py install_scripts -d scripts
173-
WORKING_DIRECTORY "${build_dir}"
174-
DEPENDS ${egg_dependencies}
175-
COMMENT "Generating python console scripts"
176-
)
177-
install(
178-
DIRECTORY "${build_dir}/scripts/"
179-
DESTINATION "${ARG_SCRIPTS_DESTINATION}/"
180-
USE_SOURCE_PERMISSIONS
181-
)
163+
# generate/install entry-point console scripts
164+
get_filename_component(ABS_SCRIPTS_DESTINATION "${ARG_SCRIPTS_DESTINATION}" ABSOLUTE BASE_DIR "${CMAKE_INSTALL_PREFIX}")
165+
install(CODE "execute_process(COMMAND ${python_interpreter} setup.py install_scripts --install-dir \"${ABS_SCRIPTS_DESTINATION}\"
166+
WORKING_DIRECTORY \"${build_dir}\")")
182167

183168
install(
184169
DIRECTORY "${ARG_PACKAGE_DIR}/"

0 commit comments

Comments
 (0)