On Mon, Feb 20, 2012 at 7:58 AM, Andrea Crotti <[email protected]>wrote:
> On 02/20/2012 11:51 AM, Eric Noulard wrote: > >> 2012/2/20 Andrea >> Crotti<andrea.crotti.0@gmail.**com<[email protected]> >> >: >> >>> On 02/17/2012 03:35 PM, Andrea Crotti wrote: >>> .. >>> >>> I can make the question much simpler, is it possible to generate targets >>> dynamically with CMake? >>> >> As far as I know you can "generate" targets at CMake-time but not at >> build-time. >> So from my point of view this "computed target" but not really "dynamic >> target". >> if you want your target to trigger the command you may >> add the OUTPUT of the command as a dependency of the target. >> >> add_custom_target(${t} >> DEPENDS ${t_cmd} >> ) >> >> >> > Ah thanks now I got it, I thought that the name of the custom_command was > given > from the OUTPUT, for some strange reason. > > Doing this however: > > foreach (t ${target_list}) > set(t_cmd ${t}.out) > add_custom_command(OUTPUT ${t_cmd} > COMMAND "ls ${t}" > ) > endforeach () > > foreach (t ${target_list}) > message("analyzing target ${t}") > set(t_cmd ${t}.out) > add_custom_target(${t} > DEPENDS ${t_cmd} > ) > endforeach () > > is still problematic: > ~/psi_diet/test_cmake $ make uno > [100%] Generating uno.out > /bin/sh: ls uno: command not found > make[3]: *** [uno.out] Error 127 > > > > So I tried an even simpler example: > add_custom_command(OUTPUT simple > COMMAND "ls -l" > ) > > add_custom_target(simple > DEPENDS simple > ) > > > and everything works apparently, but it doesn't generate the "simple" > file.. > How do I generate an output file which is used as dependency of the > "simple" > target then? > > -- > > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/** > opensource/opensource.html<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<http://www.cmake.org/Wiki/CMake_FAQ> > > Follow this link to subscribe/unsubscribe: > http://www.cmake.org/mailman/**listinfo/cmake<http://www.cmake.org/mailman/listinfo/cmake> > Use: COMMAND ls -l Not: COMMAND "ls -l"
-- 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
