Skip to content

Commit 36faa83

Browse files
committed
build: fix version substitution for appimage
1 parent e9140b3 commit 36faa83

File tree

2 files changed

+12
-14
lines changed

2 files changed

+12
-14
lines changed

CMakeLists.txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,8 @@ target_link_libraries(${PROJECT_NAME} PRIVATE
168168

169169
set_target_properties(${PROJECT_NAME} PROPERTIES
170170
MACOSX_BUNDLE_GUI_IDENTIFIER AmurClient.online
171-
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
172-
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
171+
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION_SEMVER}
172+
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_SEMVER_MAJOR}.${PROJECT_VERSION_SEMVER_MINOR}
173173
MACOSX_BUNDLE TRUE
174174
WIN32_EXECUTABLE TRUE
175175
)
@@ -189,7 +189,7 @@ include(\"${CMAKE_SOURCE_DIR}/cmake/linuxdeploy.cmake\")
189189
190190
build_appimage(
191191
APP_NAME \"${PROJECT_NAME}\"
192-
APP_VERSION \"${PROJECT_VERSION}\"
192+
APP_VERSION \"${PROJECT_VERSION_SEMVER}\"
193193
EXECUTABLE \"${PROJECT_NAME}\"
194194
ICON \"${CMAKE_SOURCE_DIR}/data/images/logo.png\"
195195
APP_ARCH \"${CMAKE_SYSTEM_PROCESSOR}\"

cmake/GetVersionFromGit.cmake

+9-11
Original file line numberDiff line numberDiff line change
@@ -44,16 +44,14 @@ endif()
4444
# Сохраняем PARSED_VERSION в переменной PROJECT_VERSION_SEMVER (SemVer)
4545
set(PROJECT_VERSION_SEMVER "${PARSED_VERSION}" CACHE INTERNAL "Semver version X.Y.Z")
4646

47-
# -------------------------------------------------------------------------
48-
# Дальше: используйте PROJECT_VERSION_SEMVER и PROJECT_VERSION_FULL
49-
# в своем основном CMakeLists (или прямо тут).
50-
#
51-
# Например, можно прямо здесь объявить проект с нужной версией:
52-
#
53-
# project(MyProject VERSION ${PROJECT_VERSION_SEMVER} LANGUAGES CXX)
54-
#
55-
# Но иногда это делают в главном CMakeLists, чтобы была гибкость.
56-
# -------------------------------------------------------------------------
47+
# Извлекаем Major и Minor версии
48+
string(REGEX MATCH "^[0-9]+" PROJECT_VERSION_SEMVER_MAJOR "${PROJECT_VERSION_SEMVER}")
49+
string(REGEX MATCH "^[0-9]+\\.[0-9]+" PROJECT_VERSION_SEMVER_MINOR_TMP "${PROJECT_VERSION_SEMVER}")
50+
string(REGEX MATCH "[0-9]+$" PROJECT_VERSION_SEMVER_MINOR "${PROJECT_VERSION_SEMVER_MINOR_TMP}")
51+
52+
# Сохраняем их в кэше
53+
set(PROJECT_VERSION_SEMVER_MAJOR "${PROJECT_VERSION_SEMVER_MAJOR}" CACHE INTERNAL "Major version")
54+
set(PROJECT_VERSION_SEMVER_MINOR "${PROJECT_VERSION_SEMVER_MINOR}" CACHE INTERNAL "Minor version")
5755

56+
# Выводим в консоль
5857
message(STATUS "Project semver parsed: ${PROJECT_VERSION_SEMVER}")
59-
message(STATUS "Project full version : ${PROJECT_VERSION_FULL}")

0 commit comments

Comments
 (0)