include_directories(${CMAKE_CURRENT_SOURCE_DIR})
include_directories(${CMAKE_CURRENT_BINARY_DIR})

list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../cmake/cmake-modules")
include(GetGitRevisionDescription)

git_describe(PASTISVERSION "--abbrev=0")
get_git_head_revision(PASTISHEAD PASTISHASH)
git_local_changes(PASTISHASLOCALCHANGES)

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)
include_directories(${CMAKE_CURRENT_BINARY_DIR})

add_library(PastisUtils RevisionInfo.cpp)