mirror of
https://github.com/QuasarApp/LIEF.git
synced 2025-04-28 05:14:33 +00:00
68 lines
1.7 KiB
CMake
68 lines
1.7 KiB
CMake
if(__add_lief_git)
|
|
return()
|
|
endif()
|
|
set(__add_lief_git ON)
|
|
|
|
|
|
execute_process(
|
|
COMMAND ${GIT_EXECUTABLE} log -1 --format=%h
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
OUTPUT_VARIABLE LIEF_COMMIT_HASH
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
|
|
execute_process(
|
|
COMMAND ${GIT_EXECUTABLE} rev-list --count ${LIEF_COMMIT_HASH}
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
OUTPUT_VARIABLE LIEF_COMMIT_COUNT
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
|
|
execute_process(
|
|
COMMAND ${GIT_EXECUTABLE} describe --abbrev=0 --tags HEAD --always
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
OUTPUT_VARIABLE LIEF_GIT_TAG
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
|
|
execute_process(
|
|
COMMAND ${GIT_EXECUTABLE} tag --list --points-at=HEAD
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
OUTPUT_VARIABLE LIEF_GIT_COMMIT_TAGGED
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
|
|
execute_process(
|
|
COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
OUTPUT_VARIABLE LIEF_GIT_BRANCH
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
|
|
string(COMPARE NOTEQUAL "${LIEF_GIT_COMMIT_TAGGED}" "" LIEF_IS_TAGGED)
|
|
|
|
STRING(REGEX MATCHALL "([0-9]+)" VERSION_STRING "${LIEF_GIT_TAG}")
|
|
|
|
message(STATUS "Tagged: ${LIEF_IS_TAGGED}")
|
|
if (${LIEF_IS_TAGGED})
|
|
message(STATUS "Tag: ${LIEF_GIT_TAG}")
|
|
endif()
|
|
message(STATUS "Current branch: ${LIEF_GIT_BRANCH}")
|
|
|
|
|
|
if (VERSION_STRING)
|
|
list(GET VERSION_STRING 0 LIEF_VERSION_MAJOR)
|
|
list(GET VERSION_STRING 1 LIEF_VERSION_MINOR)
|
|
list(GET VERSION_STRING 2 LIEF_VERSION_PATCH)
|
|
|
|
if (NOT ${LIEF_IS_TAGGED})
|
|
MATH(EXPR LIEF_VERSION_MINOR "${LIEF_VERSION_MINOR}+1")
|
|
set(LIEF_VERSION_PATCH 0)
|
|
endif()
|
|
else()
|
|
set(LIEF_VERSION_MAJOR 0)
|
|
set(LIEF_VERSION_MINOR 0)
|
|
set(LIEF_VERSION_PATCH 0)
|
|
endif()
|
|
|