CMake将未编译文件导入到生成目录中

7lrncoxx  于 2022-11-11  发布在  其他
关注(0)|答案(2)|浏览(217)

我是这样使用CMake的:

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

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

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

但是这不起作用。他们是一个简单/更干净的方法吗?

ufj5ltwl

ufj5ltwl1#

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

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

因为这里的命令始终使用相对路径,所以输入arg相对于当前源目录,输出arg相对于当前二进制(即build)目录。
[1]:https://cmake.org/cmake/help/latest/command/configure_file.html““configure_file”命令的CMake文档”

jobtbby3

jobtbby32#

我使用以下代码将一个完整的目录复制到build目录中

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

相关问题