CMake将非编译文件导入构建目录

时间:2013-04-01 11:41:42

标签: build copy cmake

我像那样使用CMake:

$ mkdir build && cd build
$ cmake .. && make && atf-run | atf-report

但是要运行atf我需要一些文件(例如/ Atffile和test / Atffile),所以我正在寻找一种方法在我的构建目录中导入所有那种文件。

我试过了:

file(COPY ${PROJECT_SOURCE_DIR}/.. DESTINATION ${PROJECT_SOURCE_DIR}/..)

但它不起作用。他们是一个简单/清洁的方式吗?

2 个答案:

答案 0 :(得分:28)

假设“/ Atffile”和“/ test / Atffile”是文件而不是文件夹,您可以使用configure_file

configure_file(Atffile Atffile COPYONLY)
configure_file(test/Atffile test/Atffile COPYONLY)

由于此处的命令始终使用相对路径,因此输入arg相对于当前源目录,输出arg相对于当前二进制(即构建)目录。

答案 1 :(得分:2)

我使用以下内容将完整目录复制到构建目录

file(COPY "datasets" DESTINATION "${CMAKE_BINARY_DIR}")