2009/9/9 Bob Tanner <[email protected]>: > I must be missing something simple? > > During "make install" I only want to install a set of files if the do not > exist in destination. > > MACRO (COPY_IF_DOES_NOT_EXIST SOURCE DESTINATION) > ADD_CUSTOM_COMMAND ( > TARGET COPY > IF (NOT EXISTS ${DESTINATION}) > COMMAND ${CMAKE_COMMAND} -E copy ${SOURCE} > ${DESTINATION} > ENDIF (NOT EXISTS ${DESTINATION}) > ) > > ADD_CUSTOM_TARGET ( > COPY ALL > COMMENT "Copy file: ${SOURCE} ${DESTINATION}" > ) > > ENDMACRO (COPY_IF_DOES_NOT_EXIST SOURCE DESTINATION) > > Works the first time, but if I delete the destination file a make install > won't install it again.
With your current macro the file is "installed" at CMake run time and not during "make install". You may check that fact if you rerun cmake the file is copied again. You should look at the install(SCRIPT or install(CODE command in order to execute CMake script at "install time". -- Erk Membre de l'April - « promouvoir et défendre le logiciel libre » - http://www.april.org _______________________________________________ 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
