vVersion.cmake文件内容如下:

#vversion.cmake

#vDateTime
string(TIMESTAMP vDateTime "%Y%m%d-%H%M%S")

#vProjectDir
execute_process(
  COMMAND basename ${CMAKE_CURRENT_SOURCE_DIR}
  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
  OUTPUT_VARIABLE vProjectDir
  OUTPUT_STRIP_TRAILING_WHITESPACE
)

#vGitBranch
execute_process(
  COMMAND git rev-parse --abbrev-ref HEAD
  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
  OUTPUT_VARIABLE vGitBranch
  OUTPUT_STRIP_TRAILING_WHITESPACE
)

#vGitCommit
execute_process(
  COMMAND git log -1 --pretty=format:%h
  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
  OUTPUT_VARIABLE vGitCommit
  OUTPUT_STRIP_TRAILING_WHITESPACE
)

set(vFileName "${CMAKE_CURRENT_SOURCE_DIR}/vversion.h")

file(WRITE ${vFileName} "\r\n#ifndef VVERSION_H\r\n#define VVERSION_H\r\n" )
file(APPEND ${vFileName} "const char* vversion=\"[vov]:${vDateTime}:${vProjectDir}:${vGitBranch}:${vGitCommit}\";")
file(APPEND ${vFileName} "\r\n#endif")

使用方法:在CMakeList.txt中添加:

include(vVersion.cmake)

相关文章:

  • 2022-12-23
  • 2021-10-26
  • 2021-12-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-01-02
  • 2022-12-23
  • 2022-12-23
  • 2022-03-04
  • 2022-12-23
  • 2021-08-19
  • 2022-12-23
相关资源
相似解决方案