Prechádzať zdrojové kódy

Make torque3d.cmake load all .cmake files from the module folder.
Move option code to each individual module.
This makes it so you can add a new module without having to modify the torque3d.cmake

Scott Przybylski 11 rokov pred
rodič
commit
f527b45ec2

+ 27 - 16
Tools/CMake/modules/module_hydra.cmake

@@ -20,22 +20,33 @@
 # IN THE SOFTWARE.
 # -----------------------------------------------------------------------------
 
-# module OculusVR
- 
-# Source
-addPathRec( "${srcDir}/platform/input/razerHydra" )
+# module Hydra
 
-# Includes
-addInclude( "${TORQUE_RAZERHYDRA_SDK_PATH}/include" )
- 
-# Install
-if( WIN32 ) 
-    # File Copy for Release   
-    INSTALL(FILES "${TORQUE_RAZERHYDRA_SDK_PATH}/bin/win32/release_dll/sixense.dll"             DESTINATION "${projectOutDir}")
-
-    # File Copy for Debug
-    INSTALL(FILES "${TORQUE_RAZERHYDRA_SDK_PATH}/bin/win32/debug_dll/sixensed.dll"              DESTINATION "${projectOutDir}" CONFIGURATIONS "Debug" )
-    # Only needed by the debug sixense library
-    INSTALL(FILES "${TORQUE_RAZERHYDRA_SDK_PATH}/samples/win32/sixense_simple3d/DeviceDLL.dll"  DESTINATION "${projectOutDir}" CONFIGURATIONS "Debug" )
+option(TORQUE_HYDRA "Enable HYDRA module" OFF)
+mark_as_advanced(TORQUE_HYDRA)
+if(TORQUE_HYDRA)
+	if(TORQUE_HYDRA_SDK_PATH STREQUAL "")
+		set(TORQUE_HYDRA_SDK_PATH "" CACHE PATH "HYDRA library path" FORCE)
+	endif()
+else() # hide variable
+    set(TORQUE_HYDRA_SDK_PATH "" CACHE INTERNAL "" FORCE) 
 endif()
 
+if(TORQUE_HYDRA)
+	# Source
+	addPathRec( "${srcDir}/platform/input/razerHydra" )
+
+	# Includes
+	addInclude( "${TORQUE_RAZERHYDRA_SDK_PATH}/include" )
+	 
+	# Install
+	if( WIN32 ) 
+		# File Copy for Release   
+		INSTALL(FILES "${TORQUE_RAZERHYDRA_SDK_PATH}/bin/win32/release_dll/sixense.dll"             DESTINATION "${projectOutDir}")
+
+		# File Copy for Debug
+		INSTALL(FILES "${TORQUE_RAZERHYDRA_SDK_PATH}/bin/win32/debug_dll/sixensed.dll"              DESTINATION "${projectOutDir}" CONFIGURATIONS "Debug" )
+		# Only needed by the debug sixense library
+		INSTALL(FILES "${TORQUE_RAZERHYDRA_SDK_PATH}/samples/win32/sixense_simple3d/DeviceDLL.dll"  DESTINATION "${projectOutDir}" CONFIGURATIONS "Debug" )
+	endif()
+endif()

+ 14 - 11
Tools/CMake/modules/module_navigation.cmake

@@ -21,17 +21,20 @@
 # -----------------------------------------------------------------------------
 
 # Navigation module
+option(TORQUE_NAVIGATION "Enable Navigation module" OFF)
+#mark_as_advanced(TORQUE_NAVIGATION)
 
-addDef( "TORQUE_NAVIGATION_ENABLED" )
-addLib( "recast" )
+if(TORQUE_NAVIGATION)
+	addDef( "TORQUE_NAVIGATION_ENABLED" )
+	addLib( "recast" )
 
-# files
-addPathRec( "${srcDir}/navigation" )
-
-# include paths
-addInclude( "${libDir}/recast/DebugUtils/Include" )
-addInclude( "${libDir}/recast/Recast/Include" )
-addInclude( "${libDir}/recast/Detour/Include" )
-addInclude( "${libDir}/recast/DetourTileCache/Include" )
-addInclude( "${libDir}/recast/DetourCrowd/Include" )
+	# files
+	addPathRec( "${srcDir}/navigation" )
 
+	# include paths
+	addInclude( "${libDir}/recast/DebugUtils/Include" )
+	addInclude( "${libDir}/recast/Recast/Include" )
+	addInclude( "${libDir}/recast/Detour/Include" )
+	addInclude( "${libDir}/recast/DetourTileCache/Include" )
+	addInclude( "${libDir}/recast/DetourCrowd/Include" )
+endif(TORQUE_NAVIGATION)

+ 23 - 11
Tools/CMake/modules/module_oculusVR.cmake

@@ -21,17 +21,29 @@
 # -----------------------------------------------------------------------------
 
 # module OculusVR
- 
-# Source
-addPathRec( "${srcDir}/platform/input/oculusVR" )
 
