首页 > 其他分享 >浅谈CMakeLists.txt 增加软件版本信息(很方便)

浅谈CMakeLists.txt 增加软件版本信息(很方便)

时间:2022-12-15 15:57:57浏览次数:33  
标签:CMakeLists set 浅谈 VERSION txt config define

1. 从一个CMakeLists.txt下手,如下:include_directories (${CMAKE_CURRENT_BINARY_DIR}) 应该放在最后,但是在引用lib前。

# @warning here : add the variables we need and set version
set (VERSION_MAJOR 00.00)
set (VERSION_MINOR 00.02)

set (VERSION_PATCH 01)

set (SOFT_VERSION V${VERSION_MAJOR}.${VERSION_MINOR})

configure_file (config.h.in config.h @ONLY)

include_directories (${CMAKE_CURRENT_BINARY_DIR})

2. 进行在需要cmake . 的当前目录(跟CMakeLists.txt同目录)增加一个config.h.in,顾名思义,.in就是作为原输入文件,为后续的config.h提供信息。

#ifndef CONFIG_H_IN
#define CONFIG_H_IN

#define PROJECT_NAME "@PROJECT_NAME@"
#define VERSION_MAJOR "@VERSION_MAJOR@"
#define VERSION_MINOR "@VERSION_MINOR@"
#define VERSION_PATCH "@VERSION_PATCH@"
#define SOFT_VERSION "@SOFT_VERSION@"

#endif // CONFIG_H_IN

3. 进行cmake . 即可

 

然后查看config.h

 

 

4. 在函数调用处先包含config.h并且直接调用上面的宏定义SOFT_VERSION,该类型为字符串。

 

 

 5. 可以下班了。

标签:CMakeLists,set,浅谈,VERSION,txt,config,define
From: https://www.cnblogs.com/real-watson/p/16985205.html

相关文章

  • xml数据转yolov5的txt代码
    通过labelimg标注的xml文件转换yolov5可训练的txt格式代码。包含读取xml文件代码,保存txt格式代码。  fromlxml.etreeimportElement,SubElement,tostring,Elem......
  • 浅谈单例模式的几种实现
     单例模式(来自菜鸟教程)单例模式(SingletonPattern)是Java中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一......
  • 浅谈电能管理系统在某轧钢厂的应用
    罗轩志安科瑞电气股份有限公司 上海嘉定 201801 摘要:结合某轧钢厂的现状和电能管理软件的优势应用,在节能降耗方面利用电能管理软件对轧钢厂电能损耗进行实时监控,为实现......
  • 浅谈电能预付费系统在物业客户中的设计及应用
    罗轩志安科瑞电气股份有限公司上海嘉定201801【摘要】随着我国供电企业的不断发展,而用电模式也在不断改革,预付费技术在气、电等部门得到普遍的使用,本文主要针对预付费系......
  • 浅谈字节码增强技术系列1-字节码增强概览
    作者:董子龙前言前段时间一直想参照lombok的实现原理写一篇可以生成业务单据修改记录插件的专利,再查阅资料的过程中,偶然了解到了字节码增强工具-byteBuddy。但是由于当时时间......
  • 浅谈古建筑电气火灾的防控与管理
    罗轩志安科瑞电气股份有限公司 上海嘉定201801摘要:我国古建筑多为砖木结构,当发生火灾事故时具有蔓延快、扑救难的特点,而火灾对古建筑的损害性很大,电气火灾事故在我国火灾......
  • 《激励》读后浅谈--结合自己的一些实际管理经验讲点能懂的话
        人力资源是一个企业最重要的资源之一,其也可以作为公司核心竞争的重要因素。    公司要发展取决于人,所以公司员工的素质和活力是一个企业的根本动力,也是一个企业......
  • 浅谈Redis大Key与热Key
    如何定义大Key和热Key如何定义大Key如何定义热Key大Key和热Key产生的原因大Key和热Key有哪些危害大Key的危害热Key的危害如何发现大Ke......
  • 浅谈“分层图”思想
    “分层图”思想前置芝士:最短路算法所谓分层图,即把一整个完整的图,分为若干层,每层对应着原图中的某种状态。分层图每一层大致有如下特点:每一层极为相似甚至相同,以至于......
  • easylogging++的那些事(四)源码分析(十五)浅谈easylogging++的设计理念
    目录面向过程面向对象Writer类PErrorWriter类Helpers和Loggers类泛型编程IterableContainer抽象类模板,IterablePriorityQueue子类模板,IterableQueue子类模板和......