Преглед на файлове

Auto generate version header

Paul преди 11 години
родител
ревизия
e4f70d07ac

+ 14 - 0
CMakeLists.txt

@@ -26,6 +26,19 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/bin_debug)
 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/bin_debug)
 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/bin_debug)
 
+# Generate header containing window title/version information
+set(QGEARS_VERSION "Q-Gears v${QGears_VERSION_MAJOR}.${QGears_VERSION_MINOR}.${QGears_VERSION_PATCH} (pre-alpha walk carefully)")
+configure_file(configure_version_file.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/configure_version_file.cmake @ONLY)
+
+add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgears_version.h
+  COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/configure_version_file.cmake
+  DEPENDS
+    ${CMAKE_CURRENT_BINARY_DIR}/configure_version_file.cmake
+    ${CMAKE_CURRENT_SOURCE_DIR}/qgears_version.h.in
+  COMMENT "Configuring qgears_version.h"
+  VERBATIM)
+add_custom_target(configure_qgears_version ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/qgears_version.h)
+
 # Enable Visual Studio solution "folders"
 SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON) 
 
@@ -172,6 +185,7 @@ message(SEND_ERROR "Boost_LIBRARIES is not set")
 endif()
 
 set(QGears_INCLUDE_DIRS
+    ${QGears_INCLUDE_DIRS}
     ${OIS_INCLUDE_DIRS}
     ${OGRE_INCLUDE_DIRS}
     ${OGRE_Overlay_INCLUDE_DIRS}

+ 0 - 2
QGearsMain/include/QGearsGameState.h

@@ -1,8 +1,6 @@
 #ifndef __QGearsGameState_H__
 #define __QGearsGameState_H__
 
-#define QG_VERSION_NAME "Q-Gears v0.21 (3rd alpha Run Wild)"
-
 namespace QGears
 {
     enum GAME_STATE

+ 3 - 0
QGearsMain/include/qgears_version.h.in

@@ -0,0 +1,3 @@
+#pragma once
+
+#define QG_VERSION_NAME "@QGEARS_VERSION@"

+ 1 - 0
QGearsMain/src/common/QGearsApplication.cpp

@@ -36,6 +36,7 @@ GNU General Public License for more details.
 #include "data/FF7ModelListFileManager.h"
 #include "data/QGearsLGPArchiveFactory.h"
 #include "common/make_unique.h"
+#include "qgears_version.h"
 
 template<> QGears::Application *Ogre::Singleton<QGears::Application>::msSingleton = nullptr;
 

+ 4 - 0
configure_version_file.cmake.in

@@ -0,0 +1,4 @@
+set(SRC_DIR "@CMAKE_CURRENT_SOURCE_DIR@")
+set(BIN_DIR "@CMAKE_CURRENT_BINARY_DIR@")
+set(QGEARS_VERSION "@QGEARS_VERSION@")
+configure_file(${SRC_DIR}/QGearsMain/include/qgears_version.h.in ${SRC_DIR}/QGearsMain/include/qgears_version.h @ONLY)