A Dilluns 16 Febrer 2009, Michael Jackson va escriure: > Not sure, it should work. > > Try changing POST_BUILD to PRE_BUILD and see what happens. > > also try printing the variable ${${inputPo}} > > message(STATUS "${inputPo}: ${${inputPo}}") > message(STATUS "inputPo: ${inputPo}")
Well, first of all thanks for all. After looking and testing a lot i have found a functional solution. See above: Conceptually the main problem have been that I cannot have several custom target with the same name in the same directory. So, I was doing a bad implementation of your solution. The solution that I have found have been create a custom target for every file that I would like to copy and add them to the target as dependency. So, by now it's working. Best regards, Leo -----------------------------------------------------------------8< macro (GETTEXT_UPDATE_LANG_PO dirOUTpo inputPo) #message (STATUS "Calling the macro to copy files to ${dirOUTpo}\n") foreach ( _file ${${inputPo}} ) get_filename_component(_fdest ${_file} NAME) get_filename_component(target ${_file} NAME_WE) set(dest ${dirOUTpo}/${_fdest}) #message (STATUS "Copying ${_file} to ${dest} \n") add_custom_target(${target} ${CMAKE_COMMAND} -E copy_if_different ${_file} ${dest}) add_dependencies(update_lang_po ${target}) endforeach(_file ${${inputPo}}) endmacro (GETTEXT_UPDATE_LANG_PO dirOUTpo inputPo) > > On Feb 15, 2009, at 3:48 PM, Leopold Palomo Avellaneda wrote: > > A Diumenge 15 Febrer 2009, Michael Jackson va escriure: > >> Here is a code snippet from a project that I use that copies some > >> files to the build directory. > > > > Thanks, > > > > but my modified version doesn't work and I don't know what's > > happen .... > > > > > > macro (GETTEXT_UPDATE_LANG_PO dirOUTpo inputPo ) > > > > #message (STATUS "Calling the macro to copy files to ${dirOUTpo}\n") > > foreach ( _file ${${inputPo}} ) > > get_filename_component(_fdest ${_file} NAME) > > set(dest ${dirOUTpo}/${_fdest}) > > message (STATUS "Copying ${_file} to ${dest} \n") > > add_custom_command ( > > TARGET update_lang_po > > POST_BUILD > > COMMAND ${CMAKE_COMMAND} > > ARGS -E copy_if_different > > ${_file} ${dest}) > > #copy_if_different > > endforeach(_file ${${inputPo}}) > > endmacro (GETTEXT_UPDATE_LANG_PO dirOUTpo inputPo) > > > > I call this macro with a inputPo, a list of files and dirOUTpo a var > > with a > > value. > > > > The message status shows the correct values, but no copy is done. > > Any idea? > > > > I simple execute make update_lang_po, but nothing is copied ... > > > > Thanks in advance, > > > > Leo > > > >> #-- Copy all the HDF5 files from the test directory into the build > >> directory > >> SET (HDF5_REFERENCE_TEST_FILES > >> tnullspace.h5 > >> family_v1.7_00003.h5 > >> family_v1.7_00001.h5 > >> mergemsg.h5 > >> tbogus.h5 > >> tbad_msg_count.h5 > >> group_new.h5 > >> deflate.h5 > >> noencoder.h5 > >> family_v1.7_00000.h5 > >> le_extlink1.h5 > >> tmtimeo.h5 > >> tmtimen.h5 > >> fill_old.h5 > >> tlayouto.h5 > >> family_v1.7_00002.h5 > >> th5s.h5 > >> tarrold.h5 > >> ) > >> > >> FOREACH ( h5_file ${HDF5_REFERENCE_TEST_FILES} ) > >> SET (dest "${PROJECT_BINARY_DIR}/${h5_file}") > >> MESSAGE(STATUS " Copying ${dest}") > >> ADD_CUSTOM_COMMAND ( > >> TARGET ${HDF5_TEST_LIB_NAME} > >> POST_BUILD > >> COMMAND ${CMAKE_COMMAND} > >> ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/$ > >> {h5_file} ${dest} > >> ) > >> > >> ENDFOREACH ( h5_file ${HDF5_REFERENCE_TEST_FILES} ) > >> > >> _________________________________________________________ > >> Mike Jackson mike.jack...@bluequartz.net > >> BlueQuartz Software www.bluequartz.net > >> Principal Software Engineer Dayton, Ohio > >> > >> On Feb 15, 2009, at 9:28 AM, Leopold Palomo Avellaneda wrote: > >>> Hi, > >>> > >>> I would like to create a custom target that copy "several" files > >>> (one, two or > >>> n files, but at least one) to a directory. I know how to do it with > >>> one file: > >>> > >>> add_custom_target(my_copy_target > >>> ${CMAKE_COMMAND} -E copy ${_inputfile} ${dirOUT}/) > >>> > >>> but, I really don't know how to do it with a list of files. > >>> > >>> Someone could help me? > >>> > >>> Regards, > >>> > >>> Leo > >>> > >>> > >>> _______________________________________________ > >>> 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 _______________________________________________ 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