Build CMake将未编译的文件导入生成目录

Build CMake将未编译的文件导入生成目录,build,copy,cmake,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_D

我使用的CMake如下所示:

$ mkdir build && cd build
$ cmake .. && make && atf-run | atf-report
但要运行atf,我需要一些文件(例如/Atffile和test/Atffile),因此我正在寻找一种方法,将所有此类文件导入到构建目录中

我试过这个:

file(COPY ${PROJECT_SOURCE_DIR}/.. DESTINATION ${PROJECT_SOURCE_DIR}/..)
但它不起作用。它们是一种简单/干净的方法吗?

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


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

我使用以下命令将完整目录复制到build目录中

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

这可能会导致不必要的cmake重新运行。第一个参数是输入,第二个是输出。我还成功地使用了
文件(复制“数据集”目标)。
file(COPY "datasets" DESTINATION "${CMAKE_BINARY_DIR}")