Răsfoiți Sursa

Merge branch 'master' into sdl-update

Lasse Öörni 12 ani în urmă
părinte
comite
3ce378d5e2
52 a modificat fișierele cu 110 adăugiri și 183 ștergeri
  1. 2 0
      Docs/GettingStarted.dox
  2. 40 3
      Source/CMake/Modules/Urho3D-CMake-magic.cmake
  3. 0 3
      Source/CMakeLists.txt
  4. 1 3
      Source/Engine/Audio/CMakeLists.txt
  5. 16 33
      Source/Engine/CMakeLists.txt
  6. 1 3
      Source/Engine/Container/CMakeLists.txt
  7. 1 3
      Source/Engine/Core/CMakeLists.txt
  8. 1 3
      Source/Engine/Engine/CMakeLists.txt
  9. 1 0
      Source/Engine/Graphics/BillboardSet.h
  10. 5 10
      Source/Engine/Graphics/CMakeLists.txt
  11. 1 3
      Source/Engine/IO/CMakeLists.txt
  12. 1 3
      Source/Engine/Input/CMakeLists.txt
  13. 1 3
      Source/Engine/LuaScript/CMakeLists.txt
  14. 1 3
      Source/Engine/Math/CMakeLists.txt
  15. 1 3
      Source/Engine/Navigation/CMakeLists.txt
  16. 1 3
      Source/Engine/Network/CMakeLists.txt
  17. 1 3
      Source/Engine/Physics/CMakeLists.txt
  18. 1 3
      Source/Engine/Resource/CMakeLists.txt
  19. 1 3
      Source/Engine/Scene/CMakeLists.txt
  20. 1 3
      Source/Engine/Script/CMakeLists.txt
  21. 1 3
      Source/Engine/UI/CMakeLists.txt
  22. 1 3
      Source/Extras/OgreBatchConverter/CMakeLists.txt
  23. 1 3
      Source/Samples/01_HelloWorld/CMakeLists.txt
  24. 1 3
      Source/Samples/02_HelloGUI/CMakeLists.txt
  25. 1 3
      Source/Samples/03_Sprites/CMakeLists.txt
  26. 1 3
      Source/Samples/04_StaticScene/CMakeLists.txt
  27. 1 3
      Source/Samples/05_AnimatingScene/CMakeLists.txt
  28. 1 3
      Source/Samples/06_SkeletalAnimation/CMakeLists.txt
  29. 1 3
      Source/Samples/07_Billboards/CMakeLists.txt
  30. 1 3
      Source/Samples/08_Decals/CMakeLists.txt
  31. 1 3
      Source/Samples/09_MultipleViewports/CMakeLists.txt
  32. 1 3
      Source/Samples/10_RenderToTexture/CMakeLists.txt
  33. 1 3
      Source/Samples/11_Physics/CMakeLists.txt
  34. 1 3
      Source/Samples/12_PhysicsStressTest/CMakeLists.txt
  35. 1 3
      Source/Samples/13_Ragdolls/CMakeLists.txt
  36. 1 3
      Source/Samples/14_SoundEffects/CMakeLists.txt
  37. 1 3
      Source/Samples/15_Navigation/CMakeLists.txt
  38. 1 3
      Source/Samples/16_Chat/CMakeLists.txt
  39. 1 3
      Source/Samples/17_SceneReplication/CMakeLists.txt
  40. 1 3
      Source/Samples/18_CharacterDemo/CMakeLists.txt
  41. 1 3
      Source/Samples/19_VehicleDemo/CMakeLists.txt
  42. 1 3
      Source/Samples/20_HugeObjectCount/CMakeLists.txt
  43. 1 3
      Source/Samples/21_AngelScriptIntegration/CMakeLists.txt
  44. 1 3
      Source/Samples/22_LuaIntegration/CMakeLists.txt
  45. 1 3
      Source/Tools/AssetImporter/CMakeLists.txt
  46. 1 3
      Source/Tools/DocConverter/CMakeLists.txt
  47. 1 3
      Source/Tools/OgreImporter/CMakeLists.txt
  48. 1 1
      Source/Tools/PackageTool/CMakeLists.txt
  49. 1 1
      Source/Tools/RampGenerator/CMakeLists.txt
  50. 1 3
      Source/Tools/ScriptCompiler/CMakeLists.txt
  51. 1 3
      Source/Tools/ShaderCompiler/CMakeLists.txt
  52. 1 3
      Source/Tools/Urho3D/CMakeLists.txt

