diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3e35c1ff8..ffdd356fa 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -66,7 +66,6 @@ jobs: -DIMHEX_GENERATE_PACKAGE=ON \ -DIMHEX_USE_DEFAULT_BUILD_SETTINGS=ON \ -DIMHEX_PATTERNS_PULL_MASTER=ON \ - -DIMHEX_COMMIT_HASH_SHORT="${GITHUB_SHA::7}" \ -DIMHEX_COMMIT_HASH_LONG="${GITHUB_SHA}" \ -DIMHEX_COMMIT_BRANCH="${GITHUB_REF##*/}" \ -DUSE_SYSTEM_CAPSTONE=ON \ @@ -213,7 +212,6 @@ jobs: -DCMAKE_OBJC_COMPILER_LAUNCHER=ccache \ -DCMAKE_OBJCXX_COMPILER_LAUNCHER=ccache \ -DIMHEX_PATTERNS_PULL_MASTER=ON \ - -DIMHEX_COMMIT_HASH_SHORT="${GITHUB_SHA::7}" \ -DIMHEX_COMMIT_HASH_LONG="${GITHUB_SHA}" \ -DIMHEX_COMMIT_BRANCH="${GITHUB_REF##*/}" \ -DCPACK_PACKAGE_FILE_NAME="imhex-${{env.IMHEX_VERSION}}-macOS${{matrix.suffix}}-x86_64" \ @@ -380,7 +378,6 @@ jobs: -DCMAKE_C_COMPILER_LAUNCHER=ccache \ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ -DIMHEX_PATTERNS_PULL_MASTER=ON \ - -DIMHEX_COMMIT_HASH_SHORT="${GITHUB_SHA::7}" \ -DIMHEX_COMMIT_HASH_LONG="${GITHUB_SHA}" \ -DIMHEX_COMMIT_BRANCH="${GITHUB_REF##*/}" \ -DIMHEX_ENABLE_LTO=ON \ @@ -505,7 +502,6 @@ jobs: -DUSE_SYSTEM_NLOHMANN_JSON=ON \ -DUSE_SYSTEM_CAPSTONE=OFF \ -DIMHEX_PATTERNS_PULL_MASTER=ON \ - -DIMHEX_COMMIT_HASH_SHORT="${GITHUB_SHA::7}" \ -DIMHEX_COMMIT_HASH_LONG="${GITHUB_SHA}" \ -DIMHEX_COMMIT_BRANCH="${GITHUB_REF##*/}" \ -DIMHEX_ENABLE_LTO=ON \ diff --git a/cmake/build_helpers.cmake b/cmake/build_helpers.cmake index ee125f29e..6ba165f1b 100644 --- a/cmake/build_helpers.cmake +++ b/cmake/build_helpers.cmake @@ -121,7 +121,8 @@ macro(configurePackingResources) set(MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/resources/dist/macos/Info.plist.in") set(MACOSX_BUNDLE_BUNDLE_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}") set(MACOSX_BUNDLE_GUI_IDENTIFIER "net.WerWolv.ImHex") - set(MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJECT_VERSION}-${IMHEX_COMMIT_HASH_SHORT}") + string(SUBSTRING "${IMHEX_COMMIT_HASH_LONG}" 0 7 COMMIT_HASH_SHORT) + set(MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJECT_VERSION}-${COMMIT_HASH_SHORT}") set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}") string(TIMESTAMP CURR_YEAR "%Y") diff --git a/dist/appimage/Dockerfile b/dist/appimage/Dockerfile index 8330299c5..38eb86ea2 100644 --- a/dist/appimage/Dockerfile +++ b/dist/appimage/Dockerfile @@ -53,7 +53,6 @@ CC=gcc-12 CXX=g++-12 cmake -G "Ninja" \ -DCMAKE_C_COMPILER_LAUNCHER=ccache \ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ -DIMHEX_PATTERNS_PULL_MASTER=ON \ - -DIMHEX_COMMIT_HASH_SHORT="${GIT_COMMIT_HASH::7}" \ -DIMHEX_COMMIT_HASH_LONG="${GIT_COMMIT_HASH}" \ -DIMHEX_COMMIT_BRANCH="${GIT_BRANCH}" \ -DIMHEX_ENABLE_LTO=${LTO} \ diff --git a/lib/libimhex/CMakeLists.txt b/lib/libimhex/CMakeLists.txt index c7f9308fe..3f4417f64 100644 --- a/lib/libimhex/CMakeLists.txt +++ b/lib/libimhex/CMakeLists.txt @@ -109,9 +109,8 @@ target_link_libraries(libimhex ${LIBIMHEX_LIBRARY_TYPE} ${NLOHMANN_JSON_LIBRARIE set_property(TARGET libimhex PROPERTY INTERPROCEDURAL_OPTIMIZATION FALSE) -if (DEFINED IMHEX_COMMIT_HASH_LONG AND DEFINED IMHEX_COMMIT_HASH_SHORT AND DEFINED IMHEX_COMMIT_BRANCH) +if (DEFINED IMHEX_COMMIT_HASH_LONG AND DEFINED IMHEX_COMMIT_BRANCH) set(GIT_COMMIT_HASH_LONG "${IMHEX_COMMIT_HASH_LONG}") - set(GIT_COMMIT_HASH_SHORT "${IMHEX_COMMIT_HASH_SHORT}") set(GIT_BRANCH "${IMHEX_COMMIT_BRANCH}") else() # Get the current working branch @@ -124,16 +123,6 @@ else() ERROR_QUIET ) - # Get the latest abbreviated commit hash of the working branch - execute_process( - COMMAND git log -1 --format=%h --abbrev=7 - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - OUTPUT_VARIABLE GIT_COMMIT_HASH_SHORT - OUTPUT_STRIP_TRAILING_WHITESPACE - RESULT_VARIABLE RESULT_HASH_SHORT - ERROR_QUIET - ) - execute_process( COMMAND git log -1 --format=%H WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} @@ -144,8 +133,9 @@ else() ) endif () -if ((NOT GIT_COMMIT_HASH_SHORT STREQUAL "") AND (NOT GIT_COMMIT_HASH_LONG STREQUAL "") AND (NOT GIT_BRANCH STREQUAL "")) - addDefineToSource(source/api/imhex_api.cpp "GIT_COMMIT_HASH_SHORT=\"${GIT_COMMIT_HASH_SHORT}\"") +if (GIT_COMMIT_HASH_LONG STREQUAL "" OR GIT_BRANCH STREQUAL "") + message(WARNING "Failed to to determine commit hash/branch") +else() addDefineToSource(source/api/imhex_api.cpp "GIT_COMMIT_HASH_LONG=\"${GIT_COMMIT_HASH_LONG}\"") addDefineToSource(source/api/imhex_api.cpp "GIT_BRANCH=\"${GIT_BRANCH}\"") endif () diff --git a/lib/libimhex/source/api/imhex_api.cpp b/lib/libimhex/source/api/imhex_api.cpp index dd58fa491..09390d788 100644 --- a/lib/libimhex/source/api/imhex_api.cpp +++ b/lib/libimhex/source/api/imhex_api.cpp @@ -655,20 +655,16 @@ namespace hex { } std::string getCommitHash(bool longHash) { - if (longHash) { - #if defined GIT_COMMIT_HASH_LONG + #if defined GIT_COMMIT_HASH_LONG + if (longHash) { return GIT_COMMIT_HASH_LONG; - #else - return "Unknown"; - #endif - } - else { - #if defined GIT_COMMIT_HASH_SHORT - return GIT_COMMIT_HASH_SHORT; - #else - return "Unknown"; - #endif - } + } else { + return std::string(GIT_COMMIT_HASH_LONG).substr(0, 7); + } + #else + hex::unused(longHash); + return "Unknown"; + #endif } std::string getCommitBranch() {