[CMake] custom_command
Javier Gonzalez
javierggt at yahoo.com
Wed Oct 3 22:55:58 EDT 2007
Hi all,
I'm having trouble creating files using ADD_CUSTOM_COMMAND. Take a look
at this
CMakeLists.txt:
ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/Dir_2/file
COMMAND mkdir -p
${CMAKE_CURRENT_BINARY_DIR}/Dir_2
COMMAND cp
${CMAKE_CURRENT_SOURCE_DIR}/Dir_2/file.in
${CMAKE_CURRENT_BINARY_DIR}/Dir_2/file
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/Dir_2/file.in)
ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/Dir_1/file
COMMAND mkdir -p
${CMAKE_CURRENT_BINARY_DIR}/Dir_1
COMMAND cp
${CMAKE_CURRENT_SOURCE_DIR}/Dir_1/file.in
${CMAKE_CURRENT_BINARY_DIR}/Dir_1/file
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/Dir_1/file.in)
ADD_EXECUTABLE( my_exe my_source.cc
Dir_1/file
${CMAKE_CURRENT_BINARY_DIR}/Dir_2/file
)
If I build in the source directory it works (that meaning that the files
are created). When I do it in another directory, only the second one is
created but the build succeeds. The file my_source.cc is a dummy file
with just an empty main().
I expected that it would fail, since neither
${CMAKE_CURRENT_BINARY_DIR}/Dir_1/file nor
${CMAKE_CURRENT_SOURCE_DIR}/Dir_1/file exist and is not created but
there are no complains!
If I add a dummy target for each file and then add the dependencies,
then it works but I thought that was not the idea.
What am I missing?
thanks,
Javier
More information about the CMake
mailing list