diff --git a/CMakeLists.txt b/CMakeLists.txt index 4cd662f1..a3b3584e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,6 +26,12 @@ execute_process( WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE GIT_COMMIT_MESSAGE OUTPUT_STRIP_TRAILING_WHITESPACE) + +execute_process( + COMMAND bash -c "git diff-index --quiet HEAD -- || echo \"dirty\"" + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_DIRTY + OUTPUT_STRIP_TRAILING_WHITESPACE) # # @@ -61,6 +67,7 @@ ENDIF(CMAKE_BUILD_TYPE MATCHES Debug OR CMAKE_BUILD_TYPE MATCHES DEBUG) target_compile_definitions(Hyprland PRIVATE "-DGIT_COMMIT_HASH=\"${GIT_COMMIT_HASH}\"") target_compile_definitions(Hyprland PRIVATE "-DGIT_BRANCH=\"${GIT_BRANCH}\"") target_compile_definitions(Hyprland PRIVATE "-DGIT_COMMIT_MESSAGE=\"${GIT_COMMIT_MESSAGE}\"") +target_compile_definitions(Hyprland PRIVATE "-DGIT_DIRTY=\"${GIT_DIRTY}\"") target_link_libraries(Hyprland rt) diff --git a/src/debug/HyprCtl.cpp b/src/debug/HyprCtl.cpp index 6986b601..a3a91cca 100644 --- a/src/debug/HyprCtl.cpp +++ b/src/debug/HyprCtl.cpp @@ -72,7 +72,7 @@ std::string layersRequest() { } std::string versionRequest() { - std::string result = "Hyprland, built from branch " + std::string(GIT_BRANCH) + " at commit " + GIT_COMMIT_HASH + " (" + GIT_COMMIT_MESSAGE + ").\nflags: (if any)\n"; + std::string result = "Hyprland, built from branch " + std::string(GIT_BRANCH) + " at commit " + GIT_COMMIT_HASH + GIT_DIRTY + " (" + GIT_COMMIT_MESSAGE + ").\nflags: (if any)\n"; #ifdef LEGACY_RENDERER result += "legacyrenderer\n"; diff --git a/src/defines.hpp b/src/defines.hpp index 13701a03..a803b985 100644 --- a/src/defines.hpp +++ b/src/defines.hpp @@ -60,4 +60,7 @@ #endif #ifndef GIT_COMMIT_MESSAGE #define GIT_COMMIT_MESSAGE "?" -#endif \ No newline at end of file +#endif +#ifndef GIT_DIRTY +#define GIT_DIRTY "?" +#endif