aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt12
-rw-r--r--sway/main.c6
2 files changed, 17 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7e400cd2..bbf61299 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,6 +6,18 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "bin/")
add_definitions("-Wall -Wextra -Wno-unused-parameter")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMake)
+if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git")
+ execute_process(
+ COMMAND git describe --always
+ OUTPUT_VARIABLE GIT_COMMIT_HASH
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+endif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git")
+
+SET(GIT_VERSION_FLAG "-DSWAY_GIT_VERSION=\"${GIT_COMMIT_HASH}\"")
+
+add_definitions("${GIT_VERSION_FLAG}")
+
find_package(XKBCommon REQUIRED)
find_package(WLC REQUIRED)
find_package(A2X REQUIRED)
diff --git a/sway/main.c b/sway/main.c
index afbdab33..0880cb8c 100644
--- a/sway/main.c
+++ b/sway/main.c
@@ -78,7 +78,11 @@ int main(int argc, char **argv) {
debug = 1;
break;
case 'v': // version
- // todo
+#ifdef SWAY_GIT_VERSION
+ fprintf(stdout, "sway build %s\n", SWAY_GIT_VERSION);
+#else
+ fprintf(stdout, "version not detected\n");
+#endif
exit(0);
break;
case 'V': // verbose