Procházet zdrojové kódy

* Feature: Initial testing with module (file) searches.

Robert MacGregor před 3 roky
rodič
revize
9901fa76b4

+ 76 - 0
CMakeLists.txt

@@ -26,4 +26,80 @@ endif()
 
 enable_language(OBJC)
 
+
+option(TORQUE_MULTITHREAD "Multi Threading" ON)
+mark_as_advanced(TORQUE_MULTITHREAD)
+
+option(TORQUE_POSIX_PATH_CASE_INSENSITIVE "POSIX Pathing Case Insensitivity" ON)
+mark_as_advanced(TORQUE_POSIX_PATH_CASE_INSENSITIVE)
+
+option(TORQUE_ZIP_PATH_CASE_INSENSITIVE "ZIP Pathing Case Insensitivity" ON)
+mark_as_advanced(TORQUE_ZIP_PATH_CASE_INSENSITIVE)
+
+option(TORQUE_DISABLE_MEMORY_MANAGER "Disable memory manager" ON)
+mark_as_advanced(TORQUE_DISABLE_MEMORY_MANAGER)
+
+option(TORQUE_DISABLE_VIRTUAL_MOUNT_SYSTEM "Disable virtual mount system" OFF)
+mark_as_advanced(TORQUE_DISABLE_VIRTUAL_MOUNT_SYSTEM)
+
+option(TORQUE_DISABLE_FIND_ROOT_WITHIN_ZIP "Disable reading root path from zip. Zips will be mounted in-place with file name as directory name." ON)
+mark_as_advanced(TORQUE_DISABLE_FIND_ROOT_WITHIN_ZIP)
+
+option(TORQUE_ZIP_DISK_LAYOUT "All zips must be placed in the executable directory and contain full paths to the files." OFF)
+mark_as_advanced(TORQUE_ZIP_DISK_LAYOUT)
+
+option(TORQUE_PLAYER "Playback only?" OFF)
+mark_as_advanced(TORQUE_PLAYER)
+
+option(TORQUE_TOOLS "Enable or disable the tools" ON)
+mark_as_advanced(TORQUE_TOOLS)
+
+option(TORQUE_ENABLE_PROFILER "Enable or disable the profiler" OFF)
+mark_as_advanced(TORQUE_ENABLE_PROFILER)
+
+option(TORQUE_DEBUG "T3D Debug mode" OFF)
+mark_as_advanced(TORQUE_DEBUG)
+
+option(TORQUE_SHIPPING "T3D Shipping build?" OFF)
+mark_as_advanced(TORQUE_SHIPPING)
+
+option(TORQUE_DEBUG_NET "debug network" OFF)
+mark_as_advanced(TORQUE_DEBUG_NET)
+
+option(TORQUE_DEBUG_NET_MOVES "debug network moves" OFF)
+mark_as_advanced(TORQUE_DEBUG_NET_MOVES)
+
+option(TORQUE_ENABLE_ASSERTS "enables or disable asserts" OFF)
+mark_as_advanced(TORQUE_ENABLE_ASSERTS)
+
+option(TORQUE_DEBUG_GFX_MODE "triggers graphics debug mode" OFF)
+mark_as_advanced(TORQUE_DEBUG_GFX_MODE)
+
+#option(DEBUG_SPEW "more debug" OFF)
+set(TORQUE_NO_DSO_GENERATION ON)
+
+if(NOT TORQUE_SCRIPT_EXTENSION)
+    set(TORQUE_SCRIPT_EXTENSION "tscript" CACHE STRING "The default script extension to use for TorqueScript files")
+endif()
+
+mark_as_advanced(TORQUE_SCRIPT_EXTENSION)
+
+option(TORQUE_USE_ZENITY "use the Zenity backend for NFD" OFF)
+mark_as_advanced(TORQUE_USE_ZENITY)
+
+option(TORQUE_SHOW_LEGACY_FILE_FIELDS "If on, shows legacy direct file path fields in the inspector." OFF)
+mark_as_advanced(TORQUE_SHOW_LEGACY_FILE_FIELDS)
+
+
+include("${CMAKE_SOURCE_DIR}/Tools/CMake/basics.cmake")
+setupVersionNumbers()
+
+if(NOT TORQUE_TEMPLATE)
+    set(TORQUE_TEMPLATE "BaseGame" CACHE STRING "the template to use")
+endif()
+installTemplate(${TORQUE_TEMPLATE})
+
+# Generate torqueConfig.h in our temp directory
+CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/Tools/CMake/torqueConfig.h.in" "${CMAKE_BINARY_DIR}/temp/torqueConfig.h")
+
 add_subdirectory(Engine)

+ 6 - 0
Engine/lib/CMakeLists.txt

@@ -1,5 +1,6 @@
 # Ask CMake to perform builds in a temporary directory for all of these.
 # We also use EXCLUDE_FROM_ALL to ensure we only build and install what we want
+set(BUILD_SHARED_LIBS off CACHE STRING "")
 add_subdirectory(assimp ${CMAKE_BINARY_DIR}/temp/assimp EXCLUDE_FROM_ALL)
 
 set(BUILD_CPU_DEMOS off CACHE STRING "")
@@ -9,13 +10,18 @@ add_subdirectory(sdl ${CMAKE_BINARY_DIR}/temp/sdl2 EXCLUDE_FROM_ALL)
 
 # FIXME: For now we force-on Neon
 set(PNG_ARM_NEON on CACHE STRING "")
+set(PNG_STATIC on CACHE STRING "")
 add_subdirectory(lpng ${CMAKE_BINARY_DIR}/temp/lpng EXCLUDE_FROM_ALL)
 
 add_subdirectory(ljpeg ${CMAKE_BINARY_DIR}/temp/ljpeg EXCLUDE_FROM_ALL)
 add_subdirectory(tinyxml ${CMAKE_BINARY_DIR}/temp/tinyxml EXCLUDE_FROM_ALL)
 
 add_subdirectory(opcode ${CMAKE_BINARY_DIR}/temp/opcode EXCLUDE_FROM_ALL)
+
+set(ALSOFT_EXAMPLES off CACHE STRING "")
+set(ALSOFT_UPDATE_BUILD_VERSION off CACHE STRING "")
 add_subdirectory(openal-soft ${CMAKE_BINARY_DIR}/temp/openal-soft EXCLUDE_FROM_ALL)
+
 add_subdirectory(zlib ${CMAKE_BINARY_DIR}/temp/zlib EXCLUDE_FROM_ALL)
 add_subdirectory(pcre ${CMAKE_BINARY_DIR}/temp/pcre EXCLUDE_FROM_ALL)
 add_subdirectory(convexDecomp ${CMAKE_BINARY_DIR}/temp/convexDecomp EXCLUDE_FROM_ALL)

+ 1 - 1
Engine/lib/convexDecomp/CMakeLists.txt

@@ -1,3 +1,3 @@
 file(GLOB CONVEX_DECOMP_SOURCES "*.cpp")
