CMake 设置自己生成的库的版本信息

本篇文章主要为自己版本库添加基本信息,添加后如下图所示:
在这里插入图片描述
代码如下:

版本变量设置页面 VersionUtil.cmake

# 库设置

# 版本号
set(PROJECT_VERSION_MAJOR 1)
set(PROJECT_VERSION_MINOR 0)
set(PROJECT_VERSION_PATCH 0)
set(ACore_Version "${CMAKE_CURRENT_BINARY_DIR}/VersionInfo.rc")

# 基本版本信息
set(ACORE_VER_FILEVERSION_QUAD "${PROJECT_VERSION_MAJOR},${PROJECT_VERSION_MINOR},${PROJECT_VERSION_PATCH},0")
set(ACORE_VER_PRODUCTVERSION_QUAD "${PROJECT_VERSION_MAJOR},${PROJECT_VERSION_MINOR},${PROJECT_VERSION_PATCH},0")
set(ACORE_VER_FILEVERSION_STR "${PROJECT_VERSION_MAJOR},${PROJECT_VERSION_MINOR},${PROJECT_VERSION_PATCH},0")
set(ACORE_VER_PRODUCTVERSION_STR "${PROJECT_VERSION_MAJOR},${PROJECT_VERSION_MINOR},${PROJECT_VERSION_PATCH},0")
# 版权所有
set(ACORE_VER_COPYRIGHT_STR "HoeMuiiii")
# 库名称
set(ACORE_VER_PRODUCTNAME_STR "ACore")
# 设置是否有版权数据
set(ACORE_VER_HAVE_COPYRIGHT_STR 1)
set(ACORE_VER_HAVE_COMMENTS_STR 1)

版本的具体代码页面 VersionInfo.rc.in

#include <winver.h>

VS_VERSION_INFO         VERSIONINFO
  FILEVERSION           @ACORE_VER_FILEVERSION_QUAD@
  PRODUCTVERSION        @ACORE_VER_PRODUCTVERSION_QUAD@
  FILEFLAGSMASK         VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
  FILEFLAGS             1
#else
  FILEFLAGS             0
#endif
  FILEOS                VOS__WINDOWS32
  FILETYPE              VFT_DLL
  FILESUBTYPE           0
BEGIN
  BLOCK "StringFileInfo"
  BEGIN
    BLOCK "040904E4"
    BEGIN
      VALUE "FileDescription",	"@ACORE_VER_FILEDESCRIPTION_STR@\0"
      VALUE "FileVersion",	"@ACORE_VER_FILEVERSION_STR@\0"
      VALUE "InternalName",	"@ACORE_VER_INTERNALNAME_STR@\0"
#if @ACORE_VER_HAVE_COPYRIGHT_STR@
      VALUE "LegalCopyright",	"@ACORE_VER_COPYRIGHT_STR@\0"
#endif
      VALUE "OriginalFilename",	"@ACORE_VER_ORIGINALFILENAME_STR@\0"
      VALUE "ProductName",	"@ACORE_VER_PRODUCTNAME_STR@\0"
      VALUE "ProductVersion",	"@ACORE_VER_PRODUCTVERSION_STR@\0"
#if @ACORE_VER_HAVE_COMMENTS_STR@
      VALUE "Comments",		"@ACORE_VER_COMMENTS_STR@\0"
#endif
    END
  END
  BLOCK "VarFileInfo"
  BEGIN
    VALUE "Translation", 0x0409, 1252
  END
END
  • 其中要注意,需要把 VersionInfo.rc.in 页面用一下代码生成到构建目录中
configure_file("VersionInfo.rc.in" "${CMAKE_CURRENT_BINARY_DIR}/VersionInfo.rc" @ONLY)

  • configure_file(var1 var2 @ONLY) 中第一个参数 var1 是存放 VersionInfo.rc.in 的路径,第二个参数 var2 是存放生成 VersionInfo.rc 的路径。
  • 若要进行详细修改,只需要修改 VersionUtil.cmake 页面里面的相关参数即可,可不用管理 VersionInfo.rc.in 页面。

参考 opencv 中版本设置的书写方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值