Browse Source

define app version only in CMakeLists

now it's propagated to code via macros
Andrey Filipenkov 3 years ago
parent
commit
92dd6d8c17
5 changed files with 12 additions and 18 deletions
  1. 6 1
      CMakeLists.txt
  2. 3 3
      launcher/modManager/cmodlist.cpp
  3. 1 1
      lib/CModHandler.cpp
  4. 2 10
      lib/GameConstants.cpp
  5. 0 3
      lib/GameConstants.h

+ 6 - 1
CMakeLists.txt

@@ -51,7 +51,12 @@ endif()
 set(VCMI_VERSION_MAJOR 1)
 set(VCMI_VERSION_MINOR 1)
 set(VCMI_VERSION_PATCH 0)
-
+add_definitions(
+	-DVCMI_VERSION_MAJOR=${VCMI_VERSION_MAJOR}
+	-DVCMI_VERSION_MINOR=${VCMI_VERSION_MINOR}
+	-DVCMI_VERSION_PATCH=${VCMI_VERSION_PATCH}
+	-DVCMI_VERSION_STRING="${VCMI_VERSION_MAJOR}.${VCMI_VERSION_MINOR}.${VCMI_VERSION_PATCH}"
+)
 set(APP_SHORT_VERSION "${VCMI_VERSION_MAJOR}.${VCMI_VERSION_MINOR}")
 if(NOT VCMI_VERSION_PATCH EQUAL 0)
 	string(APPEND APP_SHORT_VERSION ".${VCMI_VERSION_PATCH}")

+ 3 - 3
launcher/modManager/cmodlist.cpp

@@ -19,9 +19,9 @@ namespace
 bool isCompatible(const QString & verMin, const QString & verMax)
 {
 	const int maxSections = 3; // versions consist from up to 3 sections, major.minor.patch
-	QVersionNumber vcmiVersion(GameConstants::VCMI_VERSION_MAJOR,
-							   GameConstants::VCMI_VERSION_MINOR,
-							   GameConstants::VCMI_VERSION_PATCH);
+	QVersionNumber vcmiVersion(VCMI_VERSION_MAJOR,
+							   VCMI_VERSION_MINOR,
+							   VCMI_VERSION_PATCH);
 	
 	auto versionMin = QVersionNumber::fromString(verMin);
 	auto versionMax = QVersionNumber::fromString(verMax);

+ 1 - 1
lib/CModHandler.cpp

@@ -538,7 +538,7 @@ JsonNode addMeta(JsonNode config, std::string meta)
 
 CModInfo::Version CModInfo::Version::GameVersion()
 {
-	return Version(GameConstants::VCMI_VERSION_MAJOR, GameConstants::VCMI_VERSION_MINOR, GameConstants::VCMI_VERSION_PATCH);
+	return Version(VCMI_VERSION_MAJOR, VCMI_VERSION_MINOR, VCMI_VERSION_PATCH);
 }
 
 CModInfo::Version CModInfo::Version::fromString(std::string from)

+ 2 - 10
lib/GameConstants.cpp

@@ -53,18 +53,10 @@ const TeamID TeamID::NO_TEAM = TeamID(255);
 
 namespace GameConstants
 {
-	const int VCMI_VERSION_MAJOR = 1;
-	const int VCMI_VERSION_MINOR = 1;
-	const int VCMI_VERSION_PATCH = 0;
-
-	const std::string VCMI_VERSION_STRING = std::to_string(VCMI_VERSION_MAJOR) + "." +
-											std::to_string(VCMI_VERSION_MINOR) + "." +
-											std::to_string(VCMI_VERSION_PATCH);
-
 #ifdef VCMI_NO_EXTRA_VERSION
-	const std::string VCMI_VERSION = std::string("VCMI ") + VCMI_VERSION_STRING;
+	const std::string VCMI_VERSION = "VCMI " VCMI_VERSION_STRING;
 #else
-	const std::string VCMI_VERSION = std::string("VCMI ") + VCMI_VERSION_STRING + "." + GIT_SHA1;
+	const std::string VCMI_VERSION = "VCMI " VCMI_VERSION_STRING "." + std::string{GIT_SHA1};
 #endif
 }
 

+ 0 - 3
lib/GameConstants.h

@@ -38,9 +38,6 @@ struct IdTag
 
 namespace GameConstants
 {
-	DLL_LINKAGE extern const int VCMI_VERSION_MAJOR;
-	DLL_LINKAGE extern const int VCMI_VERSION_MINOR;
-	DLL_LINKAGE extern const int VCMI_VERSION_PATCH;
 	DLL_LINKAGE extern const std::string VCMI_VERSION;
 
 	const int PUZZLE_MAP_PIECES = 48;