-add_library(convexDecomp ${CONVEX_DECOMP_SOURCES})
+add_library(convexDecomp STATIC ${CONVEX_DECOMP_SOURCES})
 target_include_directories(convexDecomp PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

+ 1 - 1
Engine/lib/ljpeg/CMakeLists.txt

@@ -1,2 +1,2 @@
 file(GLOB LJPEG_SOURCES "*.c")
-add_library(ljpeg ${LJPEG_SOURCES})
+add_library(ljpeg STATIC ${LJPEG_SOURCES})

+ 1 - 1
Engine/lib/opcode/CMakeLists.txt

@@ -1,5 +1,5 @@
 file(GLOB OPCODE_SOURCES "*.cpp" "Ice/*.cpp")
 
-add_library(opcode ${OPCODE_SOURCES})
+add_library(opcode STATIC ${OPCODE_SOURCES})
 target_compile_definitions(opcode PUBLIC ICE_NO_DLL TORQUE_OPCODE)
 target_include_directories(opcode PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

+ 1 - 1
Engine/lib/squish/CMakeLists.txt

@@ -1,4 +1,4 @@
 file(GLOB SQUISH_SOURCES "*.cpp")
 
-add_library(squish ${SQUISH_SOURCES})
+add_library(squish STATIC ${SQUISH_SOURCES})
 target_include_directories(squish PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

+ 1 - 1
Engine/lib/tinyxml/CMakeLists.txt

@@ -1,4 +1,4 @@
-add_library(tinyxml "tinyxml2.cpp")
+add_library(tinyxml STATIC "tinyxml2.cpp")
 
 # NOTE: Some stuff include tinyxml by tinyxml/tinyxml2.h instead of just tinyxml2.h
 target_include_directories(tinyxml PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../)

+ 36 - 101
Engine/source/CMakeLists.txt

@@ -1,83 +1,3 @@
-option(TORQUE_MULTITHREAD "Multi Threading" ON)
-mark_as_advanced(TORQUE_MULTITHREAD)
-
-option(TORQUE_POSIX_PATH_CASE_INSENSITIVE "POSIX Pathing Case Insensitivity" ON)
-mark_as_advanced(TORQUE_POSIX_PATH_CASE_INSENSITIVE)
-
-option(TORQUE_ZIP_PATH_CASE_INSENSITIVE "ZIP Pathing Case Insensitivity" ON)
-mark_as_advanced(TORQUE_ZIP_PATH_CASE_INSENSITIVE)
-
-option(TORQUE_DISABLE_MEMORY_MANAGER "Disable memory manager" ON)
-mark_as_advanced(TORQUE_DISABLE_MEMORY_MANAGER)
-
-option(TORQUE_DISABLE_VIRTUAL_MOUNT_SYSTEM "Disable virtual mount system" OFF)
-mark_as_advanced(TORQUE_DISABLE_VIRTUAL_MOUNT_SYSTEM)
-
-option(TORQUE_DISABLE_FIND_ROOT_WITHIN_ZIP "Disable reading root path from zip. Zips will be mounted in-place with file name as directory name." ON)
-mark_as_advanced(TORQUE_DISABLE_FIND_ROOT_WITHIN_ZIP)
-
-option(TORQUE_ZIP_DISK_LAYOUT "All zips must be placed in the executable directory and contain full paths to the files." OFF)
-mark_as_advanced(TORQUE_ZIP_DISK_LAYOUT)
-
-option(TORQUE_PLAYER "Playback only?" OFF)
-mark_as_advanced(TORQUE_PLAYER)
-
-option(TORQUE_TOOLS "Enable or disable the tools" ON)
-mark_as_advanced(TORQUE_TOOLS)
-
-option(TORQUE_ENABLE_PROFILER "Enable or disable the profiler" OFF)
-mark_as_advanced(TORQUE_ENABLE_PROFILER)
-
-option(TORQUE_DEBUG "T3D Debug mode" OFF)
-mark_as_advanced(TORQUE_DEBUG)
-
-option(TORQUE_SHIPPING "T3D Shipping build?" OFF)
-mark_as_advanced(TORQUE_SHIPPING)
-
-option(TORQUE_DEBUG_NET "debug network" OFF)
-mark_as_advanced(TORQUE_DEBUG_NET)
-
-option(TORQUE_DEBUG_NET_MOVES "debug network moves" OFF)
-mark_as_advanced(TORQUE_DEBUG_NET_MOVES)
-
-option(TORQUE_ENABLE_ASSERTS "enables or disable asserts" OFF)
-mark_as_advanced(TORQUE_ENABLE_ASSERTS)
-
-option(TORQUE_DEBUG_GFX_MODE "triggers graphics debug mode" OFF)
-mark_as_advanced(TORQUE_DEBUG_GFX_MODE)
-
-#option(DEBUG_SPEW "more debug" OFF)
-set(TORQUE_NO_DSO_GENERATION ON)
-
-if(NOT TORQUE_SCRIPT_EXTENSION)
-    set(TORQUE_SCRIPT_EXTENSION "tscript" CACHE STRING "The default script extension to use for TorqueScript files")
-endif()
-
-mark_as_advanced(TORQUE_SCRIPT_EXTENSION)
-
-option(TORQUE_USE_ZENITY "use the Zenity backend for NFD" OFF)
-mark_as_advanced(TORQUE_USE_ZENITY)
-
-option(TORQUE_SHOW_LEGACY_FILE_FIELDS "If on, shows legacy direct file path fields in the inspector." OFF)
-mark_as_advanced(TORQUE_SHOW_LEGACY_FILE_FIELDS)
-
-macro(setupVersionNumbers)
-    set(TORQUE_APP_VERSION_MAJOR 1 CACHE STRING "")
-    set(TORQUE_APP_VERSION_MINOR 0 CACHE STRING "")
-    set(TORQUE_APP_VERSION_PATCH 0 CACHE STRING "")
-    set(TORQUE_APP_VERSION_TWEAK 0 CACHE STRING "")
-    mark_as_advanced(TORQUE_APP_VERSION_TWEAK)
-    MATH(EXPR TORQUE_APP_VERSION "${TORQUE_APP_VERSION_MAJOR} * 1000 + ${TORQUE_APP_VERSION_MINOR} * 100 + ${TORQUE_APP_VERSION_PATCH} * 10 + ${TORQUE_APP_VERSION_TWEAK}")
-    set(TORQUE_APP_VERSION_STRING "${TORQUE_APP_VERSION_MAJOR}.${TORQUE_APP_VERSION_MINOR}.${TORQUE_APP_VERSION_PATCH}.${TORQUE_APP_VERSION_TWEAK}")
-    #message(STATUS "version numbers: ${TORQUE_APP_VERSION} / ${TORQUE_APP_VERSION_STRING}")
-endmacro()
-setupVersionNumbers()
-
-# Generate torqueConfig.h in our temp directory
-CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/Tools/CMake/torqueConfig.h.in" "${CMAKE_BINARY_DIR}/temp/torqueConfig.h")
-
-# Perform engine build. We do this initially as a lib for easier unit testing.
-file(GLOB TORQUE_MAIN_SOURCES "main/*.cpp")
 file(GLOB TORQUE_APP_SOURCES "app/*.cpp" "app/net/*.cpp")
 
 # Handle Platform
@@ -94,7 +14,7 @@ file(GLOB TORQUE_T3D_SOURCES "T3D/fps/*.cpp" "T3D/fx/*.cpp" "T3D/vehicles/*.cpp"
 file(GLOB TORQUE_TS_SOURCES "ts/*.cpp" "ts/collada/*.cpp" "ts/assimp/*.cpp" "ts/loader/*.cpp" "ts/arch/*.cpp")
 
 # Handle SFX
-file(GLOB TORQUE_SFX_SOURCES "sfx/*.cpp" "sfx/media/*.cpp" "sfx/null/*.cpp")
+file(GLOB TORQUE_SFX_SOURCES "sfx/*.cpp" "sfx/media/*.cpp" "sfx/null/*.cpp" "sfx/openal/*.cpp" "sfx/openal/mac/*.cpp")
 
 # Handle GFX
 file(GLOB TORQUE_GFX_SOURCES "gfx/*.cpp" "gfx/Null/*.cpp" "gfx/test/*.cpp" "gfx/bitmap/*.cpp" "gfx/bitmap/loaders/*.cpp"
@@ -199,27 +119,42 @@ set(TORQUE_COMPILE_DEFINITIONS ICE_NO_DLL PCRE_STATIC TORQUE_ADVANCED_LIGHTING T
 
 # Set common linkages
 set(TORQUE_LINK_LIBRARIES tinyxml collada ljpeg squish png_static opcode assimp
-                          SDL2 glad pcre convexDecomp "-framework Cocoa" "-framework AppKit"
-                          "-framework CoreData" "-framework Foundation")
+                          SDL2 glad pcre convexDecomp OpenAL)
 
+# Only link Apple frameworks when on an Apple platform
+if (APPLE)
+  set(TORQUE_LINK_LIBRARIES ${TORQUE_LINK_LIBRARIES} "-framework Cocoa" "-framework AppKit" "-framework CoreData" "-framework Foundation")
+endif (APPLE)
 
-set(CPACK_BUNDLE_NAME "Game")
-set(CPACK_BUNDLE_ICON "${CMAKE_SOURCE_DIR}/Tools/CMake/torque.icns")
-set(CPACK_BUNDLE_PLIS "${CMAKE_SOURCE_DIR}/Tools/CMake/Info.plist.in")
-set(CPACK_PACKAGE_EXECUTABLES "Game" "Game")
+# Begin assembling source code payload
+set (TORQUE_SOURCE_FILES "main/main.cpp"
+                          ${TORQUE_APP_SOURCES} ${TORQUE_RENDERINSTANCE_SOURCES}
+                          ${TORQUE_CINTERFACE_SOURCES} ${TORQUE_MATH_SOURCES}
+                          ${TORQUE_PLATFORM_SOURCES} ${TORQUE_ASSETS_SOURCES} ${TORQUE_UTIL_SOURCES}
+                          ${TORQUE_CORE_SOURCES} ${TORQUE_PERSISTENCE_SOURCES} ${TORQUE_MODULE_SOURCES}
+                          ${TORQUE_PLATFORM_SDL_SOURCES} ${TORQUE_PLATFORM_MAC_SOURCES} ${TORQUE_PLATFORM_POSIX_SOURCES}
+                          ${TORQUE_WINDOW_MANAGER_SOURCES} ${TORQUE_SCENE_SOURCES} ${TORQUE_COLLISION_SOURCES}
+                          ${TORQUE_T3D_SOURCES} ${TORQUE_TS_SOURCES} ${TORQUE_SIM_SOURCES} ${TORQUE_MATERIALS_SOURCES}
+                          ${TORQUE_SHADERGEN_SOURCES} ${TORQUE_LIGHTING_SOURCES} ${TORQUE_GUI_SOURCES}
+                          ${TORQUE_ENVIRONMENT_SOURCES} ${TORQUE_TERRAIN_SOURCES} ${TORQUE_POSTFX_SOURCES}
+                          ${TORQUE_I18N_SOURCES} ${TORQUE_CONSOLE_SOURCES} ${TORQUE_SFX_SOURCES} ${TORQUE_GFX_SOURCES})
+
+# Search module directories
+set(TORQUE_MODULE_PATHS "${CMAKE_SOURCE_DIR}/Tools/CMake/modules")
+foreach (TORQUE_MODULE_PATH ${TORQUE_MODULE_PATHS})
+  # First find simple cmake scripts
+  file(GLOB MODULE_SCRIPTS "${TORQUE_MODULE_PATH}/*.cmake")
+
+  message("Found Module Scripts" ${MODULE_SCRIPTS})
+  foreach (TORQUE_MODULE_SCRIPT ${MODULE_SCRIPTS})
+    message("Including Module Script: ${TORQUE_MODULE_SCRIPT}")
+    include(${TORQUE_MODULE_SCRIPT})
+  endforeach()
+endforeach()
 
 # Final executable
-add_executable(Game MACOSX_BUNDLE "main/main.cpp"
-                                  ${TORQUE_APP_SOURCES} ${TORQUE_RENDERINSTANCE_SOURCES}
-                                  ${TORQUE_CINTERFACE_SOURCES} ${TORQUE_MATH_SOURCES}
-                                  ${TORQUE_PLATFORM_SOURCES} ${TORQUE_ASSETS_SOURCES} ${TORQUE_UTIL_SOURCES}
-                                  ${TORQUE_CORE_SOURCES} ${TORQUE_PERSISTENCE_SOURCES} ${TORQUE_MODULE_SOURCES}
-                                  ${TORQUE_PLATFORM_SDL_SOURCES} ${TORQUE_PLATFORM_MAC_SOURCES} ${TORQUE_PLATFORM_POSIX_SOURCES}
-                                  ${TORQUE_WINDOW_MANAGER_SOURCES} ${TORQUE_SFX_SOURCES} ${TORQUE_SCENE_SOURCES} ${TORQUE_COLLISION_SOURCES}
-                                  ${TORQUE_T3D_SOURCES} ${TORQUE_TS_SOURCES} ${TORQUE_SIM_SOURCES} ${TORQUE_MATERIALS_SOURCES}
-                                  ${TORQUE_SHADERGEN_SOURCES} ${TORQUE_LIGHTING_SOURCES} ${TORQUE_GUI_SOURCES}
-                                  ${TORQUE_ENVIRONMENT_SOURCES} ${TORQUE_TERRAIN_SOURCES} ${TORQUE_POSTFX_SOURCES}
-                                  ${TORQUE_I18N_SOURCES} ${TORQUE_CONSOLE_SOURCES} ${TORQUE_GFX_SOURCES})
+add_executable(Game MACOSX_BUNDLE ${TORQUE_SOURCE_FILES})
+
 target_compile_definitions(Game PUBLIC ${TORQUE_COMPILE_DEFINITIONS})
 target_link_libraries(Game ${TORQUE_LINK_LIBRARIES})
 target_include_directories(Game PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_BINARY_DIR}/temp")
@@ -229,16 +164,16 @@ CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/Tools/CMake/Info.plist.in" "${CMAKE_BINARY_D
 set_target_properties(Game PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_BINARY_DIR}/temp/Info.plist")
 
 install(TARGETS Game
-    BUNDLE DESTINATION . COMPONENT Runtime
+    BUNDLE DESTINATION game COMPONENT Runtime
     RUNTIME DESTINATION bin COMPONENT Runtime
 )
 
 # Note Mac specific extension .app
-set(APPS "\${CMAKE_INSTALL_PREFIX}/Game.app")
+set(APPS "\${CMAKE_INSTALL_PREFIX}/game/Game.app")
 
 # Directories to look for dependencies
 # FIXME: Auto detect?
-set(DIRS ${CMAKE_BINARY_DIR}/temp/sdl2 ${CMAKE_BINARY_DIR}/temp/assimp/bin)
+set(DIRS ${CMAKE_BINARY_DIR}/temp/sdl2 ${CMAKE_BINARY_DIR}/temp/openal-soft ${CMAKE_BINARY_DIR}/temp/assimp/bin)
 
 install(CODE "include(BundleUtilities)
     fixup_bundle(\"${APPS}\" \"\" \"${DIRS}\")")

+ 12 - 12
Engine/source/console/fileSystemFunctions.cpp

@@ -97,11 +97,11 @@ static S32 buildFileList(const char* pattern, bool recurse, bool multiMatch)
    Torque::FS::FileSystemRef fs = Torque::FS::GetFileSystem(givenPath);
    //Torque::Path path = fs->mapTo(givenPath);
    Torque::Path path = givenPath;
-   
+
    // Make sure that we have a root so the correct file system can be determined when using zips
    if(givenPath.isRelative())
       path = Torque::Path::Join(Torque::FS::GetCwd(), '/', givenPath);
-   
+
    path.setFileName(String::EmptyString);
    path.setExtension(String::EmptyString);
    if(!Torque::FS::IsDirectory(path))
@@ -361,11 +361,11 @@ DefineEngineFunction(getFileCountMultiExpr, S32, ( const char* pattern, bool rec
 
 DefineEngineFunction(getFileCRC, S32, ( const char* fileName ),,
    "@brief Provides the CRC checksum of the given file.\n\n"
-   
+
    "@param fileName The path to the file.\n"
    "@return The calculated CRC checksum of the file, or -1 if the file "
    "could not be found.\n"
-   
+
    "@ingroup FileSystem")
 {
    String cleanfilename(Torque::Path::CleanSeparators(fileName));
@@ -385,10 +385,10 @@ DefineEngineFunction(getFileCRC, S32, ( const char* fileName ),,
 
 DefineEngineFunction(isFile, bool, ( const char* fileName ),,
    "@brief Determines if the specified file exists or not\n\n"
-   
+
    "@param fileName The path to the file.\n"
    "@return Returns true if the file was found.\n"
-   
+
    "@ingroup FileSystem")
 {
    String cleanfilename(Torque::Path::CleanSeparators(fileName));
@@ -556,13 +556,13 @@ DefineEngineFunction( fileModifiedTime, String, ( const char* fileName ),,
    Platform::getFileTimes( sgScriptFilenameBuffer, NULL, &ft );
 
    Platform::LocalTime lt = {0};
-   Platform::fileToLocalTime( ft, &lt );   
-   
+   Platform::fileToLocalTime( ft, &lt );
+
    String fileStr = Platform::localTimeToString( lt );
-   
+
    char *buffer = Con::getReturnBuffer( fileStr.size() );
    dStrcpy( buffer, fileStr, fileStr.size() );
-   
+
    return buffer;
 }
 
@@ -579,7 +579,7 @@ DefineEngineFunction( fileCreatedTime, String, ( const char* fileName ),,
    Platform::getFileTimes( sgScriptFilenameBuffer, &ft, NULL );
 
    Platform::LocalTime lt = {0};
-   Platform::fileToLocalTime( ft, &lt );   
+   Platform::fileToLocalTime( ft, &lt );
 
    String fileStr = Platform::localTimeToString( lt );
 
@@ -841,7 +841,7 @@ DefineEngineFunction( pathCopy, bool, ( const char* fromFile, const char* toFile
 {
    char qualifiedFromFile[ 2048 ];
    char qualifiedToFile[ 2048 ];
-   
+
    Platform::makeFullPathName( fromFile, qualifiedFromFile, sizeof( qualifiedFromFile ) );
    Platform::makeFullPathName( toFile, qualifiedToFile, sizeof( qualifiedToFile ) );
 

+ 2 - 2
Engine/source/main/main.cpp

@@ -283,12 +283,12 @@ int main(int argc, const char **argv)
 #include "app/mainLoop.h"
 #include "T3D/gameFunctions.h"
 
-#if defined(WIN32) || defined(_WIN32) 
+#if defined(WIN32) || defined(_WIN32)
 //tell switchable graphics supported systems that they need to use the beefier GPU
 #include <windows.h>
 extern "C" { __declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001; }
 extern "C" { __declspec(dllexport) DWORD AmdPowerXpressRequestHighPerformance = 0x00000001; }
-#else 
+#else
 extern "C" { int NvOptimusEnablement = 1; }
 extern "C" { int AmdPowerXpressRequestHighPerformance = 1; }
 #endif

+ 5 - 479
Tools/CMake/basics.cmake

@@ -20,493 +20,19 @@
 # IN THE SOFTWARE.
 # -----------------------------------------------------------------------------
 
-project("Torque3DEngine")
-
-# Detect 32bit and 64bit x86/ARM
-if (CMAKE_SYSTEM_PROCESSOR MATCHES "arm")
-    if( CMAKE_CXX_SIZEOF_DATA_PTR EQUAL 8 )
-        set( TORQUE_CPU_ARM64 ON )
-    elseif( CMAKE_CXX_SIZEOF_DATA_PTR EQUAL 4 )
-        set( TORQUE_CPU_ARM32 ON )
-    endif()
-else()
-    if( CMAKE_CXX_SIZEOF_DATA_PTR EQUAL 8 )
-        set( TORQUE_CPU_X64 ON )
-    elseif( CMAKE_CXX_SIZEOF_DATA_PTR EQUAL 4 )
-        set( TORQUE_CPU_X32 ON )
-    endif()
-endif()
-
-if(NOT TORQUE_TEMPLATE)
-    set(TORQUE_TEMPLATE "BaseGame" CACHE STRING "the template to use")
-endif()
-if(NOT TORQUE_APP_DIR)
-    set(TORQUE_APP_DIR "${CMAKE_SOURCE_DIR}/My Projects/${TORQUE_APP_NAME}" CACHE STRING "final installation location")
-endif()
-if(NOT projectOutDir)
-    set(projectOutDir "${TORQUE_APP_DIR}/game")
-endif()
-if(NOT projectSrcDir)
-    set(projectSrcDir "${TORQUE_APP_DIR}/source")
-endif()
-set(libDir        "${CMAKE_SOURCE_DIR}/Engine/lib")
-set(srcDir        "${CMAKE_SOURCE_DIR}/Engine/source")
-set(cmakeDir      "${CMAKE_SOURCE_DIR}/Tools/CMake")
-
-# hide some things
-mark_as_advanced(CMAKE_INSTALL_PREFIX)
-mark_as_advanced(CMAKE_CONFIGURATION_TYPES)
-
-# output folders
-#set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${projectOutDir}/game)
-#set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${projectOutDir}/game)
-#set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${projectOutDir}/game)
-
-###############################################################################
-### Source File Handling
-###############################################################################
-
-# finds and adds sources files in a folder
-macro(addPath dir)
-    set(tmp_files "")
-    set(glob_config GLOB)
-    if(${ARGC} GREATER 1 AND "${ARGV1}" STREQUAL "REC")
-        set(glob_config GLOB_RECURSE)
-    endif()
-	set(mac_files "")
-	if(APPLE)
-		set(mac_files ${dir}/*.mm ${dir}/*.m)
-	endif()
-    file(${glob_config} tmp_files
-             ${dir}/*.cpp
-             ${dir}/*.c
-             ${dir}/*.cc
-             ${dir}/*.h
-             ${mac_files}
-             #${dir}/*.asm
-             )
-    foreach(entry ${BLACKLIST})
- 		list(REMOVE_ITEM tmp_files ${dir}/${entry})
- 	endforeach()
-    LIST(APPEND ${PROJECT_NAME}_files "${tmp_files}")
-    LIST(APPEND ${PROJECT_NAME}_paths "${dir}")
-    #message(STATUS "addPath ${PROJECT_NAME} : ${tmp_files}")
-endmacro()
-
-# adds a file to the sources
-macro(addFile filename)
-    LIST(APPEND ${PROJECT_NAME}_files "${filename}")
-    #message(STATUS "addFile ${PROJECT_NAME} : ${filename}")
-endmacro()
-
-# finds and adds sources files in a folder recursively
-macro(addPathRec dir)
-    addPath("${dir}" "REC")
-endmacro()
-
-###############################################################################
-###  Gameplay Modules Lib Check
-###############################################################################
-macro(subDirCmake result curdir)
-	file(GLOB children RELATIVE ${curdir} ${curdir}/*)
-	set(dirList "")
-	foreach(child ${children})
-		if(IS_DIRECTORY ${curdir}/${child})
-			LIST(APPEND dirList ${curdir}/${child})
-		endif()
-	endforeach()
-	set(${result} ${dirList})
-endmacro()
-
-###############################################################################
-### Definition Handling
-###############################################################################
-macro(__addDef def config)
-    # two possibilities: a) target already known, so add it directly, or b) target not yet known, so add it to its cache
-    if(TARGET ${PROJECT_NAME})
-        #message(STATUS "directly applying defs: ${PROJECT_NAME} with config ${config}: ${def}")
-        if("${config}" STREQUAL "")
-            set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS ${def})
-        else()
-            set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:${config}>:${def}>)
-        endif()
-    else()
-        if("${config}" STREQUAL "")
-            list(APPEND ${PROJECT_NAME}_defs_ ${def})
-        else()
-            list(APPEND ${PROJECT_NAME}_defs_ $<$<CONFIG:${config}>:${def}>)
-        endif()
-        #message(STATUS "added definition to cache: ${PROJECT_NAME}_defs_: ${${PROJECT_NAME}_defs_}")
-    endif()
-endmacro()
-
-# adds a definition: argument 1: Nothing(for all), _DEBUG, _RELEASE, <more build configurations>
-macro(addDef def)
-    set(def_configs "")
-    if(${ARGC} GREATER 1)
-        foreach(config ${ARGN})
-            __addDef(${def} ${config})
-        endforeach()
-    else()
-        __addDef(${def} "")
-    endif()
-endmacro()
-
-# this applies cached definitions onto the target
-macro(_process_defs)
-    if(DEFINED ${PROJECT_NAME}_defs_)
-        set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS ${${PROJECT_NAME}_defs_})
-        #message(STATUS "applying defs to project ${PROJECT_NAME}: ${${PROJECT_NAME}_defs_}")
-    endif()
-endmacro()
-
-###############################################################################
-###  Source Library Handling
-###############################################################################
-macro(addLibSrc libPath)
-    set(cached_project_name ${PROJECT_NAME})
-    include(${libPath})
-    project(${cached_project_name})
-endmacro()
-
-###############################################################################
-### Linked Library Handling
-###############################################################################
-macro(addLib libs)
-   foreach(lib ${libs})
-        # check if we can build it ourselfs
-        if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/libraries/${lib}.cmake")
-            addLibSrc("${CMAKE_CURRENT_SOURCE_DIR}/libraries/${lib}.cmake")
-        endif()
-        # then link against it
-        # two possibilities: a) target already known, so add it directly, or b) target not yet known, so add it to its cache
-        if(TARGET ${PROJECT_NAME})
-            target_link_libraries(${PROJECT_NAME} "${lib}")
-        else()
-            list(APPEND ${PROJECT_NAME}_libs ${lib})
-        endif()
-   endforeach()
-endmacro()
-
-#addLibRelease will add to only release builds
-macro(addLibRelease libs)
-   foreach(lib ${libs})
-        # check if we can build it ourselfs
-        if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/libraries/${lib}.cmake")
-            addLibSrc("${CMAKE_CURRENT_SOURCE_DIR}/libraries/${lib}.cmake")
-        endif()
-        # then link against it
-        # two possibilities: a) target already known, so add it directly, or b) target not yet known, so add it to its cache
-        if(TARGET ${PROJECT_NAME})
-            target_link_libraries(${PROJECT_NAME} optimized "${lib}")
-        else()
-            list(APPEND ${PROJECT_NAME}_libsRelease ${lib})
-        endif()
-   endforeach()
-endmacro()
-
-#addLibDebug will add to only debug builds
-macro(addLibDebug libs)
-   foreach(lib ${libs})
-        # check if we can build it ourselfs
-        if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/libraries/${lib}.cmake")
-            addLibSrc("${CMAKE_CURRENT_SOURCE_DIR}/libraries/${lib}.cmake")
-        endif()
-        # then link against it
-        # two possibilities: a) target already known, so add it directly, or b) target not yet known, so add it to its cache
-        if(TARGET ${PROJECT_NAME})
-            target_link_libraries(${PROJECT_NAME} debug "${lib}")
-        else()
-            list(APPEND ${PROJECT_NAME}_libsDebug ${lib})
-        endif()
-   endforeach()
-endmacro()
-
-# this applies cached definitions onto the target
-macro(_process_libs)
-    if(DEFINED ${PROJECT_NAME}_libs)
-        target_link_libraries(${PROJECT_NAME} "${${PROJECT_NAME}_libs}")
-    endif()
-    if(DEFINED ${PROJECT_NAME}_libsRelease)
-        target_link_libraries(${PROJECT_NAME} optimized "${${PROJECT_NAME}_libsRelease}")
-    endif()
-    if(DEFINED ${PROJECT_NAME}_libsDebug)
-        target_link_libraries(${PROJECT_NAME} debug "${${PROJECT_NAME}_libsDebug}")
-    endif()
-
-endmacro()
-
-# apple frameworks
-macro(addFramework framework)
-	if (APPLE)
-		addLib("-framework ${framework}")
-	endif()
-endmacro()
-
-###############################################################################
-### Include Handling
-###############################################################################
-macro(addInclude incPath)
-    if(TARGET ${PROJECT_NAME})
-        set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY INCLUDE_DIRECTORIES "${incPath}")
-    else()
-        list(APPEND ${PROJECT_NAME}_includes ${incPath})
-    endif()
-endmacro()
-
-# this applies cached definitions onto the target
-macro(_process_includes)
-    if(DEFINED ${PROJECT_NAME}_includes)
-        set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY INCLUDE_DIRECTORIES "${${PROJECT_NAME}_includes}")
-    endif()
-endmacro()
-
-###############################################################################
-
-macro(_postTargetProcess)
-    _process_includes()
-    _process_defs()
-    _process_libs()
-endmacro()
-
-# adds a path to search for libs
-macro(addLibPath dir)
-    link_directories(${dir})
-endmacro()
-
-# creates a proper filter for VS
-macro(generateFilters relDir)
-    foreach(f ${${PROJECT_NAME}_files})
-        # Get the path of the file relative to ${DIRECTORY},
-        # then alter it (not compulsory)
-        file(RELATIVE_PATH SRCGR ${relDir} ${f})
-        set(SRCGR "${PROJECT_NAME}/${SRCGR}")
-        # Extract the folder, ie remove the filename part
-        string(REGEX REPLACE "(.*)(/[^/]*)$" "\\1" SRCGR ${SRCGR})
-        # do not have any ../ dirs
-        string(REPLACE "../" "" SRCGR ${SRCGR})
-        # Source_group expects \\ (double antislash), not / (slash)
-        string(REPLACE / \\ SRCGR ${SRCGR})
-        #STRING(REPLACE "//" "/" SRCGR ${SRCGR})
-        #message(STATUS "FILE: ${f} -> ${SRCGR}")
-        source_group("${SRCGR}" FILES ${f})
-    endforeach()
-endmacro()
-
-# creates a proper filter for VS
-macro(generateFiltersSpecial relDir)
-    foreach(f ${${PROJECT_NAME}_files})
-        # Get the path of the file relative to ${DIRECTORY},
-        # then alter it (not compulsory)
-        file(RELATIVE_PATH SRCGR ${relDir} ${f})
-        set(SRCGR "torque3d/${SRCGR}")
-        # Extract the folder, ie remove the filename part
-        string(REGEX REPLACE "(.*)(/[^/]*)$" "\\1" SRCGR ${SRCGR})
-        # do not have any ../ dirs
-        string(REPLACE "../" "" SRCGR ${SRCGR})
-        IF("${SRCGR}" MATCHES "^torque3d/My Projects/.*$")
-            string(REPLACE "torque3d/My Projects/${PROJECT_NAME}/" "" SRCGR ${SRCGR})
-            string(REPLACE "/source" "" SRCGR ${SRCGR})
-        endif()
-        # Source_group expects \\ (double antislash), not / (slash)
-        string(REPLACE / \\ SRCGR ${SRCGR})
-        #STRING(REPLACE "//" "/" SRCGR ${SRCGR})
-        IF(EXISTS "${f}" AND NOT IS_DIRECTORY "${f}")
-            #message(STATUS "FILE: ${f} -> ${SRCGR}")
-            source_group("${SRCGR}" FILES ${f})
-        endif()
-    endforeach()
-endmacro()
-
-# macro to add a static library
-macro(finishLibrary)
-    # more paths?
-    if(${ARGC} GREATER 0)
-        foreach(dir ${ARGV0})
-            addPath("${dir}")
-        endforeach()
-    endif()
-    # now inspect the paths we got
-    set(firstDir "")
-    foreach(dir ${${PROJECT_NAME}_paths})
-        if("${firstDir}" STREQUAL "")
-            set(firstDir "${dir}")
-        endif()
-    endforeach()
-    generateFilters("${firstDir}")
-
-    # set per target compile flags
-    if(TORQUE_CXX_FLAGS_${PROJECT_NAME})
-        set_source_files_properties(${${PROJECT_NAME}_files} PROPERTIES COMPILE_FLAGS "${TORQUE_CXX_FLAGS_${PROJECT_NAME}}")
-    else()
-        set_source_files_properties(${${PROJECT_NAME}_files} PROPERTIES COMPILE_FLAGS "${TORQUE_CXX_FLAGS_LIBS}")
-    endif()
-
-    if(TORQUE_STATIC)
-        add_library("${PROJECT_NAME}" STATIC ${${PROJECT_NAME}_files})
-    else()
-        add_library("${PROJECT_NAME}" SHARED ${${PROJECT_NAME}_files})
-    endif()
-
-    target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11)
-
-    # omg - only use the first folder ... otherwise we get lots of header name collisions
-    #foreach(dir ${${PROJECT_NAME}_paths})
-    addInclude("${firstDir}")
-    #endforeach()
-
-    _postTargetProcess()
-
-    #set the folder property name
-    set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER ${TORQUE_LIBS_FOLDER_NAME})
-endmacro()
-
-# macro to add an executable
-macro(finishExecutable)
-    # now inspect the paths we got
-    set(firstDir "")
-    foreach(dir ${${PROJECT_NAME}_paths})
-        if("${firstDir}" STREQUAL "")
-            set(firstDir "${dir}")
-        endif()
-    endforeach()
-    generateFiltersSpecial("${firstDir}")
-
-    # set per target compile flags
-    if(TORQUE_CXX_FLAGS_${PROJECT_NAME})
-        set_source_files_properties(${${PROJECT_NAME}_files} PROPERTIES COMPILE_FLAGS "${TORQUE_CXX_FLAGS_${PROJECT_NAME}}")
-    else()
-        set_source_files_properties(${${PROJECT_NAME}_files} PROPERTIES COMPILE_FLAGS "${TORQUE_CXX_FLAGS_EXECUTABLES}")
-    endif()
-
-    if (APPLE)
-      set(ICON_FILE "${projectSrcDir}/torque.icns")
-        set_source_files_properties(${ICON_FILE} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
-        add_executable("${PROJECT_NAME}" MACOSX_BUNDLE ${ICON_FILE} ${${PROJECT_NAME}_files})
-    else()
-        add_executable("${PROJECT_NAME}" WIN32 ${${PROJECT_NAME}_files})
-    endif()
-
-    # Torque requires c++17
-    target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17)
-
-    addInclude("${firstDir}")
-
-    _postTargetProcess()
-endmacro()
-
 macro(setupVersionNumbers)
     set(TORQUE_APP_VERSION_MAJOR 1 CACHE STRING "")
     set(TORQUE_APP_VERSION_MINOR 0 CACHE STRING "")
     set(TORQUE_APP_VERSION_PATCH 0 CACHE STRING "")
     set(TORQUE_APP_VERSION_TWEAK 0 CACHE STRING "")
+
     mark_as_advanced(TORQUE_APP_VERSION_TWEAK)
     MATH(EXPR TORQUE_APP_VERSION "${TORQUE_APP_VERSION_MAJOR} * 1000 + ${TORQUE_APP_VERSION_MINOR} * 100 + ${TORQUE_APP_VERSION_PATCH} * 10 + ${TORQUE_APP_VERSION_TWEAK}")
     set(TORQUE_APP_VERSION_STRING "${TORQUE_APP_VERSION_MAJOR}.${TORQUE_APP_VERSION_MINOR}.${TORQUE_APP_VERSION_PATCH}.${TORQUE_APP_VERSION_TWEAK}")
-    #message(STATUS "version numbers: ${TORQUE_APP_VERSION} / ${TORQUE_APP_VERSION_STRING}")
 endmacro()
 
-macro(setupPackaging)
-    INCLUDE(CPack)
-    # only enable zips for now
-    set(CPACK_BINARY_NSIS OFF CACHE INTERNAL "" FORCE)
-    set(CPACK_BINARY_ZIP   ON CACHE INTERNAL "" FORCE)
-    set(CPACK_SOURCE_ZIP  OFF CACHE INTERNAL "" FORCE)
-    SET(CPACK_GENERATOR "ZIP")
-    SET(CPACK_PACKAGE_VENDOR "${PROJECT_NAME}")
-    SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PROJECT_NAME}")
-    SET(CPACK_INCLUDE_TOPLEVEL_DIRECTORY 1)
-    SET(CPACK_OUTPUT_FILE_PREFIX "${TORQUE_APP_DIR}/packages/${PROJECT_NAME}")
-    SET(CPACK_PACKAGE_INSTALL_DIRECTORY "")
-    #SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReadMe.txt")
-    #SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
-    SET(CPACK_PACKAGE_VERSION_MAJOR "${TORQUE_APP_VERSION_MAJOR}")
-    SET(CPACK_PACKAGE_VERSION_MINOR "${TORQUE_APP_VERSION_MINOR}")
-    SET(CPACK_PACKAGE_VERSION_PATCH "${TORQUE_APP_VERSION_PATCH}")
-    #SET(CPACK_PACKAGE_EXECUTABLES "${PROJECT_NAME}" "${PROJECT_NAME}")
-    SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${PROJECT_NAME}-${TORQUE_APP_VERSION_STRING}")
-    #SET(CPACK_SOURCE_STRIP_FILES "")
-endmacro()
-# always static for now
-set(TORQUE_STATIC ON)
-#option(TORQUE_STATIC "enables or disable static" OFF)
-
-if(WIN32)
-    set(TORQUE_CXX_FLAGS_EXECUTABLES "/wd4018 /wd4100 /wd4121 /wd4127 /wd4130 /wd4244 /wd4245 /wd4389 /wd4511 /wd4512 /wd4800 /wd4995 " CACHE STRING "")
-    mark_as_advanced(TORQUE_CXX_FLAGS_EXECUTABLES)
-
-    set(TORQUE_CXX_FLAGS_LIBS "/W0" CACHE STRING "")
-    mark_as_advanced(TORQUE_CXX_FLAGS_LIBS)
-
-    set(TORQUE_CXX_FLAGS_COMMON_DEFAULT "-DUNICODE -D_UNICODE -D_CRT_SECURE_NO_WARNINGS /MP /O2 /Ob2 /Oi /Ot /Oy /GT /Zi /W4 /nologo /GF /EHsc /GS- /Gy- /Qpar- /fp:precise /fp:except- /GR /Zc:wchar_t-" )
-    if( TORQUE_CPU_X32 )
-       set(TORQUE_CXX_FLAGS_COMMON_DEFAULT "${TORQUE_CXX_FLAGS_COMMON_DEFAULT} /arch:SSE2")
-    endif()
-    set(TORQUE_CXX_FLAGS_COMMON ${TORQUE_CXX_FLAGS_COMMON_DEFAULT} CACHE STRING "")
-
-    mark_as_advanced(TORQUE_CXX_FLAGS_COMMON)
-
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORQUE_CXX_FLAGS_COMMON}")
-    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_CXX_FLAGS}")
-    set(CMAKE_EXE_LINKER_FLAGS "/LARGEADDRESSAWARE")
-    #set(STATIC_LIBRARY_FLAGS "/OPT:NOREF")
-
-    # Force static runtime libraries
-    if(TORQUE_STATIC)
-        FOREACH(flag
-            CMAKE_C_FLAGS_RELEASE
-            CMAKE_C_FLAGS_RELWITHDEBINFO
-            CMAKE_C_FLAGS_DEBUG
-            CMAKE_C_FLAGS_DEBUG_INIT
-            CMAKE_CXX_FLAGS_RELEASE
-            CMAKE_CXX_FLAGS_RELWITHDEBINFO
-            CMAKE_CXX_FLAGS_DEBUG
-            CMAKE_CXX_FLAGS_DEBUG_INIT)
-            STRING(REPLACE "/MD"  "/MT" "${flag}" "${${flag}}")
-            SET("${flag}" "${${flag}} /EHsc")
-        ENDFOREACH()
-    endif()
-else()
-    if(${CMAKE_VERSION} VERSION_LESS "3.16.0")
-        macro(CHECK_OBJC_SOURCE_COMPILES SOURCE VAR)
-            set(PREV_REQUIRED_DEFS "${CMAKE_REQUIRED_DEFINITIONS}")
-            set(CMAKE_REQUIRED_DEFINITIONS "-x objective-c ${PREV_REQUIRED_DEFS}")
-            CHECK_C_SOURCE_COMPILES(${SOURCE} ${VAR})
-            set(CMAKE_REQUIRED_DEFINITIONS "${PREV_REQUIRED_DEFS}")
-        endmacro()
-    else()
-        include(CheckOBJCSourceCompiles)
-        if (APPLE)
-            enable_language(OBJC)
-        endif()
-    endif()
-    # TODO: improve default settings on other platforms
-    set(TORQUE_CXX_FLAGS_EXECUTABLES "" CACHE STRING "")
-    mark_as_advanced(TORQUE_CXX_FLAGS_EXECUTABLES)
-    set(TORQUE_CXX_FLAGS_LIBS "" CACHE STRING "")
-    mark_as_advanced(TORQUE_CXX_FLAGS_LIBS)
-    set(TORQUE_CXX_FLAGS_COMMON "" CACHE STRING "")
-    mark_as_advanced(TORQUE_CXX_FLAGS)
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORQUE_CXX_FLAGS}")
-    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_CXX_FLAGS}")
-endif()
-
-if(UNIX)
-	SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${projectOutDir}")
-	set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${projectOutDir}")
-	SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${projectOutDir}")
-	set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG "${projectOutDir}")
-	SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${projectOutDir}")
-	set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE "${projectOutDir}")
-endif()
+function(installTemplate templateName)
+  message("Prepare Template(${templateName}) install...")
 
-# fix the debug/release subfolders on windows
-if(MSVC)
-    SET("CMAKE_RUNTIME_OUTPUT_DIRECTORY" "${projectOutDir}")
-    FOREACH(CONF ${CMAKE_CONFIGURATION_TYPES})
-        # Go uppercase (DEBUG, RELEASE...)
-        STRING(TOUPPER "${CONF}" CONF)
-        #SET("CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CONF}" "${projectOutDir}")
-        SET("CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONF}" "${projectOutDir}")
-    ENDFOREACH()
-endif()
+  add_subdirectory("${CMAKE_SOURCE_DIR}/Templates/${templateName}")
+endfunction()

+ 0 - 26
Tools/CMake/modules/module_afx.cmake

@@ -1,26 +0,0 @@
-# -----------------------------------------------------------------------------
-# Copyright (c) 2014 GarageGames, LLC
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-# IN THE SOFTWARE.
-# -----------------------------------------------------------------------------
-
-option(TORQUE_AFX_ENABLED "Enable AFX module" ON)
-if(TORQUE_AFX_ENABLED)
-	addPathRec( "${srcDir}/afx" )
-endif()

+ 0 - 37
Tools/CMake/modules/module_bullet.cmake

@@ -1,37 +0,0 @@
-# -----------------------------------------------------------------------------
-# Copyright (c) 2015 GarageGames, LLC
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-# IN THE SOFTWARE.
-# -----------------------------------------------------------------------------
-
-# Bullet module
-
-option(TORQUE_PHYSICS_BULLET "Use Bullet physics" OFF)
-
-if( NOT TORQUE_PHYSICS_BULLET )
-    return()
-endif()
-	           
-addDef( "TORQUE_PHYSICS_BULLET" )
-addDef( "TORQUE_PHYSICS_ENABLED" )
-
-addPath( "${srcDir}/T3D/physics/bullet" )
-addInclude( "${libDir}/bullet/src" )
-
-addLib( "libbullet" )

+ 0 - 52
Tools/CMake/modules/module_hydra.cmake

@@ -1,52 +0,0 @@
-# -----------------------------------------------------------------------------
-# Copyright (c) 2014 GarageGames, LLC
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-# IN THE SOFTWARE.
-# -----------------------------------------------------------------------------
-
-# module Hydra
-
-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()

+ 0 - 39
Tools/CMake/modules/module_navigation.cmake

@@ -1,39 +0,0 @@
-# -----------------------------------------------------------------------------
-# Copyright (c) 2014 GarageGames, LLC
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-# IN THE SOFTWARE.
-# -----------------------------------------------------------------------------
-
-# Navigation module
-option(TORQUE_NAVIGATION "Enable Navigation module" ON)
-
-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" )
-endif(TORQUE_NAVIGATION)

+ 0 - 49
Tools/CMake/modules/module_oculusVR.cmake

@@ -1,49 +0,0 @@
-# -----------------------------------------------------------------------------
-# Copyright (c) 2014 GarageGames, LLC
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-# IN THE SOFTWARE.
-# -----------------------------------------------------------------------------
-
-# module OculusVR
-
-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() 
- 
-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()

+ 0 - 32
Tools/CMake/modules/module_openvr.cmake

@@ -1,32 +0,0 @@
-
-# module openvr
-
-option(TORQUE_OPENVR "Enable openvr module" OFF)
-mark_as_advanced(TORQUE_OPENVR)
-if(TORQUE_OPENVR)
-	if(TORQUE_OPENVR_SDK_PATH STREQUAL "")
-		set(TORQUE_OPENVR_SDK_PATH "" CACHE PATH "openvr library path" FORCE)
-	endif()
-else() # hide variable
-	set(TORQUE_OPENVR_SDK_PATH "" CACHE INTERNAL "" FORCE) 
-endif() 
- 
-if(TORQUE_OPENVR)
-	# Source
-	addPathRec( "${srcDir}/platform/input/openvr" )
-
-	# Includes
-	addInclude( "${TORQUE_OPENVR_SDK_PATH}/headers" )
-	 
-	# Libs
-	if( WIN32 ) 
-		if( TORQUE_CPU_X64 )
-		link_directories( "${TORQUE_OPENVR_SDK_PATH}/lib/win64" )
-		else()
-		link_directories( "${TORQUE_OPENVR_SDK_PATH}/lib/win32" )
-		endif()
-		addLib( "openvr_api" )
-	endif()
-
-    addDef(TORQUE_OPENVR)
-endif()

+ 0 - 284
Tools/CMake/modules/module_physx3.cmake

@@ -1,284 +0,0 @@
-# -----------------------------------------------------------------------------
-# Copyright (c) 2017 GarageGames, LLC
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-# IN THE SOFTWARE.
-# -----------------------------------------------------------------------------
-
-# module Physx 3.4
-
-#do note the inconsistent upper/lower case nvidia use for directory names in physx
-
-option(TORQUE_PHYSICS_PHYSX3 "Use PhysX 3.4 physics" OFF)
-
-if( NOT TORQUE_PHYSICS_PHYSX3 )
-   return()
-endif()
-
-if("${PHYSX3_BASE_PATH}" STREQUAL "")
-   set(PHYSX3_BASE_PATH "" CACHE PATH "PhysX 3.4 path" FORCE)
-endif()
-
-#still no path we can't go any further
-if("${PHYSX3_BASE_PATH}" STREQUAL "")
-   message(FATAL_ERROR "No PhysX path selected")
-   return()
-endif()
-
-#set physx path
-set(PHYSX3_PATH "${PHYSX3_BASE_PATH}/PhysX_3.4")
-
-# Windows/ Visual Studio
-if(MSVC)
-if(TORQUE_CPU_X32)
-   if(MSVC_VERSION EQUAL 1800 )
-      set(PHYSX3_LIBPATH_PREFIX vc12win32)
-   elseif(MSVC_VERSION EQUAL 1900)
-      set(PHYSX3_LIBPATH_PREFIX vc14win32)
-   elseif(MSVC_VERSION GREATER_EQUAL 1910)
-      set(PHYSX3_LIBPATH_PREFIX vc15win32)
-   else()
-      message(FATAL_ERROR "This version of VS is not supported")
-      return()
-   endif()
-set(PHYSX3_LIBNAME_POSTFIX _x86)
-
-elseif(TORQUE_CPU_X64)
-   if(MSVC_VERSION EQUAL 1800 )
-      set(PHYSX3_LIBPATH_PREFIX vc12win64)
-   elseif(MSVC_VERSION EQUAL 1900)
-      set(PHYSX3_LIBPATH_PREFIX vc14win64)
-   elseif(MSVC_VERSION GREATER_EQUAL 1910)
-      set(PHYSX3_LIBPATH_PREFIX vc15win64)
-   else()
-      message(FATAL_ERROR "This version of VS is not supported")
-      return()
-   endif()
-   set(PHYSX3_LIBNAME_POSTFIX _x64)
-
-   endif()
-endif()
-
-# Only suport 64bit on macOS and linux
-if(APPLE)
-   set(PHYSX3_LIBPATH_PREFIX osx64)
-   set(PHYSX3_LIBNAME_POSTFIX _x64)
-elseif(UNIX)
-   set(PHYSX3_LIBPATH_PREFIX linux64)
-   set(PHYSX3_LIBNAME_POSTFIX _x64)
-endif()
-
-MACRO(FIND_PHYSX3_LIBRARY VARNAME LIBNAME WITHPOSTFIX SEARCHDIR)
-
-   set(LIBPOSTFIX "")
-   if(${WITHPOSTFIX})
-      set(LIBPOSTFIX ${PHYSX3_LIBNAME_POSTFIX})
-   endif(${WITHPOSTFIX})
-   #release
-   find_library(PHYSX3_${VARNAME}_LIBRARY NAMES ${LIBNAME}${LIBPOSTFIX} PATHS ${SEARCHDIR}${PHYSX3_LIBPATH_PREFIX})
-   #debug
-   find_library(PHYSX3_${VARNAME}_LIBRARY_DEBUG NAMES ${LIBNAME}DEBUG${LIBPOSTFIX} PATHS ${SEARCHDIR}${PHYSX3_LIBPATH_PREFIX})
-
-ENDMACRO()
-
-# Find the Libs
-if( WIN32 )
-   FIND_PHYSX3_LIBRARY(CORE PhysX3 1 ${PHYSX3_PATH}/Lib/)
-   FIND_PHYSX3_LIBRARY(COMMON PhysX3Common 1 ${PHYSX3_PATH}/Lib/)
-   FIND_PHYSX3_LIBRARY(COOKING PhysX3Cooking 1 ${PHYSX3_PATH}/Lib/)
-   FIND_PHYSX3_LIBRARY(CHARACTER PhysX3CharacterKinematic 1 ${PHYSX3_PATH}/Lib/)
-   FIND_PHYSX3_LIBRARY(EXTENSIONS PhysX3Extensions 0 ${PHYSX3_PATH}/Lib/)
-   FIND_PHYSX3_LIBRARY(TASK PxTask 1 ${PHYSX3_BASE_PATH}/PxShared/Lib/)
-   FIND_PHYSX3_LIBRARY(FOUNDATION PxFoundation 1 ${PHYSX3_BASE_PATH}/PxShared/Lib/)
-   FIND_PHYSX3_LIBRARY(PVD PxPvdSDK 1 ${PHYSX3_BASE_PATH}/PxShared/Lib/)
-
-   if(NOT PHYSX3_CORE_LIBRARY)
-      message(FATAL_ERROR "Could not find core PhysX lib")
-      return()
-   endif()
-
-   #Add the libs
-   set(PHYSX_LIBRARIES
-      ${PHYSX3_CORE_LIBRARY}
-      ${PHYSX3_COMMON_LIBRARY}
-      ${PHYSX3_EXTENSIONS_LIBRARY}
-      ${PHYSX3_COOKING_LIBRARY}
-      ${PHYSX3_CHARACTER_LIBRARY}
-      ${PHYSX3_TASK_LIBRARY}
-      ${PHYSX3_PVD_LIBRARY}
-      ${PHYSX3_FOUNDATION_LIBRARY}
-   )
-
-   set(PHYSX_LIBRARIES_DEBUG
-      ${PHYSX3_CORE_LIBRARY_DEBUG}
-      ${PHYSX3_COMMON_LIBRARY_DEBUG}
-      ${PHYSX3_EXTENSIONS_LIBRARY_DEBUG}
-      ${PHYSX3_COOKING_LIBRARY_DEBUG}
-      ${PHYSX3_CHARACTER_LIBRARY_DEBUG}
-      ${PHYSX3_TASK_LIBRARY_DEBUG}
-      ${PHYSX3_PVD_LIBRARY_DEBUG}
-      ${PHYSX3_FOUNDATION_LIBRARY_DEBUG}
-   )
-#macOS & linux
-elseif(UNIX)
-   #common
-   FIND_PHYSX3_LIBRARY(EXTENSIONS PhysX3Extensions 0 ${PHYSX3_PATH}/Lib/)
-   FIND_PHYSX3_LIBRARY(CONTROLLER SimulationController 0 ${PHYSX3_PATH}/Lib/)
-   FIND_PHYSX3_LIBRARY(SCENEQUERY SceneQuery 0 ${PHYSX3_PATH}/Lib/)
-   FIND_PHYSX3_LIBRARY(LOWLEVEL LowLevel 0 ${PHYSX3_PATH}/Lib/)
-   FIND_PHYSX3_LIBRARY(LOWLEVEL_DYNAMICS LowLevelDynamics 0 ${PHYSX3_PATH}/Lib/)
-   FIND_PHYSX3_LIBRARY(LOWLEVEL_AABB LowLevelAABB 0 ${PHYSX3_PATH}/Lib/)
-   FIND_PHYSX3_LIBRARY(LOWLEVEL_CLOTH LowLevelCloth 0 ${PHYSX3_PATH}/Lib/)
-   FIND_PHYSX3_LIBRARY(LOWLEVEL_PARTICLES LowLevelParticles 0 ${PHYSX3_PATH}/Lib/)
-   FIND_PHYSX3_LIBRARY(TASK PxTask 0 ${PHYSX3_BASE_PATH}/PxShared/lib/)
-   #platform dependent
-   if(APPLE)
-      FIND_PHYSX3_LIBRARY(CORE PhysX3 0 ${PHYSX3_PATH}/Lib/)
-      FIND_PHYSX3_LIBRARY(COMMON PhysX3Common 0 ${PHYSX3_PATH}/Lib/)
-	  FIND_PHYSX3_LIBRARY(COOKING PhysX3Cooking 0 ${PHYSX3_PATH}/Lib/)
-	  FIND_PHYSX3_LIBRARY(CHARACTER PhysX3CharacterKinematic 0 ${PHYSX3_PATH}/Lib/)
-      FIND_PHYSX3_LIBRARY(FOUNDATION PxFoundation 0 ${PHYSX3_BASE_PATH}/PxShared/lib/)
-      FIND_PHYSX3_LIBRARY(PVD PxPvdSDK 0 ${PHYSX3_BASE_PATH}/PxShared/lib/)
-  else() #linux
-      FIND_PHYSX3_LIBRARY(CORE PhysX3 1 ${PHYSX3_PATH}/Bin/)
-      FIND_PHYSX3_LIBRARY(COMMON PhysX3Common 1 ${PHYSX3_PATH}/Bin/)
-      FIND_PHYSX3_LIBRARY(GPU PhysX3Gpu 1 ${PHYSX3_PATH}/Bin/)
-      FIND_PHYSX3_LIBRARY(CHARACTER PhysX3CharacterKinematic 1 ${PHYSX3_PATH}/Bin/)
-      FIND_PHYSX3_LIBRARY(COOKING PhysX3Cooking 1 ${PHYSX3_PATH}/Bin/)
-      FIND_PHYSX3_LIBRARY(FOUNDATION PxFoundation 1 ${PHYSX3_BASE_PATH}/PxShared/bin/)
-      FIND_PHYSX3_LIBRARY(PVD PxPvdSDK 1 ${PHYSX3_BASE_PATH}/PxShared/bin/)
-	  FIND_PHYSX3_LIBRARY(XML PsFastXml 0 ${PHYSX3_BASE_PATH}/PxShared/lib/)
-   endif()
-
-   if(NOT PHYSX3_CORE_LIBRARY)
-      message(FATAL_ERROR "Could not find core PhysX lib")
-      return()
-   endif()
-
-   #Add the libs
-   set(PHYSX_LIBRARIES
-      ${PHYSX3_CORE_LIBRARY}
-      ${PHYSX3_CHARACTER_LIBRARY}
-      ${PHYSX3_COOKING_LIBRARY}
-      ${PHYSX3_COMMON_LIBRARY}
-      ${PHYSX3_GPU_LIBRARY}
-      ${PHYSX3_EXTENSIONS_LIBRARY}
-      ${PHYSX3_CONTROLLER_LIBRARY}
-      ${PHYSX3_SCENEQUERY_LIBRARY}
-      ${PHYSX3_LOWLEVEL_LIBRARY}
-      ${PHYSX3_LOWLEVEL_AABB_LIBRARY}
-      ${PHYSX3_LOWLEVEL_DYNAMICS_LIBRARY}
-      ${PHYSX3_LOWLEVEL_CLOTH_LIBRARY}
-      ${PHYSX3_LOWLEVEL_PARTICLES_LIBRARY}
-      ${PHYSX3_TASK_LIBRARY}
-      ${PHYSX3_XML_LIBRARY}
-      ${PHYSX3_FOUNDATION_LIBRARY}
-      ${PHYSX3_PVD_LIBRARY}
-   )
-
-   set(PHYSX_LIBRARIES_DEBUG
-      ${PHYSX3_CORE_LIBRARY_DEBUG}
-      ${PHYSX3_CHARACTER_LIBRARY_DEBUG}
-      ${PHYSX3_COOKING_LIBRARY_DEBUG}
-      ${PHYSX3_COMMON_LIBRARY_DEBUG}
-      ${PHYSX3_GPU_LIBRARY_DEBUG}
-      ${PHYSX3_EXTENSIONS_LIBRARY_DEBUG}
-      ${PHYSX3_CONTROLLER_LIBRARY_DEBUG}
-      ${PHYSX3_SCENEQUERY_LIBRARY_DEBUG}
-      ${PHYSX3_LOWLEVEL_LIBRARY_DEBUG}
-      ${PHYSX3_LOWLEVEL_AABB_LIBRARY_DEBUG}
-      ${PHYSX3_LOWLEVEL_DYNAMICS_LIBRARY_DEBUG}
-      ${PHYSX3_LOWLEVEL_CLOTH_LIBRARY_DEBUG}
-      ${PHYSX3_LOWLEVEL_PARTICLES_LIBRARY_DEBUG}
-      ${PHYSX3_TASK_LIBRARY_DEBUG}
-      ${PHYSX3_XML_LIBRARY_DEBUG}
-      ${PHYSX3_FOUNDATION_LIBRARY_DEBUG}
-      ${PHYSX3_PVD_LIBRARY_DEBUG}
-   )
-
-endif()
-
-# Defines
-addDef( "TORQUE_PHYSICS_PHYSX3" )
-addDef( "TORQUE_PHYSICS_ENABLED" )
-
-# Source
-addPath( "${srcDir}/T3D/physics/physx3" )
-
-# Includes
-addInclude( "${PHYSX3_BASE_PATH}/PxShared/include" )
-addInclude( "${PHYSX3_BASE_PATH}/PxShared/src/foundation/include" )
-addInclude( "${PHYSX3_BASE_PATH}/PxShared/src/pvd/include" )
-addInclude( "${PHYSX3_PATH}/Include" )
-
-# Libs
-addLibRelease( "${PHYSX_LIBRARIES}" )
-addLibDebug( "${PHYSX_LIBRARIES_DEBUG}" )
-
-#Install files
-if( WIN32 )
-   # File Copy for Release
-   INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/PhysX3${PHYSX3_LIBNAME_POSTFIX}.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS Release)
-   INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/PhysX3Gpu${PHYSX3_LIBNAME_POSTFIX}.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS Release)
-   INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/PhysX3CharacterKinematic${PHYSX3_LIBNAME_POSTFIX}.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS Release)
-   INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/PhysX3Common${PHYSX3_LIBNAME_POSTFIX}.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS Release)
-   INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/PhysX3Cooking${PHYSX3_LIBNAME_POSTFIX}.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS Release)
-   INSTALL(FILES "${PHYSX3_BASE_PATH}/PxShared/bin/${PHYSX3_LIBPATH_PREFIX}/PxFoundation${PHYSX3_LIBNAME_POSTFIX}.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS Release)
-   INSTALL(FILES "${PHYSX3_BASE_PATH}/PxShared/bin/${PHYSX3_LIBPATH_PREFIX}/PxPvdSDK${PHYSX3_LIBNAME_POSTFIX}.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS Release)
-
-   # File Copy
-   if(TORQUE_CPU_X32)
-      INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/PhysXDevice.dll"             DESTINATION "${projectOutDir}")
-      INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/nvToolsExt32_1.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS Debug)
-   elseif(TORQUE_CPU_X64)
-      INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/PhysXDevice64.dll"             DESTINATION "${projectOutDir}")
-      INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/nvToolsExt64_1.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS Debug)
-   endif()
-   
-   #File copy for Debug
-   INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/PhysX3DEBUG${PHYSX3_LIBNAME_POSTFIX}.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS Debug)
-   INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/PhysX3GpuDEBUG${PHYSX3_LIBNAME_POSTFIX}.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS Debug)
-   INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/PhysX3CharacterKinematicDEBUG${PHYSX3_LIBNAME_POSTFIX}.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS Debug)
-   INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/PhysX3CommonDEBUG${PHYSX3_LIBNAME_POSTFIX}.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS Debug)
-   INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/PhysX3CookingDEBUG${PHYSX3_LIBNAME_POSTFIX}.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS Debug)
-   INSTALL(FILES "${PHYSX3_BASE_PATH}/PxShared/bin/${PHYSX3_LIBPATH_PREFIX}/PxFoundationDEBUG${PHYSX3_LIBNAME_POSTFIX}.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS Debug)
-   INSTALL(FILES "${PHYSX3_BASE_PATH}/PxShared/bin/${PHYSX3_LIBPATH_PREFIX}/PxPvdSDKDEBUG${PHYSX3_LIBNAME_POSTFIX}.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS Debug)
-
-endif()
-
-#linux - apple xcode physx build generates static libs
-if(UNIX AND NOT APPLE)
-   # File Copy for Release
-   INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/libPhysX3${PHYSX3_LIBNAME_POSTFIX}.so"             DESTINATION "${projectOutDir}" CONFIGURATIONS Release)
-   INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/libPhysX3CharacterKinematic${PHYSX3_LIBNAME_POSTFIX}.so"             DESTINATION "${projectOutDir}" CONFIGURATIONS Release)
-   INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/libPhysX3Common${PHYSX3_LIBNAME_POSTFIX}.so"             DESTINATION "${projectOutDir}" CONFIGURATIONS Release)
-   INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/libPhysX3Cooking${PHYSX3_LIBNAME_POSTFIX}.so"             DESTINATION "${projectOutDir}" CONFIGURATIONS Release)
-   INSTALL(FILES "${PHYSX3_BASE_PATH}/PxShared/bin/${PHYSX3_LIBPATH_PREFIX}/libPxFoundation${PHYSX3_LIBNAME_POSTFIX}.so"             DESTINATION "${projectOutDir}" CONFIGURATIONS Release)
-   INSTALL(FILES "${PHYSX3_BASE_PATH}/PxShared/bin/${PHYSX3_LIBPATH_PREFIX}/libPxPvdSDK${PHYSX3_LIBNAME_POSTFIX}.so"             DESTINATION "${projectOutDir}" CONFIGURATIONS Release)
-   INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/libPhysX3Gpu${PHYSX3_LIBNAME_POSTFIX}.so"             DESTINATION "${projectOutDir}" CONFIGURATIONS Release)
-
-   # File Copy for Debug
-   INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/libPhysX3DEBUG${PHYSX3_LIBNAME_POSTFIX}.so"             DESTINATION "${projectOutDir}" CONFIGURATIONS Debug)
-   INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/libPhysX3CharacterKinematicDEBUG${PHYSX3_LIBNAME_POSTFIX}.so"             DESTINATION "${projectOutDir}" CONFIGURATIONS Debug)
-   INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/libPhysX3CommonDEBUG${PHYSX3_LIBNAME_POSTFIX}.so"             DESTINATION "${projectOutDir}" CONFIGURATIONS Debug)
-   INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/libPhysX3CookingDEBUG${PHYSX3_LIBNAME_POSTFIX}.so"             DESTINATION "${projectOutDir}" CONFIGURATIONS Debug)
-   INSTALL(FILES "${PHYSX3_BASE_PATH}/PxShared/bin/${PHYSX3_LIBPATH_PREFIX}/libPxFoundationDEBUG${PHYSX3_LIBNAME_POSTFIX}.so"             DESTINATION "${projectOutDir}" CONFIGURATIONS Debug)
-   INSTALL(FILES "${PHYSX3_BASE_PATH}/PxShared/bin/${PHYSX3_LIBPATH_PREFIX}/libPxPvdSDKDEBUG${PHYSX3_LIBNAME_POSTFIX}.so"             DESTINATION "${projectOutDir}" CONFIGURATIONS Debug)
-   INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/libPhysX3GpuDEBUG${PHYSX3_LIBNAME_POSTFIX}.so"             DESTINATION "${projectOutDir}" CONFIGURATIONS Debug)
-
-endif()

+ 0 - 28
Tools/CMake/modules/module_sqlite.cmake

@@ -1,28 +0,0 @@
-# -----------------------------------------------------------------------------
-# Copyright (c) 2014 GarageGames, LLC
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-# IN THE SOFTWARE.
-# -----------------------------------------------------------------------------
-
-option(TORQUE_SQLITE "Enable sqlite module" OFF)
-if(TORQUE_SQLITE)
-   addPath( "${srcDir}/sqlite" )
-   addLib( "sqlite" )
-   addInclude( "${libDir}/sqlite" )
-endif()

+ 0 - 38
Tools/CMake/modules/module_testing.cmake

@@ -1,38 +0,0 @@
-# -----------------------------------------------------------------------------
-# Copyright (c) 2014 GarageGames, LLC
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-# IN THE SOFTWARE.
-# -----------------------------------------------------------------------------
-
-option(TORQUE_TESTING "Enable unit test module" OFF)
-mark_as_advanced(TORQUE_TESTING)
-
-if(TORQUE_TESTING)
-
-    # Project defines
-    addDef( "TORQUE_TESTS_ENABLED" )
-    addDef( "_VARIADIC_MAX" 10 )
-
-    # Add source files
-    addPathRec( "${srcDir}/testing" )
-
-    # Add include paths
-    addInclude( "${libDir}/gtest/fused-src/" )
-
-endif()

+ 0 - 31
Tools/CMake/modules/module_verve.cmake

@@ -1,31 +0,0 @@
-# -----------------------------------------------------------------------------
-# Copyright (c) 2014 GarageGames, LLC
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-# IN THE SOFTWARE.
-# -----------------------------------------------------------------------------
-
-option(TORQUE_VERVE_ENABLED "Enable Verve module" ON)
-option(TORQUE_VERVE_TOOLS_ENABLED "Enable Verve's Tools" ON)
-if(TORQUE_VERVE_ENABLED)
-	addPathRec( "${srcDir}/Verve" )
-endif()
-
-if(TORQUE_VERVE_ENABLED)
-	addDef(VT_EDITOR)
-endif()