Index: code/branches/core5/cmake/ParseMacroArguments.cmake
===================================================================
--- code/branches/core5/cmake/ParseMacroArguments.cmake	(revision 5871)
+++ code/branches/core5/cmake/ParseMacroArguments.cmake	(revision 5872)
@@ -39,4 +39,9 @@
   # Using LIST(FIND ...) speeds up the process
   SET(_keywords ${_switches} ${_list_names})
+
+  # Reset all arguments
+  FOREACH(_arg ${_switches} ${_list_names})
+    SET(_arg_${_arg})
+  ENDFOREACH(_arg)
 
   # Parse all the arguments and set the corresponding variable
Index: code/branches/core5/cmake/TargetUtilities.cmake
===================================================================
--- code/branches/core5/cmake/TargetUtilities.cmake	(revision 5871)
+++ code/branches/core5/cmake/TargetUtilities.cmake	(revision 5872)
@@ -67,14 +67,14 @@
 ENDIF()
 
-FUNCTION(ORXONOX_ADD_LIBRARY _target_name)
+MACRO(ORXONOX_ADD_LIBRARY _target_name)
   TU_ADD_TARGET(${_target_name} LIBRARY "STATIC;SHARED" ${ARGN})
-ENDFUNCTION(ORXONOX_ADD_LIBRARY)
-
-FUNCTION(ORXONOX_ADD_EXECUTABLE _target_name)
+ENDMACRO(ORXONOX_ADD_LIBRARY)
+
+MACRO(ORXONOX_ADD_EXECUTABLE _target_name)
   TU_ADD_TARGET(${_target_name} EXECUTABLE "WIN32" ${ARGN})
-ENDFUNCTION(ORXONOX_ADD_EXECUTABLE)
-
-
-FUNCTION(TU_ADD_TARGET _target_name _target_type _additional_switches)
+ENDMACRO(ORXONOX_ADD_EXECUTABLE)
+
+
+MACRO(TU_ADD_TARGET _target_name _target_type _additional_switches)
   CAPITALISE_NAME(${_target_name} _target_name_capitalised)
 
@@ -150,4 +150,10 @@
     SET(_arg_SHARED)
     SET(_arg_STATIC STATIC)
+  ENDIF()
+
+  # No warnings needed from third party libraries
+  IF(_arg_ORXONOX_EXTERNAL)
+    REMOVE_COMPILER_FLAGS("-W3 -W4" MSVC)
+    ADD_COMPILER_FLAGS("-w")
   ENDIF()
 
@@ -234,5 +240,5 @@
   ENDIF()
 
-ENDFUNCTION(TU_ADD_TARGET)
+ENDMACRO(TU_ADD_TARGET)
 
 
Index: code/branches/core5/src/external/bullet/CMakeLists.txt
===================================================================
--- code/branches/core5/src/external/bullet/CMakeLists.txt	(revision 5871)
+++ code/branches/core5/src/external/bullet/CMakeLists.txt	(revision 5872)
@@ -27,8 +27,4 @@
 ADD_SUBDIRECTORY(LinearMath)
 
-# No warnings needed from third party libraries
-REMOVE_COMPILER_FLAGS("-W3 -W4" MSVC)
-ADD_COMPILER_FLAGS("-w")
-
 ORXONOX_ADD_LIBRARY(bullet_orxonox
   ORXONOX_EXTERNAL
Index: code/branches/core5/src/external/ceguilua/CMakeLists.txt
===================================================================
--- code/branches/core5/src/external/ceguilua/CMakeLists.txt	(revision 5871)
+++ code/branches/core5/src/external/ceguilua/CMakeLists.txt	(revision 5872)
@@ -67,8 +67,4 @@
 )
 
-# No warnings needed from third party libraries
-REMOVE_COMPILER_FLAGS("-W3 -W4" MSVC)
-ADD_COMPILER_FLAGS("-w")
-
 SOURCE_GROUP("Source" FILES ${CEGUILUA_FILES})
 
Index: code/branches/core5/src/external/cpptcl/CMakeLists.txt
===================================================================
--- code/branches/core5/src/external/cpptcl/CMakeLists.txt	(revision 5871)
+++ code/branches/core5/src/external/cpptcl/CMakeLists.txt	(revision 5872)
@@ -32,8 +32,4 @@
 )
 
-# No warnings needed from third party libraries
-REMOVE_COMPILER_FLAGS("-W3 -W4" MSVC)
-ADD_COMPILER_FLAGS("-w")
-
 ORXONOX_ADD_LIBRARY(cpptcl_orxonox
   ORXONOX_EXTERNAL
Index: code/branches/core5/src/external/ogreceguirenderer/CMakeLists.txt
===================================================================
--- code/branches/core5/src/external/ogreceguirenderer/CMakeLists.txt	(revision 5871)
+++ code/branches/core5/src/external/ogreceguirenderer/CMakeLists.txt	(revision 5872)
@@ -30,8 +30,4 @@
 )
 
-# No warnings needed from third party libraries
-REMOVE_COMPILER_FLAGS("-W3 -W4" MSVC)
-ADD_COMPILER_FLAGS("-w")
-
 ORXONOX_ADD_LIBRARY(ogreceguirenderer_orxonox
   ORXONOX_EXTERNAL
Index: code/branches/core5/src/external/ois/CMakeLists.txt
===================================================================
--- code/branches/core5/src/external/ois/CMakeLists.txt	(revision 5871)
+++ code/branches/core5/src/external/ois/CMakeLists.txt	(revision 5872)
@@ -52,8 +52,4 @@
 ENDIF()
 
-# No warnings needed from third party libraries
-REMOVE_COMPILER_FLAGS("-W3 -W4" MSVC)
-ADD_COMPILER_FLAGS("-w")
-
 INCLUDE_DIRECTORIES(.)
 
Index: code/branches/core5/src/external/tinyxml/CMakeLists.txt
===================================================================
--- code/branches/core5/src/external/tinyxml/CMakeLists.txt	(revision 5871)
+++ code/branches/core5/src/external/tinyxml/CMakeLists.txt	(revision 5872)
@@ -33,8 +33,4 @@
 )
 
-# No warnings needed from third party libraries
-REMOVE_COMPILER_FLAGS("-W3 -W4" MSVC)
-ADD_COMPILER_FLAGS("-w")
-
 ORXONOX_ADD_LIBRARY(tinyxml++_orxonox
   ORXONOX_EXTERNAL
Index: code/branches/core5/src/external/tolua/CMakeLists.txt
===================================================================
--- code/branches/core5/src/external/tolua/CMakeLists.txt	(revision 5871)
+++ code/branches/core5/src/external/tolua/CMakeLists.txt	(revision 5872)
@@ -31,8 +31,4 @@
 COMPILATION_END
 )
-
-# No warnings needed from third party libraries
-REMOVE_COMPILER_FLAGS("-W3 -W4" MSVC)
-ADD_COMPILER_FLAGS("-w")
 
 ORXONOX_ADD_LIBRARY(tolua++_orxonox
