Index: /code/branches/core5/cmake/SourceFileUtilities.cmake
===================================================================
--- /code/branches/core5/cmake/SourceFileUtilities.cmake	(revision 5870)
+++ /code/branches/core5/cmake/SourceFileUtilities.cmake	(revision 5871)
@@ -47,6 +47,7 @@
         MESSAGE(FATAL_ERROR "No name provided for source file compilation")
       ENDIF()
+      SET(_include_string)
       FOREACH(_file2 ${_compilation})
-        SET(_include_string "${_include_string}\n#include \"${_file2}\"")
+        SET(_include_string "${_include_string}#include \"${_file2}\"\n")
       ENDFOREACH(_file2)
       IF(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${_compilation_name})
Index: /code/branches/core5/src/external/bullet/BulletCollision/CMakeLists.txt
===================================================================
--- /code/branches/core5/src/external/bullet/BulletCollision/CMakeLists.txt	(revision 5870)
+++ /code/branches/core5/src/external/bullet/BulletCollision/CMakeLists.txt	(revision 5871)
@@ -1,3 +1,6 @@
 ADD_SOURCE_FILES(BULLET_FILES
+
+COMPILATION_BEGIN BulletCollisionCompilation.cpp
+
 	BroadphaseCollision/btAxisSweep3.cpp
 	BroadphaseCollision/btBroadphaseProxy.cpp
@@ -68,13 +71,9 @@
 	Gimpact/btContactProcessing.cpp
 	Gimpact/btGImpactShape.cpp
-	Gimpact/gim_contact.cpp
 	Gimpact/btGImpactBvh.cpp
 	Gimpact/btGenericPoolAllocator.cpp
-	Gimpact/gim_memory.cpp
 	Gimpact/btGImpactCollisionAlgorithm.cpp
 	Gimpact/btTriangleShapeEx.cpp
-	Gimpact/gim_tri_collision.cpp
 	Gimpact/btGImpactQuantizedBvh.cpp
-	Gimpact/gim_box_set.cpp
 
 	NarrowPhaseCollision/btContinuousConvexCollision.cpp
@@ -89,4 +88,13 @@
 	NarrowPhaseCollision/btSubSimplexConvexCast.cpp
 	NarrowPhaseCollision/btVoronoiSimplexSolver.cpp
+
+COMPILATION_END
+
+COMPILATION_BEGIN BulletGImpactCompilation.cpp
+	Gimpact/gim_contact.cpp
+	Gimpact/gim_memory.cpp
+	Gimpact/gim_tri_collision.cpp
+	Gimpact/gim_box_set.cpp
+COMPILATION_END
 
 	# Headers
Index: /code/branches/core5/src/external/bullet/BulletDynamics/CMakeLists.txt
===================================================================
--- /code/branches/core5/src/external/bullet/BulletDynamics/CMakeLists.txt	(revision 5870)
+++ /code/branches/core5/src/external/bullet/BulletDynamics/CMakeLists.txt	(revision 5871)
@@ -1,3 +1,6 @@
 ADD_SOURCE_FILES(BULLET_FILES
+
+COMPILATION_BEGIN BulletDynamicsCompilation.cpp
+
 	ConstraintSolver/btContactConstraint.cpp
 	ConstraintSolver/btConeTwistConstraint.cpp
@@ -19,4 +22,6 @@
 
 	Character/btKinematicCharacterController.cpp
+
+COMPILATION_END
 
 	# Headers
Index: /code/branches/core5/src/external/bullet/CMakeLists.txt
===================================================================
--- /code/branches/core5/src/external/bullet/CMakeLists.txt	(revision 5870)
+++ /code/branches/core5/src/external/bullet/CMakeLists.txt	(revision 5871)
@@ -34,6 +34,4 @@
   ORXONOX_EXTERNAL
   NO_DLL_INTERFACE
-  PCH_FILE
-    BulletPrecompiledHeaders.h
   VERSION
     2.74
Index: /code/branches/core5/src/external/bullet/LinearMath/CMakeLists.txt
===================================================================
--- /code/branches/core5/src/external/bullet/LinearMath/CMakeLists.txt	(revision 5870)
+++ /code/branches/core5/src/external/bullet/LinearMath/CMakeLists.txt	(revision 5871)
@@ -1,7 +1,10 @@
 ADD_SOURCE_FILES(BULLET_FILES
+
+COMPILATION_BEGIN BulletLinearMathCompilation.cpp
 		btConvexHull.cpp
 		btQuickprof.cpp
 		btGeometryUtil.cpp
 		btAlignedAllocator.cpp
+COMPILATION_END
 
 		# Headers
Index: /code/branches/core5/src/external/ogreceguirenderer/CMakeLists.txt
===================================================================
--- /code/branches/core5/src/external/ogreceguirenderer/CMakeLists.txt	(revision 5870)
+++ /code/branches/core5/src/external/ogreceguirenderer/CMakeLists.txt	(revision 5871)
@@ -18,12 +18,14 @@
  #
 
-SET(OCR_FILES
+SET_SOURCE_FILES(OCR_FILES
   OgreCEGUIRenderer.h
   OgreCEGUIResourceProvider.h
   OgreCEGUITexture.h
 
+COMPILATION_BEGIN OgreCEGUIRendererCompilation.cpp
   OgreCEGUIRenderer.cpp
   OgreCEGUIResourceProvider.cpp
   OgreCEGUITexture.cpp
+COMPILATION_END
 )
 
Index: /code/branches/core5/src/external/ois/CMakeLists.txt
===================================================================
--- /code/branches/core5/src/external/ois/CMakeLists.txt	(revision 5870)
+++ /code/branches/core5/src/external/ois/CMakeLists.txt	(revision 5871)
@@ -34,4 +34,5 @@
   OISPrereqs.h
 
+COMPILATION_BEGIN OISCompilation.cpp
   OISEffect.cpp
   OISException.cpp
@@ -41,4 +42,5 @@
   OISKeyboard.cpp
   OISObject.cpp
+COMPILATION_END
 )
 IF(WIN32)
Index: /code/branches/core5/src/external/ois/linux/CMakeLists.txt
===================================================================
--- /code/branches/core5/src/external/ois/linux/CMakeLists.txt	(revision 5870)
+++ /code/branches/core5/src/external/ois/linux/CMakeLists.txt	(revision 5871)
@@ -8,4 +8,5 @@
   LinuxPrereqs.h
 
+COMPILATION_BEGIN OISLinuxCompilation.cpp
   EventHelpers.cpp
   LinuxForceFeedback.cpp
@@ -14,3 +15,4 @@
   LinuxKeyboard.cpp
   LinuxMouse.cpp
+COMPILATION_END
 )
Index: /code/branches/core5/src/external/ois/mac/CMakeLists.txt
===================================================================
--- /code/branches/core5/src/external/ois/mac/CMakeLists.txt	(revision 5870)
+++ /code/branches/core5/src/external/ois/mac/CMakeLists.txt	(revision 5871)
@@ -7,4 +7,5 @@
   MacPrereqs.h
 
+COMPILATION_BEGIN OISMacCompilation.cpp
   MacHelpers.cpp
   MacHIDManager.cpp
@@ -12,3 +13,4 @@
   MacKeyboard.cpp
   MacMouse.cpp
+COMPILATION_END
 )
Index: /code/branches/core5/src/external/ois/win32/CMakeLists.txt
===================================================================
--- /code/branches/core5/src/external/ois/win32/CMakeLists.txt	(revision 5870)
+++ /code/branches/core5/src/external/ois/win32/CMakeLists.txt	(revision 5871)
@@ -7,4 +7,5 @@
   Win32Prereqs.h
 
+COMPILATION_BEGIN OISWin32Compilation.cpp
   Win32ForceFeedback.cpp
   Win32InputManager.cpp
@@ -12,3 +13,4 @@
   Win32KeyBoard.cpp
   Win32Mouse.cpp
+COMPILATION_END
 )
