CMake how to install test files with unit tests

cmakeunit testing

I am using CMake to build my system and my unit tests.

I am also doing an out-of-source build.

I've found with the ADD_TEST() command, that you don't need to install the test executable (it will just be run when you run make install, which is great).

However, my unit tests depend on some input files, which need to be copied to where the executable is built.

As far as I am aware, I can't use INSTALL() to copy the files there, because I haven't specified where there is – it depends on where the build command is called.

Is there some way I can tell CMake to copy my test files to the same location that it builds the executable?

Best Answer

You may use configure_file with parameter COPYONLY. And perform copying to your build dir: ${CMAKE_CURRENT_BINARY_DIR}