[CMake] Copy a input file from src folder to EXECUTABLE_OUTPUT_PATH

Totte Karlsson totte at dunescientific.com
Mon Dec 12 10:29:34 EST 2011


>
> At build time:
>

> ADD_CUSTOM_COMMAND(TARGET OneOfYourExecutables
>      COMMAND ${CMAKE_COMMAND} -E copy_if_different
>          <path>/<to>/input.txt $<TARGET_FILE_DIR:OneOfYourExecutables>)
> ADD_CUSTOM_COMMAND(TARGET AnotherExecutable
>      COMMAND ${CMAKE_COMMAND} -E copy_if_different
>          <path>/<to>/input.txt $<TARGET_FILE_DIR:AnotherExecutable>)
>
> Personally, I'd prefer the latter as it's clean and quite flexible.

I decided to use
ADD_CUSTOM_COMMAND(
TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different
         "P:/mtkLib/Examples/${PROJECT_NAME}/ball.mtk" 
$<TARGET_FILE_DIR:${PROJECT_NAME}>
)

It works fine. But I have a few more questions:
1) How can I get rid of the absolute path in the expression for the source file?
2) when doing make clean, the file in the target file dir is not deleted. How to 
add it to 'clean'?

Thanks,
Totte



More information about the CMake mailing list