我有一个程序,可以读取文件格式的描述(对于好奇的人,是ISO 10303-11),并生成C++代码。生成的代码被编译成库,然后将该库与各种可执行文件链接以读/写该文件格式。
我已经设置了CMake来构建生成器程序,并在配置时为指定的任何文件格式生成库。
现在,我想添加测试。这些测试与构建过程中已经完成的步骤相同 - 我必须在CTest脚本中重新执行这些步骤,或者有没有一种方法告诉CTest构建目标并捕获任何错误消息?
我已经设置了CMake来构建生成器程序,并在配置时为指定的任何文件格式生成库。
现在,我想添加测试。这些测试与构建过程中已经完成的步骤相同 - 我必须在CTest脚本中重新执行这些步骤,或者有没有一种方法告诉CTest构建目标并捕获任何错误消息?
set_target_properties
和set_test_properties
:set_target_properties( ${target} PROPERTIES EXCLUDE_FROM_ALL ON )
和set_tests_properties( build_${PROJECT_NAME} PROPERTIES DEPENDS generate_${SCHEMA_SHORT_NAME} LABELS schema_build )
。我还为其他需要类似功能的人创建了一个github gist,其中包含可工作的代码。 - Mark