首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CMake如何使用单元测试安装测试文件

CMake如何使用单元测试安装测试文件
EN

Stack Overflow用户
提问于 2012-09-07 06:59:19
回答 5查看 7.7K关注 0票数 13

我正在使用CMake构建我的系统和单元测试。

我也在做一个源代码外的构建。

我在ADD_TEST()命令中发现,您不需要安装测试可执行文件(它将在运行make时运行,这很好)。

但是,我的单元测试依赖于一些输入文件,这些文件需要复制到构建可执行文件的地方。

据我所知,我无法使用INSTALL()在那里复制文件,因为我没有指定哪里有--这取决于调用构建命令的位置。

有什么方法可以告诉CMake将我的测试文件复制到它构建可执行文件的同一个位置吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-09-11 05:09:24

这可能不是最好的解决办法,但目前我正在这样做:

代码语言:javascript
复制
file(COPY my_directory DESTINATION ${CMAKE_CURRENT_BINARY_DIR})

这似乎起了作用。

票数 3
EN

Stack Overflow用户

发布于 2012-09-08 17:30:39

您可以使用configure_file和参数COPYONLY。并执行对build的复制:${CMAKE_CURRENT_BINARY_DIR}

票数 9
EN

Stack Overflow用户

发布于 2018-01-12 16:12:35

这个问题很老,但在我看来,比起将所需的文件复制到${CMAKE_CURRENT_BINARY_DIR}),有更好的解决方案。add_test命令有一个WORKING_DIRECTORY选项,允许选择运行测试的目录。因此,我建议以下解决方案:

代码语言:javascript
复制
add_executable(testA testA.cpp)
add_test(NAME ThisIsTestA COMMAND testA WORKING_DIRECTORY ${DIRECTORY_WITH_TEST_DATA})

这样可以避免不必要地复制输入文件。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12313258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档