+ 2 - 0
Docs/GettingStarted.dox

@@ -297,6 +297,8 @@ set (TARGET_NAME Main)
 file (GLOB CPP_FILES *.cpp)
 file (GLOB CPP_FILES *.cpp)
 file (GLOB H_FILES *.h)
 file (GLOB H_FILES *.h)
 set (SOURCE_FILES ${CPP_FILES} ${H_FILES})
 set (SOURCE_FILES ${CPP_FILES} ${H_FILES})
+# Alternatively remove three lines above and uncomment below macro
+# define_source_files ()
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 40 - 3
Source/CMake/Modules/Urho3D-CMake-magic.cmake

@@ -345,7 +345,7 @@ endmacro ()
 
 
 # Macro for setting up an executable target
 # Macro for setting up an executable target
 macro (setup_executable)
 macro (setup_executable)
-    add_executable (${TARGET_NAME} ${EXE_TYPE} ${SOURCE_FILES})   
+    add_executable (${TARGET_NAME} ${ARGN} ${SOURCE_FILES})
     define_dependency_libs (Urho3D_lib)
     define_dependency_libs (Urho3D_lib)
     setup_target ()
     setup_target ()
     
     
@@ -441,7 +441,7 @@ macro (setup_main_executable)
         elseif (APPLE)
         elseif (APPLE)
             setup_macosx_linker_flags (CMAKE_EXE_LINKER_FLAGS)
             setup_macosx_linker_flags (CMAKE_EXE_LINKER_FLAGS)
         endif ()
         endif ()
-        setup_executable ()
+        setup_executable (${EXE_TYPE})
     endif ()
     endif ()
     
     
     if (XCODE)
     if (XCODE)
@@ -546,8 +546,45 @@ macro (define_dependency_libs TARGET)
     endif ()
     endif ()
 endmacro ()
 endmacro ()
 
 
-# Macro for sorting and removing duplicate value
+# Macro for sorting and removing duplicate values
 macro (remove_duplicate LIST_NAME)
 macro (remove_duplicate LIST_NAME)
     list (SORT ${LIST_NAME})
     list (SORT ${LIST_NAME})
     list (REMOVE_DUPLICATES ${LIST_NAME})
     list (REMOVE_DUPLICATES ${LIST_NAME})
 endmacro ()
 endmacro ()
+
+# Macro for setting a list from another with option to sort and remove duplicate values
+macro (set_list TO_LIST FROM_LIST)
+    set (${TO_LIST} ${${FROM_LIST}})
+    if (${ARGN} STREQUAL REMOVE_DUPLICATE)
+        remove_duplicate (${TO_LIST})
+    endif ()
+endmacro ()
+
+# Macro for defining source files
+macro (define_source_files)
+    # Parse extra arguments
+    cmake_parse_arguments (EXTRA "PCH;PARENT_SCOPE" "GROUP" "CPP_FILES;H_FILES" ${ARGN})
+
+    # Source files are defined by globbing source files in current source directory and also by including the extra source files if provided
+    file (GLOB CPP_FILES *.cpp)
+    file (GLOB H_FILES *.h)
+    list (APPEND CPP_FILES ${EXTRA_CPP_FILES})
+    list (APPEND H_FILES ${EXTRA_H_FILES})
+    set (SOURCE_FILES ${CPP_FILES} ${H_FILES})
+    
+    # Optionally enable PCH
+    if (EXTRA_PCH)
+        enable_pch ()
+    endif ()
+    
+    # Optionally accumulate source files at parent scope
+    if (EXTRA_PARENT_SCOPE)
+        get_filename_component (DIR_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME)
+        set (${DIR_NAME}_CPP_FILES ${CPP_FILES} PARENT_SCOPE)
+        set (${DIR_NAME}_H_FILES ${H_FILES} PARENT_SCOPE)
+    # Optionally put source files into further sub-group (only works for current scope due to CMake limitation)
+    elseif (EXTRA_GROUP)
+        source_group ("Source Files\\${EXTRA_GROUP}" FILES ${CPP_FILES})
+        source_group ("Header Files\\${EXTRA_GROUP}" FILES ${H_FILES})
+    endif ()
+endmacro ()

+ 0 - 3
Source/CMakeLists.txt

@@ -72,9 +72,6 @@ if (URHO3D_LIB_TYPE STREQUAL SHARED)
 endif ()
 endif ()
 
 
 # Add targets
 # Add targets
