2011/4/21 David Cole <[email protected]> > On Thu, Apr 21, 2011 at 9:48 AM, Maxime Lecourt > <[email protected]>wrote: > >> Hi, >> >> I'm currently trying to use add_custom_command, but I do not get any >> output (it's working fine in other projects, with Bison and Flex). >> >> Basically, I have a CMakeLists.txt file with >> >> include(CMakeCallPerl.cmake) >> PERL_SCRIPT("${GLISS_PATH}/nmp2nml.pl" "ppc.nmp") >> >> >> And in my CMakeCallPerl.cmake file : >> >> find_program(PERL perl) >> IF(PERL) >> MACRO(PERL_SCRIPT SCRIPT FILENAME) >> GET_FILENAME_COMPONENT(PATH "${FILENAME}" PATH) >> GET_FILENAME_COMPONENT(PREFIX "${FILENAME}" NAME_WE) >> SET(OUTFILE "${PREFIX}.nml") >> MESSAGE(STATUS "${PERL} ${SCRIPT} ${FILENAME} ${OUTFILE}") >> ADD_CUSTOM_COMMAND( >> OUTPUT "${OUTFILE}" >> COMMAND "${PERL}" >> "${SCRIPT}" >> "${FILENAME}" >> "${OUTFILE}" >> ) >> SET_SOURCE_FILES_PROPERTIES("${OUTFILE}" PROPERTIES GENERATED TRUE) >> ENDMACRO(PERL_SCRIPT) >> ENDIF(PERL) >> >> What am I doing wrong ? >> >> Copy/Pasting the MESSAGE output in command line, everything works fine, >> but not when compiling after generating with CMake. >> (it looks like this : >> C:/Win16App/rational/TestRealTime/bin/intel/win32/perl.exe >> D:/workspace/ppc/../gliss/nmp2nml.pl ppc.nmp ppc.nml) >> There is also no mention for Perl in any CMake generated file. >> Using Windows XP and MinGW >> >> Regards, >> >> Maxime >> >> _______________________________________________ >> 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 >> > > > The output of the custom command needs to be used by something in order for > a build to trigger it... > > After calling your macro, you can depend on the output of it with a custom > target if there is no other dependency on it: > > add_custom_target(run_perl_scripts ALL > DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/file1.nml > ${CMAKE_CURRENT_BINARY_DIR}/file2.nml ... > ) > > Then a "make" will trigger running perl. > > You should also probably add: > DEPENDS ${FILENAME} ${SCRIPT} > to the custom command so that it re-runs if the input or the script > changes... > > > HTH, > David > > Hi,
that was indeed the problem, there was nothing using the target file. Thank you Maxime
_______________________________________________ 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
