Преглед изворни кода

cmake/libobs: Set OBS_COMMIT based on git describe

derrod пре 3 година
родитељ
комит
cdc9313829
2 измењених фајлова са 8 додато и 0 уклоњено
  1. 7 0
      cmake/Modules/VersionConfig.cmake
  2. 1 0
      libobs/obsconfig.h.in

+ 7 - 0
cmake/Modules/VersionConfig.cmake

@@ -32,6 +32,13 @@ if(NOT DEFINED OBS_VERSION_OVERRIDE)
         string(REPLACE "." ";" _CANONICAL_SPLIT ${_CANONICAL_SPLIT})
         list(GET _CANONICAL_SPLIT 0 1 2 _OBS_VERSION_CANONICAL)
         string(REPLACE "." ";" _OBS_VERSION ${_OBS_VERSION})
+        # Get 8-character commit hash without "g" prefix
+        foreach(VERSION_PART ${_CANONICAL_SPLIT})
+          if(VERSION_PART MATCHES "^g")
+            string(SUBSTRING ${VERSION_PART}, 1, 8, OBS_COMMIT)
+            break()
+          endif()
+        endforeach()
       endif()
     endif()
   endif()

+ 1 - 0
libobs/obsconfig.h.in

@@ -16,6 +16,7 @@
 #define OBS_PLUGIN_DESTINATION "@OBS_PLUGIN_DESTINATION@"
 #define OBS_QT_VERSION @_QT_VERSION@
 
+#cmakedefine OBS_COMMIT "@OBS_COMMIT@"
 #cmakedefine LINUX_PORTABLE
 #cmakedefine GIO_FOUND
 #cmakedefine PULSEAUDIO_FOUND