这一步是添加安装规格和对测试的支持,添加之后通过执行
cmake .
make install
就可完成构建和安装
执行
cmake .
makt test
就可以完成构建和测试
首先对库文件夹下的CMakeLists.txt文件添加语句:
install (TARGETS MathFunctions DESTINATION bin) install (FILES MathFunctions.h DESTINATION include) 该语句即可指导将生成的库文件和相应的头文件拷贝到bin目录和include目录 类似的,在主程序文件夹下的CMakeLists.txt文件添加如下语句:install (TARGETS Tutorial DESTINATION bin) install (FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h" DESTINATION include) 添加以上语句即可支持程序的安装。 下面是添加测试 只需在主程序的CMakeLists.txt文件的后面添加即可# 测试程序是否正常运行 add_test (TutorialRuns Tutorial 25) # 测试25开方是否为5 add_test (TutorialComp25 Tutorial 25) set_tests_properties (TutorialComp25 PROPERTIES PASS_REGULAR_EXPRESSION "25 is 5") # 测试对负数的处理是否正确 add_test (TutorialNegative Tutorial -25) set_tests_properties (TutorialNegative PROPERTIES PASS_REGULAR_EXPRESSION "-25 is 0") # 测试是否支持小数 add_test (TutorialSmall Tutorial 0.0001) set_tests_properties (TutorialSmall PROPERTIES PASS_REGULAR_EXPRESSION "0.0001 is 0.01") # 测试使用消息是否正常工作 add_test (TutorialUsage Tutorial) set_tests_properties (TutorialUsage PROPERTIES PASS_REGULAR_EXPRESSION "Usage:.*number")确实非常方便。PROPERTIES PASS_REGULAR_EXPRESSION 用来检查输出的字符串里是否有特定字符 如果需要测试的项目特别多,则可以利用下面的测试语句:#define a macro to simplify adding tests, then use it macro (do_test arg result) add_test (TutorialComp${arg} Tutorial ${arg}) set_tests_properties (TutorialComp${arg} PROPERTIES PASS_REGULAR_EXPRESSION ${result}) endmacro (do_test) # do a bunch of result based tests do_test (25 "25 is 5") do_test (-25 "-25 is 0")语句更加精炼