diff --git a/.gitignore b/.gitignore
index 562b2ee7..88a3b397 100644
--- a/.gitignore
+++ b/.gitignore
@@ -129,4 +129,4 @@ captures/
client/3rd/ShadowSocks/ss_ios.xcconfig
# UML generated pics
-out/
\ No newline at end of file
+out/
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0eaed834..d4cd53ce 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,11 +2,12 @@ cmake_minimum_required(VERSION 3.25.0 FATAL_ERROR)
set(PROJECT AmneziaVPN)
-set(BUILD_ID 1)
-project(${PROJECT} VERSION 2.1.2
+project(${PROJECT} VERSION 2.1.2.0
DESCRIPTION "AmneziaVPN"
HOMEPAGE_URL "https://amnezia.org/"
)
+set(RELEASE_DATE "09.03.2023")
+set(APP_MAJOR_VERSION ${CMAKE_PROJECT_VERSION_MAJOR}.${CMAKE_PROJECT_VERSION_MINOR}.${CMAKE_PROJECT_VERSION_PATCH})
if(ANDROID)
set(QT_ANDROID_BUILD_ALL_ABIS ON)
@@ -16,4 +17,6 @@ add_subdirectory(client)
if(NOT IOS AND NOT ANDROID)
add_subdirectory(service)
+
+ include(${CMAKE_SOURCE_DIR}/deploy/installer/config.cmake)
endif()
diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt
index 0b04e8bf..064393f3 100644
--- a/client/CMakeLists.txt
+++ b/client/CMakeLists.txt
@@ -407,15 +407,15 @@ if(IOS)
MACOSX_BUNDLE ON
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_LIST_DIR}/ios/app/Info.plist.in
MACOSX_BUNDLE_BUNDLE_NAME "AmneziaVPN"
- MACOSX_BUNDLE_BUNDLE_VERSION "${BUILD_ID}"
+ MACOSX_BUNDLE_BUNDLE_VERSION "${CMAKE_PROJECT_VERSION_TWEAK}"
MACOSX_BUNDLE_COPYRIGHT "MPL-2.0"
MACOSX_BUNDLE_GUI_IDENTIFIER "${BUILD_IOS_APP_IDENTIFIER}"
MACOSX_BUNDLE_INFO_STRING "AmneziaVPN"
- MACOSX_BUNDLE_LONG_VERSION_STRING "${CMAKE_PROJECT_VERSION}-${BUILD_ID}"
- MACOSX_BUNDLE_SHORT_VERSION_STRING "${CMAKE_PROJECT_VERSION}"
+ MACOSX_BUNDLE_LONG_VERSION_STRING "${APP_MAJOR_VERSION}-${CMAKE_PROJECT_VERSION_TWEAK}"
+ MACOSX_BUNDLE_SHORT_VERSION_STRING "${APP_MAJOR_VERSION}"
XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "${BUILD_IOS_APP_IDENTIFIER}"
XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_CURRENT_LIST_DIR}/ios/app/main.entitlements"
- XCODE_ATTRIBUTE_MARKETING_VERSION "${CMAKE_PROJECT_VERSION}"
+ XCODE_ATTRIBUTE_MARKETING_VERSION "${APP_MAJOR_VERSION}"
XCODE_GENERATE_SCHEME TRUE
MACOSX_BUNDLE_ICON_FILE "AppIcon"
)
diff --git a/client/platforms/windows/amneziavpn.rc.in b/client/platforms/windows/amneziavpn.rc.in
index 3c26fdb4..f3fd6721 100644
--- a/client/platforms/windows/amneziavpn.rc.in
+++ b/client/platforms/windows/amneziavpn.rc.in
@@ -13,7 +13,7 @@ IDI_ICON1 ICON "../../images/app.ico"
#define VER_PRODUCTNAME_STR VER_COMPANYNAME_STR
VS_VERSION_INFO VERSIONINFO
-FILEVERSION @CMAKE_PROJECT_VERSION_MAJOR@,@CMAKE_PROJECT_VERSION_MINOR@,@CMAKE_PROJECT_VERSION_PATCH@,@BUILD_ID@
+FILEVERSION @CMAKE_PROJECT_VERSION_MAJOR@,@CMAKE_PROJECT_VERSION_MINOR@,@CMAKE_PROJECT_VERSION_PATCH@,@CMAKE_PROJECT_VERSION_TWEAK@
PRODUCTVERSION @CMAKE_PROJECT_VERSION_MAJOR@,@CMAKE_PROJECT_VERSION_MINOR@,@CMAKE_PROJECT_VERSION_PATCH@
BEGIN
BLOCK "StringFileInfo"
diff --git a/client/ui/pages_logic/AppSettingsLogic.cpp b/client/ui/pages_logic/AppSettingsLogic.cpp
index 7e7744c9..b58b24a7 100644
--- a/client/ui/pages_logic/AppSettingsLogic.cpp
+++ b/client/ui/pages_logic/AppSettingsLogic.cpp
@@ -31,7 +31,7 @@ void AppSettingsLogic::onUpdatePage()
QString ver = QString("%1: %2 (%3)")
.arg(tr("Software version"))
- .arg(QString(APP_VERSION))
+ .arg(QString(APP_MAJOR_VERSION))
.arg(__DATE__);
set_labelVersionText(ver);
}
diff --git a/client/ui/pages_logic/VpnLogic.cpp b/client/ui/pages_logic/VpnLogic.cpp
index 0877e516..9a58db4d 100644
--- a/client/ui/pages_logic/VpnLogic.cpp
+++ b/client/ui/pages_logic/VpnLogic.cpp
@@ -88,7 +88,7 @@ void VpnLogic::onUpdatePage()
else {
set_labelErrorText("");
}
- QString ver = QString("v. %2").arg(QString(APP_VERSION));
+ QString ver = QString("v. %2").arg(QString(APP_MAJOR_VERSION));
set_labelVersionText(ver);
set_labelLogEnabledVisible(m_settings->isSaveLogs());
diff --git a/deploy/installer/config.cmake b/deploy/installer/config.cmake
new file mode 100644
index 00000000..77a7e67f
--- /dev/null
+++ b/deploy/installer/config.cmake
@@ -0,0 +1,23 @@
+if(WIN32)
+ set(RootDir "@RootDir@")
+ configure_file(
+ ${CMAKE_CURRENT_LIST_DIR}/config/windows.xml.in
+ ${CMAKE_CURRENT_LIST_DIR}/config/windows.xml
+ )
+elseif(APPLE AND NOT IOS)
+ configure_file(
+ ${CMAKE_CURRENT_LIST_DIR}/config/macos.xml.in
+ ${CMAKE_CURRENT_LIST_DIR}/config/macos.xml
+ )
+elseif(LINUX)
+ set(ApplicationsDir "@ApplicationsDir@")
+ configure_file(
+ ${CMAKE_CURRENT_LIST_DIR}/config/linux.xml.in
+ ${CMAKE_CURRENT_LIST_DIR}/config/linux.xml
+ )
+endif()
+
+configure_file(
+ ${CMAKE_CURRENT_LIST_DIR}/packages/org.amneziavpn.package/meta/package.xml.in
+ ${CMAKE_CURRENT_LIST_DIR}/packages/org.amneziavpn.package/meta/package.xml
+)
diff --git a/deploy/installer/config/linux.xml b/deploy/installer/config/linux.xml.in
similarity index 81%
rename from deploy/installer/config/linux.xml
rename to deploy/installer/config/linux.xml.in
index 4a0038ce..150c9cc5 100644
--- a/deploy/installer/config/linux.xml
+++ b/deploy/installer/config/linux.xml.in
@@ -18,10 +18,10 @@
false
true
-
- https://amneziavpn.org/updates/linux
- true
- AmneziaVPN - repository for Linux
-
+
+ https://amneziavpn.org/updates/linux
+ true
+ AmneziaVPN - repository for Linux
+
diff --git a/deploy/installer/config/macos.xml b/deploy/installer/config/macos.xml.in
similarity index 77%
rename from deploy/installer/config/macos.xml
rename to deploy/installer/config/macos.xml.in
index 22b9c007..74b682b7 100644
--- a/deploy/installer/config/macos.xml
+++ b/deploy/installer/config/macos.xml.in
@@ -1,7 +1,7 @@
AmneziaVPN
- 1.6.0.0
+ @CMAKE_PROJECT_VERSION@
AmneziaVPN
AmneziaVPN
AmneziaVPN
@@ -18,10 +18,10 @@
false
true
-
- https://amneziavpn.org/updates/macos
- true
- AmneziaVPN - repository for macOS
-
+
+ https://amneziavpn.org/updates/macos
+ true
+ AmneziaVPN - repository for macOS
+
diff --git a/deploy/installer/config/windows.xml b/deploy/installer/config/windows.xml.in
similarity index 94%
rename from deploy/installer/config/windows.xml
rename to deploy/installer/config/windows.xml.in
index 2ce9c410..36daa166 100644
--- a/deploy/installer/config/windows.xml
+++ b/deploy/installer/config/windows.xml.in
@@ -1,7 +1,7 @@
AmneziaVPN
- 2.0.0.0
+ @CMAKE_PROJECT_VERSION@
AmneziaVPN
AmneziaVPN
AmneziaVPN
diff --git a/deploy/installer/packages/org.amneziavpn.package/meta/package.xml b/deploy/installer/packages/org.amneziavpn.package/meta/package.xml.in
similarity index 78%
rename from deploy/installer/packages/org.amneziavpn.package/meta/package.xml
rename to deploy/installer/packages/org.amneziavpn.package/meta/package.xml.in
index 1178d343..447bad2c 100644
--- a/deploy/installer/packages/org.amneziavpn.package/meta/package.xml
+++ b/deploy/installer/packages/org.amneziavpn.package/meta/package.xml.in
@@ -2,11 +2,10 @@
AmneziaVPN
Installation package for AmneziaVPN
- 2.0.0.0
- 2022-02-02
+ @CMAKE_PROJECT_VERSION@
+ @RELEASE_DATE@
true
true
true
-
diff --git a/version.h.in b/version.h.in
index 1d6c40d2..1421bd68 100644
--- a/version.h.in
+++ b/version.h.in
@@ -5,6 +5,10 @@
#define APP_VERSION "@CMAKE_PROJECT_VERSION@"
#endif
+#ifndef APP_MAJOR_VERSION
+#define APP_MAJOR_VERSION "@APP_MAJOR_VERSION@"
+#endif
+
#define APPLICATION_NAME "AmneziaVPN"
#define SERVICE_NAME "AmneziaVPN-service"
#define ORGANIZATION_NAME "AmneziaVPN.ORG"