vcpkg/ports/qt-advanced-docking-system/fix_windows_version_resourc...

104 lines
3.8 KiB
Diff

diff --git a/cmake/modules/Versioning.cmake b/cmake/modules/Versioning.cmake
index e492370..380d97e 100644
--- a/cmake/modules/Versioning.cmake
+++ b/cmake/modules/Versioning.cmake
@@ -10,51 +10,54 @@ set(_VERSIONING_MODULE_DIR "${CMAKE_CURRENT_LIST_DIR}" CACHE INTERNAL "Versionin
# ------------------------------------------------------------
# Extract version information from Git
# ------------------------------------------------------------
+if(NOT ADS_VERSION)
+ # Get tag (expected: v1.2.3 or 1.2.3 or 1.2.3-12-gHASH)
+ execute_process(
+ COMMAND git describe --tags --dirty
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+ OUTPUT_VARIABLE GIT_DESC_RAW
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+
+ # Remove leading "v" if present
+ string(REGEX REPLACE "^v" "" GIT_DESC "${GIT_DESC_RAW}")
+
+ # Extract major.minor.patch
+ string(REGEX MATCH "^([0-9]+)\\.([0-9]+)\\.([0-9]+)" _ "${GIT_DESC}")
+ set(PROJECT_VERSION_MAJOR "${CMAKE_MATCH_1}")
+ set(PROJECT_VERSION_MINOR "${CMAKE_MATCH_2}")
+ set(PROJECT_VERSION_PATCH "${CMAKE_MATCH_3}")
+
+ set(PROJECT_VERSION_STRING
+ "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}"
+ )
+
+ # Commit hash (full + short)
+ execute_process(
+ COMMAND git rev-parse HEAD
+ OUTPUT_VARIABLE PROJECT_GIT_HASH
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+
+ execute_process(
+ COMMAND git rev-parse --short HEAD
+ OUTPUT_VARIABLE PROJECT_GIT_HASH_SHORT
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
-# Get tag (expected: v1.2.3 or 1.2.3 or 1.2.3-12-gHASH)
-execute_process(
- COMMAND git describe --tags --dirty
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
- OUTPUT_VARIABLE GIT_DESC_RAW
- OUTPUT_STRIP_TRAILING_WHITESPACE
-)
-
-# Remove leading "v" if present
-string(REGEX REPLACE "^v" "" GIT_DESC "${GIT_DESC_RAW}")
-
-# Extract major.minor.patch
-string(REGEX MATCH "^([0-9]+)\\.([0-9]+)\\.([0-9]+)" _ "${GIT_DESC}")
-set(PROJECT_VERSION_MAJOR "${CMAKE_MATCH_1}")
-set(PROJECT_VERSION_MINOR "${CMAKE_MATCH_2}")
-set(PROJECT_VERSION_PATCH "${CMAKE_MATCH_3}")
-
-set(PROJECT_VERSION_STRING
- "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}"
-)
-
-# Commit hash (full + short)
-execute_process(
- COMMAND git rev-parse HEAD
- OUTPUT_VARIABLE PROJECT_GIT_HASH
- OUTPUT_STRIP_TRAILING_WHITESPACE
-)
-
-execute_process(
- COMMAND git rev-parse --short HEAD
- OUTPUT_VARIABLE PROJECT_GIT_HASH_SHORT
- OUTPUT_STRIP_TRAILING_WHITESPACE
-)
-
-# Export variables to parent scope
-set(PROJECT_VERSION_MAJOR "${PROJECT_VERSION_MAJOR}" PARENT_SCOPE)
-set(PROJECT_VERSION_MINOR "${PROJECT_VERSION_MINOR}" PARENT_SCOPE)
-set(PROJECT_VERSION_PATCH "${PROJECT_VERSION_PATCH}" PARENT_SCOPE)
-set(PROJECT_VERSION_STRING "${PROJECT_VERSION_STRING}" PARENT_SCOPE)
-set(PROJECT_GIT_HASH "${PROJECT_GIT_HASH}" PARENT_SCOPE)
-set(PROJECT_GIT_HASH_SHORT "${PROJECT_GIT_HASH_SHORT}" PARENT_SCOPE)
-
-# Public variable for users
-set(PROJECT_AUTO_VERSION "${PROJECT_VERSION_STRING}" PARENT_SCOPE)
+ # Export variables to parent scope
+ set(PROJECT_VERSION_MAJOR "${PROJECT_VERSION_MAJOR}" PARENT_SCOPE)
+ set(PROJECT_VERSION_MINOR "${PROJECT_VERSION_MINOR}" PARENT_SCOPE)
+ set(PROJECT_VERSION_PATCH "${PROJECT_VERSION_PATCH}" PARENT_SCOPE)
+ set(PROJECT_VERSION_STRING "${PROJECT_VERSION_STRING}" PARENT_SCOPE)
+ set(PROJECT_GIT_HASH "${PROJECT_GIT_HASH}" PARENT_SCOPE)
+ set(PROJECT_GIT_HASH_SHORT "${PROJECT_GIT_HASH_SHORT}" PARENT_SCOPE)
+
+ # Public variable for users
+ set(PROJECT_AUTO_VERSION "${PROJECT_VERSION_STRING}" PARENT_SCOPE)
+else()
+ set(PROJECT_VERSION_STRING "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
+endif()
# ------------------------------------------------------------
# Reusable function: Attach Windows version resources to target