From c54a3463d4b8c32a19a6cd9adc4beff95429ab2d Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Wed, 29 Jan 2014 22:54:17 -0500 Subject: [PATCH] Define GIT_SHA1 in header file. --- .gitignore | 1 + src/CMakeLists.txt | 19 ++++++++++++++++++- src/output.F90 | 1 + 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 9f720f9894..bc3678cc38 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ *.mod *.log *.out +git_sha1.h # Compiler python objects *.pyc diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 95cda112af..453a87c89b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -137,6 +137,24 @@ if(petsc) set(libraries "${PETSC_PACKAGE_LIBS};${libpetsc};${libraries}") endif() +#=============================================================================== +# git SHA1 hash +#=============================================================================== + +execute_process(COMMAND git log -1 + COMMAND head -n 1 + COMMAND cut -c8- + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + RESULT_VARIABLE GIT_SHA1_SUCCESS + OUTPUT_VARIABLE GIT_SHA1 + ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) +if(GIT_SHA1_SUCCESS EQUAL 0) + file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/git_sha1.h + "#define GIT_SHA1 \"${GIT_SHA1}\"") +else() + file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/git_sha1.h "") +endif() + #=============================================================================== # FoX Fortran XML Library #=============================================================================== @@ -154,7 +172,6 @@ add_executable(${program} ${source}) target_link_libraries(${program} ${libraries} fox) set_target_properties(${program} PROPERTIES COMPILE_FLAGS "${f90flags}" - COMPILE_DEFINITIONS "${definitions}" LINK_FLAGS "${ldflags}") #=============================================================================== diff --git a/src/output.F90 b/src/output.F90 index ee0a8391c2..061500734d 100644 --- a/src/output.F90 +++ b/src/output.F90 @@ -55,6 +55,7 @@ contains ' License: http://mit-crpg.github.io/openmc/license.html' write(UNIT=OUTPUT_UNIT, FMT='(6X,"Version:",8X,I1,".",I1,".",I1)') & VERSION_MAJOR, VERSION_MINOR, VERSION_RELEASE +#include "git_sha1.h" #ifdef GIT_SHA1 write(UNIT=OUTPUT_UNIT, FMT='(6X,"Git SHA1:",7X,A)') GIT_SHA1 #endif