macro( get_git_revision VAR)exec_program( "git" ${PROJECT_SOURCE_DIR} ARGS "rev-parse -q HEAD" OUTPUT_VARIABLE ${VAR} )endmacro( get_git_revision )get_git_revision(GIT_REVISION)
# Кроссплатформенно получаем дату и время и сохраняем их в переменных BUILD_DATE, BUILD_TIME соответственноif(UNIX) execute_process(COMMAND date "+%Y-%m-%d" OUTPUT_VARIABLE BUILD_DATE OUTPUT_STRIP_TRAILING_WHITESPACE) execute_process(COMMAND date "+%H:%M:%S" OUTPUT_VARIABLE BUILD_TIME OUTPUT_STRIP_TRAILING_WHITESPACE)endif()if(WIN32) execute_process(COMMAND cmd /c date /t OUTPUT_VARIABLE BUILD_DATE OUTPUT_STRIP_TRAILING_WHITESPACE) execute_process(COMMAND cmd /c time /t OUTPUT_VARIABLE BUILD_TIME OUTPUT_STRIP_TRAILING_WHITESPACE)endif()# Записывает полученные данный в заголовочный файлfile(WRITE buildinfo.h.txt "#define BUILD_DATE \"${BUILD_DATE}\"\n" "#define BUILD_TIME \"${BUILD_TIME}\"\n")