From 051b3a1d0dc5fffaaa6974495ebcd5bb222d1641 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Del=20Pino?= <stephane.delpino44@gmail.com>
Date: Sat, 17 Mar 2018 18:27:26 +0100
Subject: [PATCH] Fixed git revision infos

---
 CMakeLists.txt                   |  1 -
 utils/CMakeLists.txt             | 22 ++++++++++++++++++----
 utils/RevisionInfo.cpp           | 12 ++++--------
 utils/pastis_git_revision.hpp.in | 15 ++++++++-------
 4 files changed, 30 insertions(+), 20 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index dde6385a3..53c681cdb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -22,7 +22,6 @@ include_directories(${CMAKE_SOURCE_DIR}/packages/CLI11/include)
 add_subdirectory(${CMAKE_SOURCE_DIR}/packages/kokkos)
 include_directories(${Kokkos_INCLUDE_DIRS_RET})
 
-
 # Pastis utils
 add_subdirectory(utils)
 include_directories(utils)
diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
index 3846348f1..3311f608c 100644
--- a/utils/CMakeLists.txt
+++ b/utils/CMakeLists.txt
@@ -8,14 +8,28 @@ git_describe(PASTIS_VERSION "--abbrev=0")
 get_git_head_revision(PASTIS_HEAD PASTIS_HASH)
 git_local_changes(PASTIS_HAS_LOCAL_CHANGES)
 
-set(PASTIS_IS_CLEAN ${PASTIS_HAS_LOCAL_CHANGES} STREQ "CLEAN")
+if(${PASTIS_HAS_LOCAL_CHANGES} STREQUAL "CLEAN")
+  set(PASTIS_IS_CLEAN true)
+else()
+  set(PASTIS_IS_CLEAN false)
+endif()
 
-add_custom_target(git_revision ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/pastis_git_revision.hpp)
-set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/pastis_git_revision.hpp PROPERTIES GENERATED TRUE HEADER_FILE_ONLY TRUE)
+add_custom_target(
+  git_revision
+  ALL
+  DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/pastis_git_revision.hpp)
+
+set_source_files_properties(
+  ${CMAKE_CURRENT_BINARY_DIR}/pastis_git_revision.hpp
+  PROPERTIES
+  GENERATED TRUE
+  HEADER_FILE_ONLY TRUE
+  )
 
 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/pastis_git_revision.hpp.in" "${CMAKE_CURRENT_BINARY_DIR}/pastis_git_revision.hpp" @ONLY)
 
-list(APPEND SOURCES pastis_git_revision.hpp)
+list(APPEND SOURCES ${CMAKE_CURRENT_BINARY_DIR}/pastis_git_revision.hpp)
 include_directories(${CMAKE_CURRENT_BINARY_DIR})
 
 add_library(PastisUtils RevisionInfo.cpp)
+add_dependencies(PastisUtils git_revision)
diff --git a/utils/RevisionInfo.cpp b/utils/RevisionInfo.cpp
index cd4a303ac..f9ce466f1 100644
--- a/utils/RevisionInfo.cpp
+++ b/utils/RevisionInfo.cpp
@@ -3,24 +3,20 @@
 
 std::string RevisionInfo::version()
 {
-  return PASTIS_VERSION;
+  return PASTIS_GIT_VERSION;
 }
 
 std::string RevisionInfo::head()
 {
-  return PASTIS_HEAD;
+  return PASTIS_GIT_HEAD;
 }
 
 std::string RevisionInfo::hash()
 {
-  return PASTIS_HASH;
+  return PASTIS_GIT_HASH;
 }
 
 bool RevisionInfo::isClean()
 {
-#if PASTIS_IS_CLEAN
-  return true;
-#else
-  return false;
-#endif
+  return PASTIS_GIT_IS_CLEAN;
 }
diff --git a/utils/pastis_git_revision.hpp.in b/utils/pastis_git_revision.hpp.in
index 067456974..2d4c4523a 100644
--- a/utils/pastis_git_revision.hpp.in
+++ b/utils/pastis_git_revision.hpp.in
@@ -1,9 +1,10 @@
-#ifndef GIT_REVISION_HPP
-#define GIT_REVISION_HPP
+#ifndef PASTIS_GIT_REVISION_HPP
+#define PASTIS_GIT_REVISION_HPP
 
-#define PASTIS_VERSION "@PASTIS_VERSION@"
-#define PASTIS_HEAD "@PASTIS_HEAD@"
-#define PASTIS_HASH "@PASTIS_HASH@"
-#define PASTIS_HAS_LOCAL_CHANGES "@PASTIS_HAS_LOCAL_CHANGES@"
+#define PASTIS_GIT_VERSION "@PASTIS_VERSION@"
+#define PASTIS_GIT_HEAD "@PASTIS_HEAD@"
+#define PASTIS_GIT_HASH "@PASTIS_HASH@"
+#define PASTIS_GIT_HAS_LOCAL_CHANGES "@PASTIS_HAS_LOCAL_CHANGES@"
+#define PASTIS_GIT_IS_CLEAN @PASTIS_IS_CLEAN@
 
-#endif // GIT_REVISION_HPP
+#endif // PASTIS_GIT_REVISION_HPP
-- 
GitLab