-foreach (SOURCE Audio Container Core Engine Graphics Input IO Math Navigation Network Physics Resource Scene Script UI)
-    add_subdirectory (Engine/${SOURCE})
-endforeach ()
 foreach (TARGET AngelScript Bullet Civetweb Detour FreeType JO kNet LZ4 PugiXml Recast SDL StanHull STB)
 foreach (TARGET AngelScript Bullet Civetweb Detour FreeType JO kNet LZ4 PugiXml Recast SDL StanHull STB)
     add_subdirectory (ThirdParty/${TARGET})
     add_subdirectory (ThirdParty/${TARGET})
 endforeach ()
 endforeach ()

+ 1 - 3
Source/Engine/Audio/CMakeLists.txt

@@ -21,9 +21,7 @@
 #
 #
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (ENGINE_SOURCE_FILES ${ENGINE_SOURCE_FILES} ${CPP_FILES} ${H_FILES} PARENT_SCOPE)
+define_source_files (PARENT_SCOPE)
 
 
 # Define dependency libs
 # Define dependency libs
 set (ENGINE_LIBS ${ENGINE_LIBS} ../ThirdParty/STB PARENT_SCOPE)
 set (ENGINE_LIBS ${ENGINE_LIBS} ../ThirdParty/STB PARENT_SCOPE)

+ 16 - 33
Source/Engine/CMakeLists.txt

@@ -90,50 +90,33 @@ foreach (TARGET ${STATIC_LIBRARY_TARGETS})
                     endif ()
                     endif ()
                 endforeach ()
                 endforeach ()
             endif ()
             endif ()
-            set (OBJ_FILES ${OBJ_FILES} ${INT_DIR}${SYS_DIR}/${NAME}${OBJ_EXT})
+            list (APPEND OBJ_FILES ${INT_DIR}${SYS_DIR}/${NAME}${OBJ_EXT})
         elseif (NAME MATCHES \\.o.*$)
         elseif (NAME MATCHES \\.o.*$)
-            set (OBJ_FILES ${OBJ_FILES} ${SOURCE})
+            list (APPEND OBJ_FILES ${SOURCE})
         endif ()
         endif ()
     endforeach ()
     endforeach ()
+    source_group ("Object Files\\${TARGET}" FILES ${OBJ_FILES})
+    list (APPEND ALL_OBJ_FILES ${OBJ_FILES})
+    unset (OBJ_FILES)
 endforeach ()
 endforeach ()
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${ENGINE_SOURCE_FILES} ${CPP_FILES} ${H_FILES} ${OBJ_FILES} gitversion.h)
-set_source_files_properties (${OBJ_FILES} PROPERTIES GENERATED TRUE)
-enable_pch ()
+foreach (SOURCE Audio Container Core Engine Graphics Input IO Math Navigation Network Physics Resource Scene Script UI)
+    add_subdirectory (${SOURCE})
+    source_group ("Source Files\\${SOURCE}" FILES ${${SOURCE}_CPP_FILES})
+    source_group ("Header Files\\${SOURCE}" FILES ${${SOURCE}_H_FILES})
+    list (APPEND ENGINE_SOURCE_FILES ${${SOURCE}_CPP_FILES} ${${SOURCE}_H_FILES})
+    list (APPEND ENGINE_INCLUDE_DIRS_ONLY ${SOURCE})
+endforeach ()
+define_source_files (CPP_FILES ${ENGINE_SOURCE_FILES} H_FILES gitversion.h PCH)
+list (APPEND SOURCE_FILES ${ALL_OBJ_FILES})
+set_source_files_properties (${ALL_OBJ_FILES} PROPERTIES GENERATED TRUE)
 
 
 # Define dependency libs
 # Define dependency libs
-macro (set_list LIST_NAME)
-    remove_duplicate (ENGINE_${LIST_NAME})
-    set (${LIST_NAME} ${ENGINE_${LIST_NAME}})
-endmacro ()
 foreach (LIST_NAME LIBS INCLUDE_DIRS_ONLY LINK_LIBS_ONLY)
 foreach (LIST_NAME LIBS INCLUDE_DIRS_ONLY LINK_LIBS_ONLY)
-    set_list (${LIST_NAME})
-endforeach ()
-file (GLOB ENGINE_DIRS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} */CMakeLists.txt)
-foreach (ENGINE_DIR ${ENGINE_DIRS})
-    get_filename_component (ENGINE_DIR ${ENGINE_DIR} PATH)
-    list (APPEND INCLUDE_DIRS_ONLY ${ENGINE_DIR})
+    set_list (${LIST_NAME} ENGINE_${LIST_NAME} REMOVE_DUPLICATE)
 endforeach ()
 endforeach ()
 
 
