Bläddra i källkod

Added cotrie for QGearsMain and q-gears-data, reduces compile time by 70% on windows

Paul 11 år sedan
förälder
incheckning
995ccb875c
4 ändrade filer med 11 tillägg och 6 borttagningar
  1. 3 0
      .gitmodules
  2. 5 3
      CMakeLists.txt
  3. 2 3
      QGearsMain/src/data/QGearsRSDFileSerializer.cpp
  4. 1 0
      dependencies/cotire

+ 3 - 0
.gitmodules

@@ -16,3 +16,6 @@
 [submodule "dependencies/SUDM"]
 	path = dependencies/SUDM
 	url = https://github.com/paulsapps/SUDM.git
+[submodule "dependencies/cotire"]
+	path = dependencies/cotire
+	url = https://github.com/sakra/cotire

+ 5 - 3
CMakeLists.txt

@@ -1,9 +1,11 @@
 cmake_minimum_required(VERSION 2.6)
-
 project(QGears)
 set (CMAKE_PACKAGE_ICON q-gears.png)
 #set( CMAKE_VERBOSE_MAKEFILE on )
 
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/dependencies/cotire/CMake")
+include(cotire)
+
 # The version number.
 set(QGears_VERSION_MAJOR 0)
 set(QGears_VERSION_MINOR 22)
@@ -201,8 +203,8 @@ set(QGears_INCLUDE_DIRS
 
 
 if (MSVC)
-# Build cpp files on all cores
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
+# Build cpp files on all cores, up virtual mem for PCH's as cotire really makes the compiler scream
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /Zm193")
 else()
 # Enable C++11, you may need to use -std=c++0x if using an older gcc compiler
 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fPIC")

+ 2 - 3
QGearsMain/src/data/QGearsRSDFileSerializer.cpp

@@ -31,7 +31,6 @@ THE SOFTWARE.
 
 namespace QGears
 {
-    typedef Ogre::StringUtil        StringUtil;
     typedef Ogre::StringConverter   StringConverter;
 
     //---------------------------------------------------------------------
@@ -58,7 +57,7 @@ namespace QGears
     RSDFileSerializer::readFileHeader( Ogre::DataStreamPtr &stream )
     {
         String line( getLine( stream ) );
-        if( !StringUtil::startsWith( line, TAG_HEADER, false ) )
+        if( !Ogre::StringUtil::startsWith( line, TAG_HEADER, false ) )
         {
             Ogre::LogManager::getSingleton().stream() << line;
             OGRE_EXCEPT(Ogre::Exception::ERR_INVALIDPARAMS
@@ -73,7 +72,7 @@ namespace QGears
     {
         if( line.empty() ) return;
 
-        Ogre::StringVector parts( StringUtil::split( line, PARSE_DELIMITER ));
+        Ogre::StringVector parts( Ogre::StringUtil::split( line, PARSE_DELIMITER ));
         if( parts.size() < 2 )
         {
             Ogre::LogManager::getSingleton().stream() << "line is: '" << line << "'";

+ 1 - 0
dependencies/cotire

@@ -0,0 +1 @@
+Subproject commit 9ab2aba91af8ba9481df74bae8f43d8151f1d955