本篇文章主要为自己版本库添加基本信息,添加后如下图所示:
代码如下:
版本变量设置页面 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
中版本设置的书写方式