1、shell脚本获取编译时间
REV=`git rev-list --all|wc -l`
DATE=`date "+%Y-%m-%d_%H:%M:%S"`
VERSION=${REV}_${DATE}
echo ${VERSION}
2、在cmake中将编译时间设置成宏
execute_process(COMMAND sh ${PROJECT_SOURCE_DIR}/get_build_version.sh WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} OUTPUT_VARIABLE build_version OUTPUT_STRIP_TRAILING_WHITESPACE)
set(CXX_FLAGS_TMP -std=c++11 -DBUILD_VERSION=\\"${build_version}\\")
string(REPLACE ";" " " CMAKE_CXX_FLAGS "${CXX_FLAGS_TMP}")
3、代码中打印宏
std::string version = BUILD_VERSION;
std::cout<<"version=" << version <<std::endl;