I am trying to automate my build process with cmake. There is currently only one issue:
Where is, in cmake's philosophy (if there is one), the best place to put the copying of data files.
I have a library and a few examples. The examples need the data.
I currently do the following:
I use a custom command in each example's CMakeLists.txt to copy all the Data into the
CMAKE_CURRENT_BINARY_DIR
in a post-build step.
I use this in my debugging workflow, so no install target is executed yet.
This works quite well, but has certain drawbacks:
I want to copy those directories to the executable paths, so I don't need hints how to set the debug working directory
The perfect time to copy these directories would be at cmake configuration/generation time, at least I think so. Should I do this, and how would I do this?
As recently seen in this question, you can use configure_file to copy files to the build directory:
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/input.txt
${CMAKE_CURRENT_BINARY_DIR}/output.txt COPYONLY)
That does it once at build time and only when needed.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With