Index: /code/branches/core5/src/external/tinyxml/CMakeLists.txt
===================================================================
--- /code/branches/core5/src/external/tinyxml/CMakeLists.txt	(revision 5870)
+++ /code/branches/core5/src/external/tinyxml/CMakeLists.txt	(revision 5871)
@@ -18,5 +18,5 @@
  #
 
-SET(TINYXML++_FILES
+SET_SOURCE_FILES(TINYXML++_FILES
   ticpp.h
   ticpprc.h
@@ -24,4 +24,5 @@
   tinyxml.h
 
+COMPILATION_BEGIN TicppCompilation.cpp
   ticpp.cpp
   tinystr.cpp
@@ -29,4 +30,5 @@
   tinyxmlerror.cpp
   tinyxmlparser.cpp
+COMPILATION_END
 )
 
Index: /code/branches/core5/src/external/tolua/CMakeLists.txt
===================================================================
--- /code/branches/core5/src/external/tolua/CMakeLists.txt	(revision 5870)
+++ /code/branches/core5/src/external/tolua/CMakeLists.txt	(revision 5871)
@@ -20,8 +20,8 @@
 ################### Tolua++ library ###################
 
-SET(TOLUA++_FILES
+SET_SOURCE_FILES(TOLUA++_FILES
   tolua_event.h
   tolua++.h
-
+COMPILATION_BEGIN ToluaCompilation.c
   tolua_event.c
   tolua_is.c
@@ -29,6 +29,6 @@
   tolua_push.c
   tolua_to.c
+COMPILATION_END
 )
-GENERATE_SOURCE_GROUPS(${TOLUA++_FILES})
 
 # No warnings needed from third party libraries
