diff --git a/CMakeLists.txt b/CMakeLists.txt index dde6385a38a7c04261df1da786f2b2250ae57395..53c681cdbc20a94a691cdd82aedb8c4085b39c53 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 3846348f1f7916019026ea2ea3d65bca1850aaf2..3311f608c602abcf763570abb2590992722f9df7 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 cd4a303accbaad42a2173400d634b8c2456d815f..f9ce466f1f83a4056c95e208e80571946c7396d2 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 067456974be1ab1e8a225e19987fd9a5767a7403..2d4c4523a1def34bdc87b67b5fac03ae3682b02f 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