Skip to content

Commit a6c65ad

Browse files
committed
update cmake file
1 parent e0d4015 commit a6c65ad

File tree

4 files changed

+27
-23
lines changed

4 files changed

+27
-23
lines changed

CMakeLists.txt

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,28 @@ cmake_minimum_required(VERSION 3.16)
33
#=============================================================================
44
# Project Metadata and Versioning
55
#=============================================================================
6+
7+
execute_process(
8+
COMMAND bash "${CMAKE_CURRENT_SOURCE_DIR}/update_version.sh"
9+
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
10+
RESULT_VARIABLE VERSION_SCRIPT_RESULT
11+
)
12+
if(NOT VERSION_SCRIPT_RESULT EQUAL 0)
13+
message(WARNING "The version update script failed to run. Version info may be stale or incorrect.")
14+
endif()
15+
616
set(VERSION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/resources/version.conf")
17+
718
if(EXISTS "${VERSION_FILE}")
819
file(READ "${VERSION_FILE}" PROJECT_VERSION_STRING)
920
string(STRIP "${PROJECT_VERSION_STRING}" PROJECT_VERSION_STRING)
1021
else()
11-
set(PROJECT_VERSION_STRING "unknown")
22+
set(PROJECT_VERSION_STRING "0.0.0")
1223
message(WARNING "Could not find version file: ${VERSION_FILE}. Defaulting to version ${PROJECT_VERSION_STRING}.")
1324
endif()
1425

1526
project(bikram-calendar VERSION ${PROJECT_VERSION_STRING} LANGUAGES CXX)
16-
message(STATUS "Configuring bikram-calendar version: ${PROJECT_VERSION}")
27+
message(STATUS "Configuring bikram-calendar version: ${PROJECT_VERSION_STRING}")
1728

1829
#=============================================================================
1930
# C++ Standard and Qt Setup
@@ -36,18 +47,6 @@ find_package(Qt6 REQUIRED COMPONENTS
3647
qt_policy(SET QTP0001 NEW)
3748
qt_policy(SET QTP0004 NEW)
3849

39-
#=============================================================================
40-
# Run Versioning Script Before Build
41-
#=============================================================================
42-
execute_process(
43-
COMMAND bash "${CMAKE_CURRENT_SOURCE_DIR}/update_version.sh"
44-
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
45-
RESULT_VARIABLE VERSION_SCRIPT_RESULT
46-
)
47-
if(NOT VERSION_SCRIPT_RESULT EQUAL 0)
48-
message(WARNING "The version update script failed to run. Version info may be stale or incorrect.")
49-
endif()
50-
5150
#=============================================================================
5251
# Source Files
5352
#=============================================================================

resources/build_info.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Built from Git source at Wed Aug 20 08:22:30 AM +0545 2025
1+
Built from Git source at Wed Aug 20 09:33:02 AM +0545 2025 (2.2.4)

resources/version.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.1.1-3-g8bc
1+
2.2.4

update_version.sh

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,22 @@ BUILD_INFO_FILE="resources/build_info.conf"
66
GIT_BUILD_MSG="Built from Git source at $(date)"
77
NON_GIT_BUILD_MSG="(*built from non-Git environment $(date), version may not be correct)"
88

9-
109
if command -v git &> /dev/null && git rev-parse --is-inside-work-tree &> /dev/null; then
11-
1210
echo "Git environment detected. Overwriting version files."
13-
GIT_VERSION=$(git describe --tags | sed -E 's/-g([0-9a-f]{3}).*/-g\1/')
14-
echo "$GIT_VERSION" > "$VERSION_FILE"
15-
echo "$GIT_BUILD_MSG" > "$BUILD_INFO_FILE"
11+
12+
# Full version with Git metadata
13+
FULL_VERSION=$(git describe --tags | sed -E 's/-g([0-9a-f]{3,}).*/-g\1/')
14+
15+
# Clean semantic version
16+
CLEAN_VERSION=$(echo "$FULL_VERSION" | grep -oE '^[0-9]+\.[0-9]+\.[0-9]+')
17+
18+
# Write both
19+
echo "$CLEAN_VERSION" > "$VERSION_FILE"
20+
echo "$GIT_BUILD_MSG ($FULL_VERSION)" > "$BUILD_INFO_FILE"
1621

1722
else
1823
echo "Non-Git environment detected. Overwriting with fallback versions."
1924
echo "$NON_GIT_BUILD_MSG" > "$BUILD_INFO_FILE"
20-
2125
fi
22-
exit 0
26+
27+
exit 0

0 commit comments

Comments
 (0)