-# Includes
-addInclude( "${TORQUE_OCULUSVR_SDK_PATH}/LibOVR/Include" )
-addInclude( "${TORQUE_OCULUSVR_SDK_PATH}/LibOVR/Src" )
+option(TORQUE_OCULUSVR "Enable OCULUSVR module" OFF)
+mark_as_advanced(TORQUE_OCULUSVR)
+if(TORQUE_OCULUSVR)
+	if(TORQUE_OCULUSVR_SDK_PATH STREQUAL "")
+		set(TORQUE_OCULUSVR_SDK_PATH "" CACHE PATH "OCULUSVR library path" FORCE)
+	endif()
+else() # hide variable
+    set(TORQUE_OCULUSVR_SDK_PATH "" CACHE INTERNAL "" FORCE) 
+endif() 
  
-# Libs
-if( WIN32 ) 
-    link_directories( "${TORQUE_OCULUSVR_SDK_PATH}/LibOVR/Lib/Win32" )
-    addLib( "libovr" )
-    addLib( "libovrd" )
+if(TORQUE_OCULUSVR)
+	# Source
+	addPathRec( "${srcDir}/platform/input/oculusVR" )
+
+	# Includes
+	addInclude( "${TORQUE_OCULUSVR_SDK_PATH}/LibOVR/Include" )
+	addInclude( "${TORQUE_OCULUSVR_SDK_PATH}/LibOVR/Src" )
+	 
+	# Libs
+	if( WIN32 ) 
+		link_directories( "${TORQUE_OCULUSVR_SDK_PATH}/LibOVR/Lib/Win32" )
+		addLib( "libovr" )
+		addLib( "libovrd" )
+	endif()
 endif()

+ 3 - 2
Tools/CMake/modules/module_testing.cmake

@@ -20,9 +20,10 @@
 # IN THE SOFTWARE.
 # -----------------------------------------------------------------------------
 
-option(TORQUE_TESTS_ENABLED "TORQUE_TESTS_ENABLED" OFF)
+option(TORQUE_TESTING "Enable unit test module" OFF)
+mark_as_advanced(TORQUE_TESTING)
 
-if(TORQUE_TESTS_ENABLED)
+if(TORQUE_TESTING)
 
     # Project defines
     addDef( "TORQUE_TESTS_ENABLED" )

+ 6 - 40
Tools/CMake/torque3d.cmake

@@ -58,10 +58,7 @@ option(TORQUE_HIFI "HIFI? support" OFF)
 mark_as_advanced(TORQUE_HIFI)
 option(TORQUE_EXTENDED_MOVE "Extended move support" OFF)
 mark_as_advanced(TORQUE_EXTENDED_MOVE)
-option(TORQUE_NAVIGATION "Enable Navigation module" OFF)
-#mark_as_advanced(TORQUE_NAVIGATION)
-option(TORQUE_TESTING "Enable unit test module" OFF)
-mark_as_advanced(TORQUE_TESTING)
+
 if(WIN32)
 	option(TORQUE_OPENGL "Allow OpenGL render" OFF)
 	#mark_as_advanced(TORQUE_OPENGL)
@@ -70,24 +67,6 @@ else()
 	option(TORQUE_DEDICATED "Torque dedicated" OFF)
 endif()
 
-#Oculus VR
-option(TORQUE_OCULUSVR "Enable OCULUSVR module" OFF)
-mark_as_advanced(TORQUE_OCULUSVR)
-if(TORQUE_OCULUSVR)
-    set(TORQUE_OCULUSVR_SDK_PATH "" CACHE PATH "OCULUSVR library path" FORCE)
-else() # hide variable
-    set(TORQUE_OCULUSVR_SDK_PATH "" CACHE INTERNAL "" FORCE) 
-endif()
-
-#Hydra
-option(TORQUE_HYDRA "Enable HYDRA module" OFF)
-mark_as_advanced(TORQUE_HYDRA)
-if(TORQUE_HYDRA)
-    set(TORQUE_HYDRA_SDK_PATH "" CACHE PATH "HYDRA library path" FORCE)
-else() # hide variable
-    set(TORQUE_HYDRA_SDK_PATH "" CACHE INTERNAL "" FORCE) 
-endif()
-
 ###############################################################################
 # options
 ###############################################################################
@@ -332,28 +311,15 @@ else()
     addPath("${srcDir}/T3D/gameBase/std")
 endif()
 
-if(TORQUE_TESTING)
-   include( "modules/module_testing.cmake" )
-endif()
-
-if(TORQUE_NAVIGATION)
-   include( "modules/module_navigation.cmake" )
-endif()
-
-if(TORQUE_OCULUSVR)
-    include( "modules/module_oculusVR.cmake" )
-endif()
-
-if(TORQUE_HYDRA)
-    include( "modules/module_hydra.cmake" )
-endif()
-
 if(TORQUE_DEDICATED)
     addDef(TORQUE_DEDICATED)
 endif()
 
-include( "modules/module_testing.cmake" )
-
+#modules dir
+file(GLOB modules "modules/*.cmake")
+foreach(module ${modules})
+	include(${module})
+endforeach()
 
 ###############################################################################
 # platform specific things