On 06/21/2010 10:34 PM, Rick Gould wrote: > I'm looking to install a directory as part of a custom target, but > exclude all the Subversion .svn directories. > > Both of the the following work, but run as part of the "make install" > target, which I don't want: > > install( DIRECTORY ${source_dir} > DESTINATION ${destination_dir} > PATTERN .svn EXCLUDE > )
Maybe, you can use INSTALL()'s COMPONENT feature in junction with a custom target invoking "cmake_install.cmake" for the installation: install( DIRECTORY ${source_dir} DESTINATION ${destination_dir} COMPONENT myinstall PATTERN .svn EXCLUDE ) add_custom_target(myinstall COMMAND ${CMAKE_COMMAND} -D COMPONENT=myinstall -P cmake_install.cmake ) So, after cmaking, "make myinstall" should do the job, but regrettably, it's also triggered by "install"; if you don't want that you have to abandon the general install target as a whole and provide custom install targets solely. > file( COPY ${source_dir} > DESTINATION ${destination_dir} > PATTERN .svn EXCLUDE > ) AFAIK, FILE(COPY ...) isn't run at installation time but during configuration, so you could possibly use it for your purpose: file(WRITE ${CMAKE_BINARY_DIR}/myinstall.cmake "file( COPY ${source_dir} DESTINATION ${destination_dir} PATTERN .svn EXCLUDE )") add_custom_target(myinstall COMMAND ${CMAKE_COMMAND} -P myinstall.cmake ) I.e., provide a CMake script with the desired FILE(COPY ...) command or even generate it at configuration time, and let it be triggered by a custom target via CMake's "-P" option; this would be my favourite since it isn't connected to the install target. 'hope that helps. Regards, Michael _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake