我正试图用cmake自动化我的构建过程。 目前只有一个问题:
在迈克的哲学中,哪里是最好的地方(如果有的话) 放置数据文件的复制。
我有一个图书馆和一些例子。这些例子需要数据。
我目前做以下工作:
我在每个示例的cmakelists.txt中使用自定义命令将所有数据复制到 CMAKE_CURRENT_BINARY_DIR 在生成后步骤中。 我在调试工作流中使用了这个,所以还没有执行安装目标。
CMAKE_CURRENT_BINARY_DIR
这很有效,但有一些缺点:
我想将这些目录复制到可执行路径,因此不需要提示如何设置调试工作目录。
复制这些目录的最佳时间应该是cmake配置/生成时间,至少我这么认为。 我应该这样做吗?我该怎么做?
最近在 this question ,你可以使用 configure_file 要将文件复制到生成目录,请执行以下操作:
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/input.txt ${CMAKE_CURRENT_BINARY_DIR}/output.txt COPYONLY)
只在构建时和需要时执行一次。