Skip to content

Commit

Permalink
Get version from cmakefiles
Browse files Browse the repository at this point in the history
  • Loading branch information
TheElixZammuto authored and ReenigneArcher committed Feb 21, 2023
1 parent 4f6e738 commit 0658549
Showing 1 changed file with 26 additions and 4 deletions.
30 changes: 26 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,39 @@ find_package(Git)
if(GIT_EXECUTABLE)
MESSAGE("${CMAKE_CURRENT_SOURCE_DIR}")
get_filename_component(SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY)
# Generate a git-describe version string from Git repository tags
#Get current Branch
execute_process(
COMMAND ${GIT_EXECUTABLE} describe --tags --dirty
COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD
#WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
OUTPUT_VARIABLE GIT_DESCRIBE_BRANCH
RESULT_VARIABLE GIT_DESCRIBE_ERROR_CODE
OUTPUT_STRIP_TRAILING_WHITESPACE
)
# Gather current commit
execute_process(
COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
#WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
OUTPUT_VARIABLE GIT_DESCRIBE_VERSION
RESULT_VARIABLE GIT_DESCRIBE_ERROR_CODE
OUTPUT_STRIP_TRAILING_WHITESPACE
)
# Check if Dirty
execute_process(
COMMAND ${GIT_EXECUTABLE} diff --quiet --exit-code
#WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
RESULT_VARIABLE GIT_IS_DIRTY
OUTPUT_STRIP_TRAILING_WHITESPACE
)
if(NOT GIT_DESCRIBE_ERROR_CODE)
set(PROJECT_VERSION ${GIT_DESCRIBE_VERSION})
MESSAGE(Sunshine Version: ${GIT_DESCRIBE_VERSION})
MESSAGE(Sunshine Branch: ${GIT_DESCRIBE_BRANCH})
if(NOT GIT_DESCRIBE_BRANCH STREQUAL "master")
set(PROJECT_VERSION ${PROJECT_VERSION}-g${GIT_DESCRIBE_VERSION})
MESSAGE(Sunshine Version: ${GIT_DESCRIBE_VERSION})
endif()
if(GIT_IS_DIRTY)
set(PROJECT_VERSION ${PROJECT_VERSION}-dirty)
MESSAGE(Git tree is dirty!)
endif()
else()
MESSAGE(ERROR ": Got git error while fetching tags: ${GIT_DESCRIBE_ERROR_CODE}")
endif()
Expand Down

0 comments on commit 0658549

Please sign in to comment.