对于MathFunctions库我们安装库和头文件只需要添加如下的语句:


You
You 2023-12-31 01:07:26 48226
分类专栏: 资讯

接下来我们会为我们的工程增加安装规则和测试支持。安装规则是非常非常简单的。对于MathFunctions库我们安装库和头文件只需要添加如下的语句:

安装(TARGETS MathFunctions DESTINATION bin)
安装(文件 MathFunctions.h DESTINATION 包括)

对于应用程序,我们只需要在顶层CMakeLists 文件中如此配置即可以安装可执行程序和配置了的头文件:

# 添加安装目标
install (TARGETS Tutorial DESTINATION bin) 
install (FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h"         
         DESTINATION include)

这就是所有需要做的。现在你就可以编译这个教程了,然后输入make install(或者编译IDE中的INSTALL目标),则头文件、库和可执行程序等就会被正确地安装。CMake变量CMAKE_INSTALL_PREFIX被用来决定那些文件会被安装在哪个根目录下。添加测试也是一个相当简单的过程。在最顶层的CMakeLists文件的最后我们可以添加一系列的基础测试来确认这个程序是否在正确工作。

# 应用程序是否运行
add_test (TutorialRuns Tutorial 25) 
 
# 是否运行 25 的 sqrt 
add_test (TutorialComp25 Tutorial 25) 
 
set_tests_properties (TutorialComp25 
  PROPERTIES PASS_REGULAR_EXPRESSION "25 is 5") 
 
# 是否处理负数
add_test (TutorialNegative Tutorial -25) 
set_tests_properties (TutorialNeg)主动的
  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 教程) 
set_tests_properties (TutorialUsage
  属性
  PASS_REGULAR_EXPRESSION "用法:.*number")

第一个测试简单地确认应用是否运行,没有段错误或者其它的崩溃问题,并且返回0。这是CTest的最基本的形式。下面的测试都使用了PASS_REGULAR_EXPRESSION测试属性来确认输出的结果中是否含有某个字符串。如果你需要添加大量的测试来判断不同的输入值,则你需要考虑创建一个类似于下面的宏:

#定义一个宏来简化添加测试,然后使用它
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_test (25 "25 is 5") 
do_test (-25 "-25 is 0")

对do_test的任意一次调用,就有另一个测试被添加到工程中。

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=33104
赞同 0
评论 0 条
YouL0
粉丝 0 发表 582 + 关注 私信
上周热门
如何使用 StarRocks 管理和优化数据湖中的数据?  2969
【软件正版化】软件正版化工作要点  2888
统信UOS试玩黑神话:悟空  2860
信刻光盘安全隔离与信息交换系统  2746
镜舟科技与中启乘数科技达成战略合作,共筑数据服务新生态  1280
grub引导程序无法找到指定设备和分区  1249
华为全联接大会2024丨软通动力分论坛精彩议程抢先看!  169
2024海洋能源产业融合发展论坛暨博览会同期活动-海洋能源与数字化智能化论坛成功举办  168
点击报名 | 京东2025校招进校行程预告  165
华为纯血鸿蒙正式版9月底见!但Mate 70的内情还得接着挖...  161
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

加入交流群

请使用微信扫一扫!