我正在尝试使用 cmake 自动化我的构建过程。
目前只有一个问题:
在cmake的哲学(如果有的话)中,最好的地方在哪里
放置数据文件的复制。
我有一个图书馆和一些例子。例子需要数据。
我目前执行以下操作:
我在每个示例的 CMakeLists.txt 中使用自定义命令将所有数据复制到CMAKE_CURRENT_BINARY_DIR
在构建后步骤中。
我在调试工作流程中使用它,因此尚未执行安装目标。
这工作得很好,但有一些缺点:
- 每次构建项目时都会进行复制。对于 VS 2005,即使不是新建的,有时也会发生这种情况。由于数据文件夹很大,复制需要时间,而且有点烦人。
- 我确信这是一种非常笨拙的方法。
我想将这些目录复制到可执行路径,因此我不需要提示如何设置调试工作目录
复制这些目录的最佳时间是在 cmake 配置/生成时,至少我是这么认为的。
我应该这样做吗?我该怎么做?
正如最近看到的这个问题 https://stackoverflow.com/questions/1514747, 您可以使用配置文件 http://www.cmake.org/cmake/help/cmake2.6docs.html#command%3Aconfigure%5Ffile将文件复制到构建目录:
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/input.txt
${CMAKE_CURRENT_BINARY_DIR}/output.txt COPYONLY)
它在构建时执行一次,并且仅在需要时执行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)