diff --git a/CMakeLists.txt b/CMakeLists.txt index 2412e681..7b393038 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,25 +28,39 @@ set(CMAKE_CXX_STANDARD 23) add_compile_options(-Wall -Wextra -Wno-unused-parameter -Wno-unused-value -Wno-missing-field-initializers -Wno-narrowing) -# get git commit -execute_process( - OUTPUT_VARIABLE GIT_SHORT_HASH - OUTPUT_STRIP_TRAILING_WHITESPACE - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - COMMAND git rev-parse --short HEAD -) - -# get git commit of v$VERSION -execute_process( - OUTPUT_VARIABLE GIT_TAG_SHORT_HASH - OUTPUT_STRIP_TRAILING_WHITESPACE - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - COMMAND git rev-parse --short v${VERSION} -) + + add_compile_definitions(HYPRLOCK_VERSION="${VERSION}") -add_compile_definitions(HYPRLOCK_COMMIT="${GIT_SHORT_HASH}") -add_compile_definitions(HYPRLOCK_VERSION_COMMIT="${GIT_TAG_SHORT_HASH}") + +if (DEFINED HYPRLOCK_COMMIT) + add_compile_definitions(HYPRLOCK_COMMIT="${HYPRLOCK_COMMIT}") +else() + # get git commit + execute_process( + OUTPUT_VARIABLE GIT_SHORT_HASH + OUTPUT_STRIP_TRAILING_WHITESPACE + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMAND git rev-parse --short HEAD + ) + add_compile_definitions(HYPRLOCK_COMMIT="${GIT_SHORT_HASH}") +endif() + +if (DEFINED HYPRLOCK_VERSION_COMMIT) + add_compile_definitions(HYPRLOCK_VERSION_COMMIT="${HYPRLOCK_VERSION_COMMIT}") +else() + # get git commit of v$VERSION + execute_process( + OUTPUT_VARIABLE GIT_TAG_SHORT_HASH + OUTPUT_STRIP_TRAILING_WHITESPACE + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMAND git rev-parse --short v${VERSION} + ) + add_compile_definitions(HYPRLOCK_VERSION_COMMIT="${GIT_TAG_SHORT_HASH}") +endif() + +message(STATUS "VERSION COMMIT: ${HYPRLOCK_VERSION_COMMIT}") +message(STATUS "COMMIT: ${HYPRLOCK_COMMIT}") # position independent build: __FILE__ add_compile_options(-fmacro-prefix-map=${CMAKE_SOURCE_DIR}/=) diff --git a/nix/default.nix b/nix/default.nix index 670fed4f..ce727e24 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -60,7 +60,7 @@ stdenv.mkDerivation { cmakeFlags = lib.mapAttrsToList lib.cmakeFeature { HYPRLOCK_COMMIT = shortRev; - HYPRLOCK_VERSION_COMMIT = shortRev; + HYPRLOCK_VERSION_COMMIT = ""; # Intentionally left empty (hyprlock --version will always print the commit) }; meta = {