If I add this to CMakeLists.txt add_custom_target(distclean rm -r ${PROJECT_SOURCE_DIR}/bin COMMAND rm -r ${PROJECT_SOURCE_DIR}/build COMMAND rm -r ${PROJECT_SOURCE_DIR}/CMakeFiles COMMAND rm ${PROJECT_SOURCE_DIR}/CMakeCache.txt COMMAND rm ${PROJECT_SOURCE_DIR}/cmake_install.cmake COMMAND rm ${PROJECT_SOURCE_DIR}/Makefile COMMAND perl -e 'print qq|include \\x24\(shell rospack find mk \)/cmake.mk|' > ${PROJECT_SOURCE_DIR}/Makefile WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMENT "Preparing for distribution") This does not work... $ rosmake --target=distclean my_pkg [rosmake-1] >>> xmlrpcpp >>> [ make distclean ] [ rosmake ] All 1 lines {------------------------------------------------------------------------------- -------------------------------------------------------------------------------} [rosmake-1] <<< xmlrpcpp <<< [SKIP] No rule to make target distclean [ rosmake ] Halting due to failure in package xmlrpcpp. This does not work either... $ rosmake -r --target=distclean my_pkg [rosmake-1] >>> my_pkg >>> [ make distclean ] [ rosmake ] All 1 lines {------------------------------------------------------------------------------- -------------------------------------------------------------------------------} [rosmake-1] <<< my_pkg <<< [SKIP] No rule to make target distclean This seems to work $ cmake CMakeLists.txt && make distclean Is there a better way to do this? On Sun, 2010-05-30 at 23:39 -0400, Bill Morris wrote: > Is there anything that prepares a package for check-in to version > control? > > I would like a build target like $ rosmake --dist package_name that > removes > > bin/ > build/ > CMakeCache.txt > CMakeFiles > cmake_install.cmake > > and sets the contents of Makefile to > "include $(shell rospack find mk)/cmake.mk"