On 02/20/2012 11:51 AM, Eric Noulard wrote:
2012/2/20 Andrea Crotti<[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
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