CMake 是否以不同的方式处理测试源
Are test sources handled differently by CMake?
我正在使用CMake构建一个应用程序,该应用程序在文本模式和GUI模式(Qt5)以及课程单元测试中生成库和可执行文件。我有经验,如果我修改除测试源之外的任何内容,并且想要运行,CMake 会构建第一个新的可执行文件。如果我修改任何测试源,CMakes 会立即运行旧的可执行文件,因此我需要在运行它之前显式编译新的测试器。测试位于单独的子目录中,结构类似于其他组件的结构,源由
set(MY_SRCS list of individual sources)
任何想法,什么会导致这种差异?(虽然这是一个细微差别)。
CTest 生成的make test
目标仅执行您使用 add_test()
添加的测试,它不会构建它们。由于它不构建它们,因此它也不会检查源文件中的更改。
您可以通过添加自定义目标(例如 make check
) 首先构建测试,然后执行它们:CMake & CTest:make test 不构建测试。
不确定这是否回答了问题,因为您没有指定如何创建和执行单元测试。
相关文章:
- 我可以使用哪种数据结构来处理这种方式
- 如何编写具有相同名称的相同函数,该函数在C++中几乎以相似的方式处理不同的类参数?
- clang++ 是否以更轻松的方式处理系统标头?
- 如何以这种方式处理字符串数组
- 处理无法按预期方式创建的对象,c++
- 以跨平台的方式C++处理键盘
- 编译器以不同的方式处理数学?
- 如何将 boost::beast 中的序列化数据转换为字符串,以便我可以以 FIFO 方式处理它?
- 以更健壮和类型安全的方式处理ASCII命令
- 编译器如何以不同于常规函数的方式处理 lambda?
- C++CURL:以不同的方式处理标头和正文数据
- 为什么VxWorks中的缓冲区sendto()和send()函数的类型不同,以及我如何以相同的方式处理它们
- CMake 是否以不同的方式处理测试源
- 以多态的方式处理非多态对象,不会产生性能开销
- JVM 无法按预期方式处理包含名为 "Node" 的类的 JNI C++代码
- 如何以正确的方式处理模块
- 如何以正确的方式处理c# - c++项目交互
- 函数,该函数以多态方式处理vector和hash_set
- 为什么 G++ 编译器不以相同的方式处理这两个函数?
- C++:以对角线方式处理2d数组元素