-# Setup source groups, Visual Studio only
-if (MSVC)
-    foreach (ENGINE_DIR ${ENGINE_DIRS})
-        get_filename_component (ENGINE_DIR ${ENGINE_DIR} PATH)
-        if (${ENGINE_DIR} MATCHES Graphics)
-            file (GLOB GROUP_H_FILES ${ENGINE_DIR}/*.h ${ENGINE_DIR}/${GRAPHICS_SYS_DIR}/*.h)
-            file (GLOB GROUP_CPP_FILES ${ENGINE_DIR}/*.cpp ${ENGINE_DIR}/${GRAPHICS_SYS_DIR}/*.cpp)
-        else ()
-            file (GLOB GROUP_H_FILES ${ENGINE_DIR}/*.h)
-            file (GLOB GROUP_CPP_FILES ${ENGINE_DIR}/*.cpp)
-        endif ()
-        source_group("Header Files\\${ENGINE_DIR}" FILES ${GROUP_H_FILES})
-        source_group("Source Files\\${ENGINE_DIR}" FILES ${GROUP_CPP_FILES})
-    endforeach ()
-endif ()
-
 # Setup target
 # Setup target
 setup_library (${URHO3D_LIB_TYPE})
 setup_library (${URHO3D_LIB_TYPE})
 adjust_library_name ()
 adjust_library_name ()

+ 1 - 3
Source/Engine/Container/CMakeLists.txt

@@ -21,6 +21,4 @@
 #
 #
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (ENGINE_SOURCE_FILES ${ENGINE_SOURCE_FILES} ${CPP_FILES} ${H_FILES} PARENT_SCOPE)
+define_source_files (PARENT_SCOPE)

+ 1 - 3
Source/Engine/Core/CMakeLists.txt

@@ -21,9 +21,7 @@
 #
 #
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (ENGINE_SOURCE_FILES ${ENGINE_SOURCE_FILES} ${CPP_FILES} ${H_FILES} PARENT_SCOPE)
+define_source_files (PARENT_SCOPE)
 
 
 # Define dependency libs
 # Define dependency libs
 if (NOT IOS AND NOT ANDROID AND NOT RASPI)
 if (NOT IOS AND NOT ANDROID AND NOT RASPI)

+ 1 - 3
Source/Engine/Engine/CMakeLists.txt

@@ -21,9 +21,7 @@
 #
 #
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (ENGINE_SOURCE_FILES ${ENGINE_SOURCE_FILES} ${CPP_FILES} ${H_FILES} PARENT_SCOPE)
+define_source_files (PARENT_SCOPE)
 
 
 # Define dependency libs
 # Define dependency libs
 set (ENGINE_INCLUDE_DIRS_ONLY ${ENGINE_INCLUDE_DIRS_ONLY} ../ThirdParty/Bullet/src ../ThirdParty/kNet/include PARENT_SCOPE)
 set (ENGINE_INCLUDE_DIRS_ONLY ${ENGINE_INCLUDE_DIRS_ONLY} ../ThirdParty/Bullet/src ../ThirdParty/kNet/include PARENT_SCOPE)

+ 1 - 0
Source/Engine/Graphics/BillboardSet.h

@@ -24,6 +24,7 @@
 
 
 #include "Color.h"
 #include "Color.h"
 #include "Drawable.h"
 #include "Drawable.h"
+#include "Matrix3x4.h"
 #include "Rect.h"
 #include "Rect.h"
 #include "VectorBuffer.h"
 #include "VectorBuffer.h"
 
 

+ 5 - 10
Source/Engine/Graphics/CMakeLists.txt

@@ -21,19 +21,14 @@
 #
 #
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
 if (USE_OPENGL)
 if (USE_OPENGL)
-    set (GRAPHICS_SYS_DIR OpenGL PARENT_SCOPE)
-    file (GLOB SYS_CPP_FILES OpenGL/*.cpp)
-    file (GLOB SYS_H_FILES OpenGL/*.h)
+    set (GRAPHICS_SYS_DIR OpenGL)
 else ()
 else ()
-    set (GRAPHICS_SYS_DIR Direct3D9 PARENT_SCOPE)
-    file (GLOB SYS_CPP_FILES Direct3D9/*.cpp)
-    file (GLOB SYS_H_FILES Direct3D9/*.h)
+    set (GRAPHICS_SYS_DIR Direct3D9)
 endif ()
 endif ()
-
-set (ENGINE_SOURCE_FILES ${ENGINE_SOURCE_FILES} ${CPP_FILES} ${H_FILES} ${SYS_CPP_FILES} ${SYS_H_FILES} PARENT_SCOPE)
+file (GLOB SYS_CPP_FILES ${GRAPHICS_SYS_DIR}/*.cpp)
+file (GLOB SYS_H_FILES ${GRAPHICS_SYS_DIR}/*.h)
+define_source_files (CPP_FILES ${SYS_CPP_FILES} H_FILES ${SYS_H_FILES} PARENT_SCOPE)
 
 
 # Define dependency libs
 # Define dependency libs
 set (ENGINE_LINK_LIBS_ONLY ${ENGINE_LINK_LIBS_ONLY} SDL PARENT_SCOPE)
 set (ENGINE_LINK_LIBS_ONLY ${ENGINE_LINK_LIBS_ONLY} SDL PARENT_SCOPE)

+ 1 - 3
Source/Engine/IO/CMakeLists.txt

@@ -21,12 +21,10 @@
 #
 #
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
 if (APPLE AND NOT IOS)
 if (APPLE AND NOT IOS)
     file (GLOB C_FILES *.m)
     file (GLOB C_FILES *.m)
 endif()
 endif()
-set (ENGINE_SOURCE_FILES ${ENGINE_SOURCE_FILES} ${CPP_FILES} ${C_FILES} ${H_FILES} PARENT_SCOPE)
+define_source_files (CPP_FILES ${C_FILES} PARENT_SCOPE)
 
 
 # Define dependency libs
 # Define dependency libs
 set (ENGINE_LIBS ${ENGINE_LIBS} ../ThirdParty/LZ4 PARENT_SCOPE)
 set (ENGINE_LIBS ${ENGINE_LIBS} ../ThirdParty/LZ4 PARENT_SCOPE)

+ 1 - 3
Source/Engine/Input/CMakeLists.txt

@@ -21,9 +21,7 @@
 #
 #
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (ENGINE_SOURCE_FILES ${ENGINE_SOURCE_FILES} ${CPP_FILES} ${H_FILES} PARENT_SCOPE)
+define_source_files (PARENT_SCOPE)
 
 
 # Define dependency libs
 # Define dependency libs
 set (ENGINE_LINK_LIBS_ONLY ${ENGINE_LINK_LIBS_ONLY} SDL PARENT_SCOPE)
 set (ENGINE_LINK_LIBS_ONLY ${ENGINE_LINK_LIBS_ONLY} SDL PARENT_SCOPE)

+ 1 - 3
Source/Engine/LuaScript/CMakeLists.txt

@@ -56,9 +56,7 @@ foreach (API_PKG_FILE ${API_PKG_FILES})
 endforeach ()
 endforeach ()
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${GEN_CPP_FILES})
+define_source_files (CPP_FILES ${GEN_CPP_FILES})
 
 
 # Define dependency libs
 # Define dependency libs
 set (LIBS ../../ThirdParty/Lua${JIT}/src)
 set (LIBS ../../ThirdParty/Lua${JIT}/src)

+ 1 - 3
Source/Engine/Math/CMakeLists.txt

@@ -21,6 +21,4 @@
 #
 #
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (ENGINE_SOURCE_FILES ${ENGINE_SOURCE_FILES} ${CPP_FILES} ${H_FILES} PARENT_SCOPE)
+define_source_files (PARENT_SCOPE)

+ 1 - 3
Source/Engine/Navigation/CMakeLists.txt

@@ -21,9 +21,7 @@
 #
 #
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (ENGINE_SOURCE_FILES ${ENGINE_SOURCE_FILES} ${CPP_FILES} ${H_FILES} PARENT_SCOPE)
+define_source_files (PARENT_SCOPE)
 
 
 # Define dependency libs
 # Define dependency libs
 set (ENGINE_LIBS ${ENGINE_LIBS} ../ThirdParty/Recast/include ../ThirdParty/Detour/include PARENT_SCOPE)
 set (ENGINE_LIBS ${ENGINE_LIBS} ../ThirdParty/Recast/include ../ThirdParty/Detour/include PARENT_SCOPE)

+ 1 - 3
Source/Engine/Network/CMakeLists.txt

@@ -21,9 +21,7 @@
 #
 #
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (ENGINE_SOURCE_FILES ${ENGINE_SOURCE_FILES} ${CPP_FILES} ${H_FILES} PARENT_SCOPE)
+define_source_files (PARENT_SCOPE)
 
 
 # Define dependency libs
 # Define dependency libs
 set (ENGINE_LIBS ${ENGINE_LIBS} ../ThirdParty/kNet/include ../ThirdParty/Civetweb/include PARENT_SCOPE)
 set (ENGINE_LIBS ${ENGINE_LIBS} ../ThirdParty/kNet/include ../ThirdParty/Civetweb/include PARENT_SCOPE)

+ 1 - 3
Source/Engine/Physics/CMakeLists.txt

@@ -21,9 +21,7 @@
 #
 #
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (ENGINE_SOURCE_FILES ${ENGINE_SOURCE_FILES} ${CPP_FILES} ${H_FILES} PARENT_SCOPE)
+define_source_files (PARENT_SCOPE)
 
 
 # Define dependency libs
 # Define dependency libs
 set (ENGINE_LIBS ${ENGINE_LIBS} ../ThirdParty/Bullet/src ../ThirdParty/StanHull PARENT_SCOPE)
 set (ENGINE_LIBS ${ENGINE_LIBS} ../ThirdParty/Bullet/src ../ThirdParty/StanHull PARENT_SCOPE)

+ 1 - 3
Source/Engine/Resource/CMakeLists.txt

@@ -21,9 +21,7 @@
 #
 #
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (ENGINE_SOURCE_FILES ${ENGINE_SOURCE_FILES} ${CPP_FILES} ${H_FILES} PARENT_SCOPE)
+define_source_files (PARENT_SCOPE)
 
 
 # Define dependency libs
 # Define dependency libs
 set (ENGINE_LIBS ${ENGINE_LIBS} ../ThirdParty/JO ../ThirdParty/PugiXml/src ../ThirdParty/STB PARENT_SCOPE)
 set (ENGINE_LIBS ${ENGINE_LIBS} ../ThirdParty/JO ../ThirdParty/PugiXml/src ../ThirdParty/STB PARENT_SCOPE)

+ 1 - 3
Source/Engine/Scene/CMakeLists.txt

@@ -21,6 +21,4 @@
 #
 #
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (ENGINE_SOURCE_FILES ${ENGINE_SOURCE_FILES} ${CPP_FILES} ${H_FILES} PARENT_SCOPE)
+define_source_files (PARENT_SCOPE)

+ 1 - 3
Source/Engine/Script/CMakeLists.txt

@@ -21,9 +21,7 @@
 #
 #
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (ENGINE_SOURCE_FILES ${ENGINE_SOURCE_FILES} ${CPP_FILES} ${H_FILES} PARENT_SCOPE)
+define_source_files (PARENT_SCOPE)
 
 
 # Define dependency libs
 # Define dependency libs
 set (ENGINE_LIBS ${ENGINE_LIBS} ../ThirdParty/AngelScript/include PARENT_SCOPE)
 set (ENGINE_LIBS ${ENGINE_LIBS} ../ThirdParty/AngelScript/include PARENT_SCOPE)

+ 1 - 3
Source/Engine/UI/CMakeLists.txt

@@ -21,9 +21,7 @@
 #
 #
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (ENGINE_SOURCE_FILES ${ENGINE_SOURCE_FILES} ${CPP_FILES} ${H_FILES} PARENT_SCOPE)
+define_source_files (PARENT_SCOPE)
 
 
 # Define dependency libs
 # Define dependency libs
 set (ENGINE_LIBS ${ENGINE_LIBS} ../ThirdParty/FreeType/include PARENT_SCOPE)
 set (ENGINE_LIBS ${ENGINE_LIBS} ../ThirdParty/FreeType/include PARENT_SCOPE)

+ 1 - 3
Source/Extras/OgreBatchConverter/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME OgreBatchConverter)
 set (TARGET_NAME OgreBatchConverter)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES})
+define_source_files ()
 
 
 # Setup target
 # Setup target
 setup_executable ()
 setup_executable ()

+ 1 - 3
Source/Samples/01_HelloWorld/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME 01_HelloWorld)
 set (TARGET_NAME 01_HelloWorld)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${COMMON_SAMPLE_H_FILES})
+define_source_files (H_FILES ${COMMON_SAMPLE_H_FILES})
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 1 - 3
Source/Samples/02_HelloGUI/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME 02_HelloGUI)
 set (TARGET_NAME 02_HelloGUI)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${COMMON_SAMPLE_H_FILES})
+define_source_files (H_FILES ${COMMON_SAMPLE_H_FILES})
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 1 - 3
Source/Samples/03_Sprites/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME 03_Sprites)
 set (TARGET_NAME 03_Sprites)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${COMMON_SAMPLE_H_FILES})
+define_source_files (H_FILES ${COMMON_SAMPLE_H_FILES})
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 1 - 3
Source/Samples/04_StaticScene/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME 04_StaticScene)
 set (TARGET_NAME 04_StaticScene)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${COMMON_SAMPLE_H_FILES})
+define_source_files (H_FILES ${COMMON_SAMPLE_H_FILES})
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 1 - 3
Source/Samples/05_AnimatingScene/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME 05_AnimatingScene)
 set (TARGET_NAME 05_AnimatingScene)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${COMMON_SAMPLE_H_FILES})
+define_source_files (H_FILES ${COMMON_SAMPLE_H_FILES})
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 1 - 3
Source/Samples/06_SkeletalAnimation/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME 06_SkeletalAnimation)
 set (TARGET_NAME 06_SkeletalAnimation)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${COMMON_SAMPLE_H_FILES})
+define_source_files (H_FILES ${COMMON_SAMPLE_H_FILES})
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 1 - 3
Source/Samples/07_Billboards/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME 07_Billboards)
 set (TARGET_NAME 07_Billboards)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${COMMON_SAMPLE_H_FILES})
+define_source_files (H_FILES ${COMMON_SAMPLE_H_FILES})
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 1 - 3
Source/Samples/08_Decals/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME 08_Decals)
 set (TARGET_NAME 08_Decals)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${COMMON_SAMPLE_H_FILES})
+define_source_files (H_FILES ${COMMON_SAMPLE_H_FILES})
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 1 - 3
Source/Samples/09_MultipleViewports/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME 09_MultipleViewports)
 set (TARGET_NAME 09_MultipleViewports)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${COMMON_SAMPLE_H_FILES})
+define_source_files (H_FILES ${COMMON_SAMPLE_H_FILES})
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 1 - 3
Source/Samples/10_RenderToTexture/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME 10_RenderToTexture)
 set (TARGET_NAME 10_RenderToTexture)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${COMMON_SAMPLE_H_FILES})
+define_source_files (H_FILES ${COMMON_SAMPLE_H_FILES})
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 1 - 3
Source/Samples/11_Physics/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME 11_Physics)
 set (TARGET_NAME 11_Physics)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${COMMON_SAMPLE_H_FILES})
+define_source_files (H_FILES ${COMMON_SAMPLE_H_FILES})
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 1 - 3
Source/Samples/12_PhysicsStressTest/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME 12_PhysicsStressTest)
 set (TARGET_NAME 12_PhysicsStressTest)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${COMMON_SAMPLE_H_FILES})
+define_source_files (H_FILES ${COMMON_SAMPLE_H_FILES})
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 1 - 3
Source/Samples/13_Ragdolls/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME 13_Ragdolls)
 set (TARGET_NAME 13_Ragdolls)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${COMMON_SAMPLE_H_FILES})
+define_source_files (H_FILES ${COMMON_SAMPLE_H_FILES})
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 1 - 3
Source/Samples/14_SoundEffects/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME 14_SoundEffects)
 set (TARGET_NAME 14_SoundEffects)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${COMMON_SAMPLE_H_FILES})
+define_source_files (H_FILES ${COMMON_SAMPLE_H_FILES})
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 1 - 3
Source/Samples/15_Navigation/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME 15_Navigation)
 set (TARGET_NAME 15_Navigation)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${COMMON_SAMPLE_H_FILES})
+define_source_files (H_FILES ${COMMON_SAMPLE_H_FILES})
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 1 - 3
Source/Samples/16_Chat/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME 16_Chat)
 set (TARGET_NAME 16_Chat)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${COMMON_SAMPLE_H_FILES})
+define_source_files (H_FILES ${COMMON_SAMPLE_H_FILES})
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 1 - 3
Source/Samples/17_SceneReplication/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME 17_SceneReplication)
 set (TARGET_NAME 17_SceneReplication)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${COMMON_SAMPLE_H_FILES})
+define_source_files (H_FILES ${COMMON_SAMPLE_H_FILES})
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 1 - 3
Source/Samples/18_CharacterDemo/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME 18_CharacterDemo)
 set (TARGET_NAME 18_CharacterDemo)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${COMMON_SAMPLE_H_FILES})
+define_source_files (H_FILES ${COMMON_SAMPLE_H_FILES})
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 1 - 3
Source/Samples/19_VehicleDemo/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME 19_VehicleDemo)
 set (TARGET_NAME 19_VehicleDemo)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${COMMON_SAMPLE_H_FILES})
+define_source_files (H_FILES ${COMMON_SAMPLE_H_FILES})
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 1 - 3
Source/Samples/20_HugeObjectCount/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME 20_HugeObjectCount)
 set (TARGET_NAME 20_HugeObjectCount)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${COMMON_SAMPLE_H_FILES})
+define_source_files (H_FILES ${COMMON_SAMPLE_H_FILES})
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 1 - 3
Source/Samples/21_AngelScriptIntegration/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME 21_AngelScriptIntegration)
 set (TARGET_NAME 21_AngelScriptIntegration)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${COMMON_SAMPLE_H_FILES})
+define_source_files (H_FILES ${COMMON_SAMPLE_H_FILES})
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 1 - 3
Source/Samples/22_LuaIntegration/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME 22_LuaIntegration)
 set (TARGET_NAME 22_LuaIntegration)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES} ${COMMON_SAMPLE_H_FILES})
+define_source_files (H_FILES ${COMMON_SAMPLE_H_FILES})
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()

+ 1 - 3
Source/Tools/AssetImporter/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME AssetImporter)
 set (TARGET_NAME AssetImporter)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES})
+define_source_files ()
 
 
 # Define dependency libs
 # Define dependency libs
 add_subdirectory (../../ThirdParty/Assimp ../../ThirdParty/Assimp)
 add_subdirectory (../../ThirdParty/Assimp ../../ThirdParty/Assimp)

+ 1 - 3
Source/Tools/DocConverter/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME DocConverter)
 set (TARGET_NAME DocConverter)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES})
+define_source_files ()
 
 
 # Setup target
 # Setup target
 setup_executable ()
 setup_executable ()

+ 1 - 3
Source/Tools/OgreImporter/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME OgreImporter)
 set (TARGET_NAME OgreImporter)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES})
+define_source_files ()
 
 
 # Setup target
 # Setup target
 if (APPLE)
 if (APPLE)

+ 1 - 1
Source/Tools/PackageTool/CMakeLists.txt

@@ -24,7 +24,7 @@
 set (TARGET_NAME PackageTool)
 set (TARGET_NAME PackageTool)
 
 
 # Define source files
 # Define source files
-set (SOURCE_FILES PackageTool.cpp)
+define_source_files ()
 
 
 # Define dependency libs
 # Define dependency libs
 set (LIBS ../../ThirdParty/LZ4)
 set (LIBS ../../ThirdParty/LZ4)

+ 1 - 1
Source/Tools/RampGenerator/CMakeLists.txt

@@ -24,7 +24,7 @@
 set (TARGET_NAME RampGenerator)
 set (TARGET_NAME RampGenerator)
 
 
 # Define source files
 # Define source files
-set (SOURCE_FILES RampGenerator.cpp)
+define_source_files ()
 
 
 # Define dependency libs
 # Define dependency libs
 set (LIBS ../../ThirdParty/STB)
 set (LIBS ../../ThirdParty/STB)

+ 1 - 3
Source/Tools/ScriptCompiler/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME ScriptCompiler)
 set (TARGET_NAME ScriptCompiler)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES})
+define_source_files ()
 
 
 # Setup target
 # Setup target
 if (APPLE)
 if (APPLE)

+ 1 - 3
Source/Tools/ShaderCompiler/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME ShaderCompiler)
 set (TARGET_NAME ShaderCompiler)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES})
+define_source_files ()
 
 
 # Define dependency libs
 # Define dependency libs
 add_subdirectory (../../ThirdParty/MojoShader ../../ThirdParty/MojoShader)
 add_subdirectory (../../ThirdParty/MojoShader ../../ThirdParty/MojoShader)

+ 1 - 3
Source/Tools/Urho3D/CMakeLists.txt

@@ -24,9 +24,7 @@
 set (TARGET_NAME Urho3D)
 set (TARGET_NAME Urho3D)
 
 
 # Define source files
 # Define source files
-file (GLOB CPP_FILES *.cpp)
-file (GLOB H_FILES *.h)
-set (SOURCE_FILES ${CPP_FILES} ${H_FILES})
+define_source_files ()
 
 
 # Setup target with resource copying
 # Setup target with resource copying
 setup_main_executable ()
 setup_main_executable ()