From 930787d74d79b0f56275f76b501762817812f65d Mon Sep 17 00:00:00 2001 From: moneroexamples Date: Wed, 23 Nov 2016 09:28:10 +0800 Subject: [PATCH] generation of version.h with current git commit added --- CMakeLists.txt | 33 +++++++++++++++++++++++++++++++++ src/CMakeLists.txt | 2 +- src/page.h | 1 + src/version.h.in | 13 +++++++++++++ 4 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 src/version.h.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 708f344..35bd609 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -100,6 +100,39 @@ set(SOURCE_FILES add_executable(${PROJECT_NAME} ${SOURCE_FILES}) +# Get the current working branch +execute_process( + COMMAND git rev-parse --abbrev-ref HEAD + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_BRANCH + OUTPUT_STRIP_TRAILING_WHITESPACE +) + +# http://xit0.org/2013/04/cmake-use-git-branch-and-commit-details-in-project/ +# Get the latest abbreviated commit hash of the working branch +execute_process( + COMMAND git log -1 --format=%h + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_COMMIT_HASH + OUTPUT_STRIP_TRAILING_WHITESPACE +) + +# Get the date and time of last commit +execute_process( + COMMAND git log -1 --format=%cd + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_COMMIT_DATETIME + OUTPUT_STRIP_TRAILING_WHITESPACE +) + + +configure_file( + ${CMAKE_SOURCE_DIR}/src/version.h.in + ${CMAKE_BINARY_DIR}/gen/version.h +) + +include_directories(${CMAKE_BINARY_DIR}/gen) + macro(configure_files srcDir destDir) message(STATUS "Configuring directory ${destDir}") make_directory(${destDir}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6745425..3c85600 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -14,7 +14,7 @@ set(SOURCE_FILES CmdLineOptions.cpp tx_details.cpp page.h - rpccalls.cpp rpccalls.h) + rpccalls.cpp rpccalls.h version.h.in) # make static library called libmyxrm # that we are going to link to diff --git a/src/page.h b/src/page.h index 9918b04..d3d4010 100644 --- a/src/page.h +++ b/src/page.h @@ -12,6 +12,7 @@ #include "../ext/format.h" #include "../ext/member_checker.h" +#include "version.h" #include "monero_headers.h" diff --git a/src/version.h.in b/src/version.h.in new file mode 100644 index 0000000..ef62e86 --- /dev/null +++ b/src/version.h.in @@ -0,0 +1,13 @@ +// +// Created by mwo on 23/11/16. +// + +#ifndef XMRBLOCKS_VERSION_H_IN_H +#define XMRBLOCKS_VERSION_H_IN_H + +#define GIT_BRANCH "@GIT_BRANCH@" +#define GIT_COMMIT_HASH "@GIT_COMMIT_HASH@" +#define GIT_COMMIT_DATETIME "@GIT_COMMIT_DATETIME@" + + +#endif //XMRBLOCKS_VERSION_H_IN_H