Browse Source

Merge remote-tracking branch 'gg/development' into gtest-tests

Daniel Buckmaster 11 năm trước cách đây
mục cha
commit
5a430af051
47 tập tin đã thay đổi với 674 bổ sung66 xóa
  1. 7 0
      Engine/source/console/consoleFunctions.cpp
  2. 3 1
      Engine/source/core/threadStatic.h
  3. 5 0
      Engine/source/environment/waterObject.cpp
  4. 37 1
      Engine/source/gui/core/guiCanvas.cpp
  5. 2 0
      Engine/source/gui/core/guiCanvas.h
  6. 1 1
      Engine/source/main/main.cpp
  7. 3 0
      Engine/source/platform/platform.h
  8. 0 3
      Engine/source/platform/platformInput.h
  9. 5 0
      Engine/source/platformMac/macCocoaPlatform.mm
  10. 0 18
      Engine/source/platformWin32/winInput.cpp
  11. 1 0
      Engine/source/platformX86UNIX/x86UNIXStub.dedicated.cpp
  12. 2 6
      Engine/source/sim/actionMap.cpp
  13. 7 0
      Engine/source/windowManager/platformWindow.h
  14. 3 0
      Engine/source/windowManager/platformWindowMgr.h
  15. 7 0
      Engine/source/windowManager/win32/win32SplashScreen.cpp
  16. 6 2
      Engine/source/windowManager/win32/win32Window.cpp
  17. 8 4
      Engine/source/windowManager/win32/win32WindowMgr.cpp
  18. 6 0
      Engine/source/windowManager/win32/win32WindowMgr.h
  19. 13 1
      Templates/Empty/game/main.cs
  20. 13 1
      Templates/Empty/game/main.cs.in
  21. 0 7
      Templates/Empty/source/torqueConfig.h
  22. 13 1
      Templates/Full/game/main.cs
  23. 13 1
      Templates/Full/game/main.cs.in
  24. 0 7
      Templates/Full/source/torqueConfig.h
  25. 22 0
      Tools/CMake/CMakeLists.txt
  26. 30 7
      Tools/CMake/basics.cmake
  27. 22 0
      Tools/CMake/libraries/collada.cmake
  28. 22 0
      Tools/CMake/libraries/convexDecomp.cmake
  29. 22 0
      Tools/CMake/libraries/libogg.cmake
  30. 22 0
      Tools/CMake/libraries/libtheora.cmake
  31. 22 0
      Tools/CMake/libraries/libvorbis.cmake
  32. 22 0
      Tools/CMake/libraries/ljpeg.cmake
  33. 22 0
      Tools/CMake/libraries/lmng.cmake
  34. 22 0
      Tools/CMake/libraries/lpng.cmake
  35. 22 0
      Tools/CMake/libraries/lungif.cmake
  36. 22 0
      Tools/CMake/libraries/opcode.cmake
  37. 22 0
      Tools/CMake/libraries/pcre.cmake
  38. 22 0
      Tools/CMake/libraries/recast.cmake
  39. 22 0
      Tools/CMake/libraries/squish.cmake
  40. 22 0
      Tools/CMake/libraries/tinyxml.cmake
  41. 22 0
      Tools/CMake/libraries/zlib.cmake
  42. 22 0
      Tools/CMake/modules/module_hydra.cmake
  43. 22 0
      Tools/CMake/modules/module_navigation.cmake
  44. 22 0
      Tools/CMake/modules/module_oculusVR.cmake
  45. 22 0
      Tools/CMake/modules/module_testing.cmake
  46. 22 0
      Tools/CMake/template.cmake
  47. 27 5
      Tools/CMake/torque3d.cmake

+ 7 - 0
Engine/source/console/consoleFunctions.cpp

@@ -1589,6 +1589,13 @@ DefineEngineFunction( displaySplashWindow, bool, (const char* path), ("art/gui/s
    return Platform::displaySplashWindow(path);
 }
 
+DefineEngineFunction( closeSplashWindow, void, (),,
+   "Close our startup splash window.\n\n"
+   "@note This is currently only implemented on Windows.\n\n"
+   "@ingroup Platform" )
+{
+   Platform::closeSplashWindow();
+}
 //-----------------------------------------------------------------------------
 
 DefineEngineFunction( getWebDeployment, bool, (),,

+ 3 - 1
Engine/source/core/threadStatic.h

@@ -52,6 +52,7 @@ public:
    static const U32 getListIndex(){ return mListIndex; }
 
    virtual void *getMemInstPtr() = 0;
+   virtual const void *getConstMemInstPtr() const = 0;
    virtual const dsize_t getMemInstSize() const = 0;
 
 #ifdef TORQUE_ENABLE_THREAD_STATIC_METRICS
@@ -143,6 +144,7 @@ private:
 public:
    TorqueThreadStatic( T instanceVal ) : mInstance( instanceVal ) {}
    virtual void *getMemInstPtr() { return &mInstance; }
+   virtual const void *getConstMemInstPtr() const { return &mInstance; }
 
    // I am not sure these are needed, and I don't want to create confusing-to-debug code
 #if 0
@@ -181,7 +183,7 @@ public: \
    _##name##TorqueThreadStatic() : TorqueThreadStatic<type>( initalvalue ) {} \
    virtual const dsize_t getMemInstSize() const { return sizeof( type ); } \
    type &_cast() { return *reinterpret_cast<type *>( getMemInstPtr() ); } \
-   const type &_const_cast() const { return *reinterpret_cast<const type *>( getMemInstPtr() ); } \
+   const type &_const_cast() const { return *reinterpret_cast<const type *>( getConstMemInstPtr() ); } \
 }; \
 static _##name##TorqueThreadStatic name##TorqueThreadStatic; \
 static _TorqueThreadStaticReg _##name##TTSReg( reinterpret_cast<_TorqueThreadStatic *>( & name##TorqueThreadStatic ) )

+ 5 - 0
Engine/source/environment/waterObject.cpp

@@ -732,6 +732,11 @@ void WaterObject::renderObject( ObjectRenderInst *ri, SceneRenderState *state, B
 
    bool doQuery = ( !mPlaneReflector.mQueryPending && query && mReflectorDesc.useOcclusionQuery );
 
+   // We need to call this for avoid a DX9 or Nvidia bug.
+   // At some resollutions read from render target,
+   // break current occlusion query.
+   REFLECTMGR->getRefractTex();
+
    if ( doQuery )
       query->begin();
 

+ 37 - 1
Engine/source/gui/core/guiCanvas.cpp

@@ -121,7 +121,8 @@ GuiCanvas::GuiCanvas(): GuiControl(),
                         mMiddleMouseLast(false),
                         mRightMouseLast(false),
                         mPlatformWindow(NULL),
-                        mLastRenderMs(0)
+                        mLastRenderMs(0),
+                        mDisplayWindow(true)
 {
    setBounds(0, 0, 640, 480);
    mAwake = true;
@@ -176,6 +177,8 @@ void GuiCanvas::initPersistFields()
 
    addGroup("Canvas Rendering");
    addProtectedField( "numFences", TypeS32, Offset( mNumFences, GuiCanvas ), &setProtectedNumFences, &defaultProtectedGetFn, "The number of GFX fences to use." );
+
+   addField("displayWindow", TypeBool, Offset(mDisplayWindow, GuiCanvas), "Controls if the canvas window is rendered or not." );
    endGroup("Canvas Rendering");
 
    Parent::initPersistFields();
@@ -252,6 +255,19 @@ bool GuiCanvas::onAdd()
    // Make sure we're able to render.
    newDevice->setAllowRender( true );
 
+   if(mDisplayWindow)
+   {
+      getPlatformWindow()->show();
+      WindowManager->setDisplayWindow(true);
+      getPlatformWindow()->setDisplayWindow(true);
+   }
+   else
+   {
+      getPlatformWindow()->hide();
+      WindowManager->setDisplayWindow(false);
+      getPlatformWindow()->setDisplayWindow(false);
+   }
+
    // Propagate add to parents.
    // CodeReview - if GuiCanvas fails to add for whatever reason, what happens to
    // all the event registration above?
@@ -2683,3 +2699,23 @@ ConsoleMethod( GuiCanvas, setVideoMode, void, 5, 8,
    // Store the new mode into a pref.
    Con::setVariable( "$pref::Video::mode", vm.toString() );
 }
+
+ConsoleMethod( GuiCanvas, showWindow, void, 2, 2, "" )
+{
+   if (!object->getPlatformWindow())
+      return;
+
+   object->getPlatformWindow()->show();
+   WindowManager->setDisplayWindow(true);
+   object->getPlatformWindow()->setDisplayWindow(true);
+}
+
+ConsoleMethod( GuiCanvas, hideWindow, void, 2, 2, "" )
+{
+   if (!object->getPlatformWindow())
+      return;
+
+   object->getPlatformWindow()->hide();
+   WindowManager->setDisplayWindow(false);
+   object->getPlatformWindow()->setDisplayWindow(false);
+}

+ 2 - 0
Engine/source/gui/core/guiCanvas.h

@@ -108,6 +108,8 @@ protected:
    bool        mClampTorqueCursor;
    bool        mAlwaysHandleMouseButtons;
 
+   bool        mDisplayWindow;
+
    /// @}
 
    /// @name Mouse Input

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

@@ -55,7 +55,7 @@ int PASCAL WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdL
    HMODULE hGame = NULL;
    std::wstring dllName = std::wstring();
    // The file name is the same as this executable's name, plus a suffix.
-   const std::wstring dllSuffices[] = {L"", L" DLL"};
+   const std::wstring dllSuffices[] = {L" DLL", L""};
    const unsigned int numSuffices = sizeof(dllSuffices) / sizeof(std::wstring);
 
    for (unsigned int i = 0; i < numSuffices; i++)

+ 3 - 0
Engine/source/platform/platform.h

@@ -338,6 +338,9 @@ namespace Platform
    // display Splash Window
    bool displaySplashWindow( String path );
 
+   // close Splash Window
+   bool closeSplashWindow();
+
    void openFolder( const char* path );
 
    // Open file at the OS level, according to registered file-types.

+ 0 - 3
Engine/source/platform/platformInput.h

@@ -118,9 +118,6 @@ public:
 
    static U8 getModifierKeys() {return smModifierKeys;}
    static void setModifierKeys(U8 mod) {smModifierKeys = mod;}
-
-   static void attemptSwitchToKeyboardLayout( U32 layout );
-
 #ifdef LOG_INPUT
    static void log( const char* format, ... );
 #endif

+ 5 - 0
Engine/source/platformMac/macCocoaPlatform.mm

@@ -70,6 +70,11 @@ bool Platform::displaySplashWindow()
     return false;
 }
 
+bool Platform::closeSplashWindow()
+{
+    return false;
+}
+
 #pragma mark ---- File IO ----
 //-----------------------------------------------------------------------------
 bool dPathCopy(const char* source, const char* dest, bool nooverwrite)

+ 0 - 18
Engine/source/platformWin32/winInput.cpp

@@ -33,8 +33,6 @@
 #include <stdarg.h>
 #endif
 
-#include <sstream>
-
 // Static class variables:
 InputManager*  Input::smManager;
 bool           Input::smActive;
@@ -81,10 +79,6 @@ void Input::init()
 
    destroy();
 
-#ifdef TORQUE_DEFAULT_KEYBOARD_LAYOUT
-   attemptSwitchToKeyboardLayout( TORQUE_DEFAULT_KEYBOARD_LAYOUT );
-#endif
-
 #ifdef LOG_INPUT
    struct tm* newTime;
    time_t aclock;
@@ -493,18 +487,6 @@ InputManager* Input::getManager()
    return( smManager );
 }
 
-//------------------------------------------------------------------------------
-void Input::attemptSwitchToKeyboardLayout( U32 layout )
-{
-   const LANGID lang = MAKELANGID( layout, SUBLANG_DEFAULT );
-   std::wstringstream ss;
-   ss << std::hex << lang;
-   const wchar_t* hexLang = ss.str().c_str();
-   ActivateKeyboardLayout( LoadKeyboardLayout(
-       hexLang,  KLF_ACTIVATE | KLF_REPLACELANG
-   ), KLF_REORDER );
-}
-
 #ifdef LOG_INPUT
 //------------------------------------------------------------------------------
 void Input::log( const char* format, ... )

+ 1 - 0
Engine/source/platformX86UNIX/x86UNIXStub.dedicated.cpp

@@ -93,6 +93,7 @@ void Platform::openFile(const char *path) { }
 
 // window
 bool Platform::displaySplashWindow(String path) { return false; }
+bool Platform::closeSplashWindow() { return false; }
 
 // font
 PlatformFont *createPlatformFont(const char *name, U32 size, U32 charset) { return NULL; }

+ 2 - 6
Engine/source/sim/actionMap.cpp

@@ -458,12 +458,8 @@ bool ActionMap::createEventDescriptor(const char* pEventString, EventDescriptor*
    }
 
    // Now we need to map the key string to the proper KEY code from event.h
-   AssertFatal(
-       dStrlen( pObjectString ) > 0,
-       "Error, no key was specified!\n"
-       "Review file 'scripts/client/config.cs' and remove symbols"
-       " which is not latin. Or delete this file."
-   );
+   //
+   AssertFatal(dStrlen(pObjectString) != 0, "Error, no key was specified!");
 
    if (dStrlen(pObjectString) == 1)
    {

+ 7 - 0
Engine/source/windowManager/platformWindow.h

@@ -89,6 +89,10 @@ protected:
    /// Offscreen Render
    bool mOffscreenRender;
 
+   /// This is set as part of the canvas being shown, and flags that the windows should render as normal from now on.
+   // Basically a flag that lets the window manager know that we've handled the splash screen, and to operate as normal.
+   bool mDisplayWindow;
+
    /// Protected constructor so that the win
    PlatformWindow()
    {
@@ -104,6 +108,7 @@ protected:
       mSuppressReset = false;
 
       mOffscreenRender = false;
+      mDisplayWindow = false;
    }
 
 public:
@@ -180,6 +185,8 @@ public:
    /// This is called to poll the window as to it's idle state.  
    virtual bool getOffscreenRender() { return mOffscreenRender; };
 
+   /// Set whether this window is should display as normal
+   virtual void setDisplayWindow(bool val ) { mDisplayWindow = val; };
 
    /// Set Focused State (Foreground)
    ///

+ 3 - 0
Engine/source/windowManager/platformWindowMgr.h

@@ -133,6 +133,9 @@ public:
    /// This method removes the curtain window.
    virtual void raiseCurtain()=0;
 
+   /// This method indicates to created windows to show as normal.
+   virtual void setDisplayWindow(bool set){}
+
 private:
    /// Process command line arguments from StandardMainLoop. This is done to
    /// allow web plugin functionality, where we are passed platform-specific

+ 7 - 0
Engine/source/windowManager/win32/win32SplashScreen.cpp

@@ -121,6 +121,13 @@ void CloseSplashWindow(HINSTANCE hinst)
 	
 }
 
+bool Platform::closeSplashWindow()
+{
+   CloseSplashWindow(GetModuleHandle(NULL));
+
+   return true;
+}
+
 bool Platform::displaySplashWindow( String path )
 {
    if(path.isEmpty())

+ 6 - 2
Engine/source/windowManager/win32/win32Window.cpp

@@ -153,7 +153,9 @@ void Win32Window::setVideoMode( const GFXVideoMode &mode )
 	{
 		SetWindowLong( getHWND(), GWL_STYLE, WS_POPUP);
 		SetWindowPos( getHWND(), HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED);
-		ShowWindow(getHWND(), SW_SHOWNORMAL);
+		
+      if(mDisplayWindow)
+         ShowWindow(getHWND(), SW_SHOWNORMAL);
 
       // Clear the menu bar from the window for full screen
       HMENU menu = GetMenu(getHWND());
@@ -216,7 +218,9 @@ void Win32Window::setVideoMode( const GFXVideoMode &mode )
 		   // We have to force Win32 to update the window frame and make the window
 		   // visible and no longer topmost - this code might be possible to simplify.
 		   SetWindowPos( getHWND(), HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED);
-		   ShowWindow( getHWND(), SW_SHOWNORMAL);
+
+         if(mDisplayWindow)
+            ShowWindow( getHWND(), SW_SHOWNORMAL);
       }
 
       mFullscreen = false;

+ 8 - 4
Engine/source/windowManager/win32/win32WindowMgr.cpp

@@ -54,6 +54,8 @@ Win32WindowManager::Win32WindowManager()
 
    mOffscreenRender = false;
 
+   mDisplayWindow = false;
+
    buildMonitorsList();
 }
 
@@ -263,11 +265,13 @@ PlatformWindow *Win32WindowManager::createWindow(GFXDevice *device, const GFXVid
 
    // If we're not rendering offscreen, make sure our window is shown and drawn to.
 
-   if (!mOffscreenRender)
-      ShowWindow( w32w->mWindowHandle, SW_SHOWDEFAULT );
+   w32w->setDisplayWindow(mDisplayWindow);
 
-   // Close any splash screen we created
-   CloseSplashWindow(winState.appInstance);
+   if (!mOffscreenRender && mDisplayWindow)
+   {
+      ShowWindow( w32w->mWindowHandle, SW_SHOWDEFAULT );
+      CloseSplashWindow(winState.appInstance);
+   }
 
    // Bind the window to the specified device.
    if(device)

+ 6 - 0
Engine/source/windowManager/win32/win32WindowMgr.h

@@ -56,6 +56,10 @@ class Win32WindowManager : public PlatformWindowManager
    // is intended for offscreen rendering
    bool mOffscreenRender;
 
+   /// This is set as part of the canvas being shown, and flags that the windows should render as normal from now on.
+   // Basically a flag that lets the window manager know that we've handled the splash screen, and to operate as normal.
+   bool mDisplayWindow;
+
    /// Internal structure used when enumerating monitors
    struct MonitorInfo {
       HMONITOR monitorHandle;
@@ -117,6 +121,8 @@ public:
 
    virtual void lowerCurtain();
    virtual void raiseCurtain();
+
+   virtual void setDisplayWindow(bool set) { mDisplayWindow = set; }
 };
 
 #endif

+ 13 - 1
Templates/Empty/game/main.cs

@@ -38,7 +38,10 @@ function createCanvas(%windowTitle)
    }
 
    // Create the Canvas
-   %foo = new GuiCanvas(Canvas);
+   %foo = new GuiCanvas(Canvas)
+   {
+      displayWindow = false;
+   };
    
    // Set the window title
    if (isObject(Canvas))
@@ -246,6 +249,15 @@ if ($displayHelp) {
 else {
    onStart();
    echo("Engine initialized...");
+
+   if( !$isDedicated )
+   {
+      // As we know at this point that the initial load is complete,
+      // we can hide any splash screen we have, and show the canvas.
+      // This keeps things looking nice, instead of having a blank window
+      closeSplashWindow();
+      Canvas.showWindow();
+   }
    
    // Auto-load on the 360
    if( $platform $= "xenon" )

+ 13 - 1
Templates/Empty/game/main.cs.in

@@ -38,7 +38,10 @@ function createCanvas(%windowTitle)
    }
 
    // Create the Canvas
-   %foo = new GuiCanvas(Canvas);
+   %foo = new GuiCanvas(Canvas)
+   {
+      displayWindow = false;
+   };
    
    // Set the window title
    if (isObject(Canvas))
@@ -246,6 +249,15 @@ if ($displayHelp) {
 else {
    onStart();
    echo("Engine initialized...");
+
+   if( !$isDedicated )
+   {
+      // As we know at this point that the initial load is complete,
+      // we can hide any splash screen we have, and show the canvas.
+      // This keeps things looking nice, instead of having a blank window
+      closeSplashWindow();
+      Canvas.showWindow();
+   }
    
    // Auto-load on the 360
    if( $platform $= "xenon" )

+ 0 - 7
Templates/Empty/source/torqueConfig.h

@@ -148,13 +148,6 @@
 /// texture manager.
 #define TORQUE_FRAME_SIZE     16 << 20
 
-// Default keyboard layout for launching the game. It's fixed crash when a
-// game running with the extend unicode keyboard (cyrillic, for example).
-// Windows only.
-// @see For choice language >
-//      http://msdn.microsoft.com/en-us/library/windows/desktop/dd318693%28v=vs.85%29.aspx
-#define TORQUE_DEFAULT_KEYBOARD_LAYOUT  LANG_ENGLISH
-
 // Finally, we define some dependent #defines. This enables some subsidiary
 // functionality to get automatically turned on in certain configurations.
 

+ 13 - 1
Templates/Full/game/main.cs

@@ -38,7 +38,10 @@ function createCanvas(%windowTitle)
    }
 
    // Create the Canvas
-   %foo = new GuiCanvas(Canvas);
+   %foo = new GuiCanvas(Canvas)
+   {
+      displayWindow = false;
+   };
    
    // Set the window title
    if (isObject(Canvas))
@@ -246,6 +249,15 @@ if ($displayHelp) {
 else {
    onStart();
    echo("Engine initialized...");
+
+   if( !$isDedicated )
+   {
+      // As we know at this point that the initial load is complete,
+      // we can hide any splash screen we have, and show the canvas.
+      // This keeps things looking nice, instead of having a blank window
+      closeSplashWindow();
+      Canvas.showWindow();
+   }
    
    // Auto-load on the 360
    if( $platform $= "xenon" )

+ 13 - 1
Templates/Full/game/main.cs.in

@@ -38,7 +38,10 @@ function createCanvas(%windowTitle)
    }
 
    // Create the Canvas
-   %foo = new GuiCanvas(Canvas);
+   %foo = new GuiCanvas(Canvas)
+   {
+      displayWindow = false;
+   };
    
    // Set the window title
    if (isObject(Canvas))
@@ -246,6 +249,15 @@ if ($displayHelp) {
 else {
    onStart();
    echo("Engine initialized...");
+
+   if( !$isDedicated )
+   {
+      // As we know at this point that the initial load is complete,
+      // we can hide any splash screen we have, and show the canvas.
+      // This keeps things looking nice, instead of having a blank window
+      closeSplashWindow();
+      Canvas.showWindow();
+   }
    
    // Auto-load on the 360
    if( $platform $= "xenon" )

+ 0 - 7
Templates/Full/source/torqueConfig.h

@@ -169,13 +169,6 @@
 /// texture manager.
 #define TORQUE_FRAME_SIZE     16 << 20
 
-// Default keyboard layout for launching the game. It's fixed crash when a
-// game running with the extend unicode keyboard (cyrillic, for example).
-// Windows only.
-// @see For choice language >
-//      http://msdn.microsoft.com/en-us/library/windows/desktop/dd318693%28v=vs.85%29.aspx
-#define TORQUE_DEFAULT_KEYBOARD_LAYOUT  LANG_ENGLISH
-
 // Finally, we define some dependent #defines. This enables some subsidiary
 // functionality to get automatically turned on in certain configurations.
 

+ 22 - 0
Tools/CMake/CMakeLists.txt

@@ -1,3 +1,25 @@
+# -----------------------------------------------------------------------------
+# 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.
+# -----------------------------------------------------------------------------
+
 include(basics.cmake)
 
 setupVersionNumbers()

+ 30 - 7
Tools/CMake/basics.cmake

@@ -1,15 +1,38 @@
-project("Torque3DEngine")
+# -----------------------------------------------------------------------------
+# 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.
+# -----------------------------------------------------------------------------
 
-set(TORQUE_TEMPLATE "Full" CACHE STRING "the template to use")
+project("Torque3DEngine")
 
-if(NOT projectDir)
-    set(projectDir    "${CMAKE_SOURCE_DIR}/My Projects/${TORQUE_APP_NAME}")
+if(NOT TORQUE_TEMPLATE)
+    set(TORQUE_TEMPLATE "Full" CACHE STRING "the template to use")
+endif()
+if(NOT TORQUE_APP_DIR)
+    set(TORQUE_APP_DIR "${CMAKE_SOURCE_DIR}/My Projects/${TORQUE_APP_NAME}")
 endif()
 if(NOT projectOutDir)
-    set(projectOutDir "${projectDir}/game")
+    set(projectOutDir "${TORQUE_APP_DIR}/game")
 endif()
 if(NOT projectSrcDir)
-    set(projectSrcDir "${projectDir}/source")
+    set(projectSrcDir "${TORQUE_APP_DIR}/source")
 endif()
 set(libDir        "${CMAKE_SOURCE_DIR}/Engine/lib")
 set(srcDir        "${CMAKE_SOURCE_DIR}/Engine/source")
@@ -295,7 +318,7 @@ macro(setupPackaging)
     SET(CPACK_PACKAGE_VENDOR "${PROJECT_NAME}")
     SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PROJECT_NAME}")
     SET(CPACK_INCLUDE_TOPLEVEL_DIRECTORY 1)
-    SET(CPACK_OUTPUT_FILE_PREFIX "${projectDir}/packages/${PROJECT_NAME}")
+    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")

+ 22 - 0
Tools/CMake/libraries/collada.cmake

@@ -1,3 +1,25 @@
+# -----------------------------------------------------------------------------
+# 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.
+# -----------------------------------------------------------------------------
+
 project(collada)
 
 addPath("${libDir}/collada/src/1.4/dom")

+ 22 - 0
Tools/CMake/libraries/convexDecomp.cmake

@@ -1,3 +1,25 @@
+# -----------------------------------------------------------------------------
+# 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.
+# -----------------------------------------------------------------------------
+
 project(convexDecomp)
 
 if(UNIX)

+ 22 - 0
Tools/CMake/libraries/libogg.cmake

@@ -1,3 +1,25 @@
+# -----------------------------------------------------------------------------
+# 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.
+# -----------------------------------------------------------------------------
+
 project(libogg)
 
 addPath("${libDir}/libogg" REC)

+ 22 - 0
Tools/CMake/libraries/libtheora.cmake

@@ -1,3 +1,25 @@
+# -----------------------------------------------------------------------------
+# 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.
+# -----------------------------------------------------------------------------
+
 project(libtheora)
 
 addPath( "${libDir}/libtheora" )

+ 22 - 0
Tools/CMake/libraries/libvorbis.cmake

@@ -1,3 +1,25 @@
+# -----------------------------------------------------------------------------
+# 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.
+# -----------------------------------------------------------------------------
+
 project(libvorbis)
 
 addPathRec("${libDir}/libvorbis")

+ 22 - 0
Tools/CMake/libraries/ljpeg.cmake

@@ -1,3 +1,25 @@
+# -----------------------------------------------------------------------------
+# 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.
+# -----------------------------------------------------------------------------
+
 project(ljpeg)
 
 finishLibrary("${libDir}/ljpeg")

+ 22 - 0
Tools/CMake/libraries/lmng.cmake

@@ -1,3 +1,25 @@
+# -----------------------------------------------------------------------------
+# 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.
+# -----------------------------------------------------------------------------
+
 project(lmng)
 
 

+ 22 - 0
Tools/CMake/libraries/lpng.cmake

@@ -1,3 +1,25 @@
+# -----------------------------------------------------------------------------
+# 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.
+# -----------------------------------------------------------------------------
+
 project(lpng)
 
 # addDef(PNG_NO_ASSEMBLER_CODE)

+ 22 - 0
Tools/CMake/libraries/lungif.cmake

@@ -1,3 +1,25 @@
+# -----------------------------------------------------------------------------
+# 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.
+# -----------------------------------------------------------------------------
+
 project(lungif)
 
 addDef(_GBA_NO_FILEIO)

+ 22 - 0
Tools/CMake/libraries/opcode.cmake

@@ -1,3 +1,25 @@
+# -----------------------------------------------------------------------------
+# 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.
+# -----------------------------------------------------------------------------
+
 project(opcode)
 
 addPath("${libDir}/${PROJECT_NAME}")

+ 22 - 0
Tools/CMake/libraries/pcre.cmake

@@ -1,3 +1,25 @@
+# -----------------------------------------------------------------------------
+# 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.
+# -----------------------------------------------------------------------------
+
 project(pcre)
 
 addDef(PCRE_STATIC)

+ 22 - 0
Tools/CMake/libraries/recast.cmake

@@ -1,3 +1,25 @@
+# -----------------------------------------------------------------------------
+# 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.
+# -----------------------------------------------------------------------------
+
 # Recast library
 project(recast)
 

+ 22 - 0
Tools/CMake/libraries/squish.cmake

@@ -1,3 +1,25 @@
+# -----------------------------------------------------------------------------
+# 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.
+# -----------------------------------------------------------------------------
+
 project(squish)
 
 finishLibrary("${libDir}/${PROJECT_NAME}")

+ 22 - 0
Tools/CMake/libraries/tinyxml.cmake

@@ -1,3 +1,25 @@
+# -----------------------------------------------------------------------------
+# 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.
+# -----------------------------------------------------------------------------
+
 project(tinyxml)
 
 finishLibrary("${libDir}/${PROJECT_NAME}")

+ 22 - 0
Tools/CMake/libraries/zlib.cmake

@@ -1,3 +1,25 @@
+# -----------------------------------------------------------------------------
+# 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.
+# -----------------------------------------------------------------------------
+
 project(zlib)
 
 finishLibrary("${libDir}/${PROJECT_NAME}")

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

@@ -1,3 +1,25 @@
+# -----------------------------------------------------------------------------
+# 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
  
 # Source

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

@@ -1,3 +1,25 @@
+# -----------------------------------------------------------------------------
+# 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
 
 addDef( "TORQUE_NAVIGATION_ENABLED" )

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

@@ -1,3 +1,25 @@
+# -----------------------------------------------------------------------------
+# 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
  
 # Source

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

@@ -1,3 +1,25 @@
+# -----------------------------------------------------------------------------
+# 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_TESTS_ENABLED "TORQUE_TESTS_ENABLED" OFF)
 
 if(TORQUE_TESTS_ENABLED)

+ 22 - 0
Tools/CMake/template.cmake

@@ -1,3 +1,25 @@
+# -----------------------------------------------------------------------------
+# 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.
+# -----------------------------------------------------------------------------
+
 # this is a template file that should help you write a new cmake build script for a new library
 
 

+ 27 - 5
Tools/CMake/torque3d.cmake

@@ -1,3 +1,25 @@
+# -----------------------------------------------------------------------------
+# 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.
+# -----------------------------------------------------------------------------
+
 project(${TORQUE_APP_NAME})
 
 if(UNIX)
@@ -553,11 +575,11 @@ endif()
 
 if(TORQUE_TEMPLATE)
     message("Prepare Template(${TORQUE_TEMPLATE}) install...")
-    INSTALL(DIRECTORY "${CMAKE_SOURCE_DIR}/Templates/${TORQUE_TEMPLATE}/game"                 DESTINATION "${projectDir}")
+    INSTALL(DIRECTORY "${CMAKE_SOURCE_DIR}/Templates/${TORQUE_TEMPLATE}/game"                 DESTINATION "${TORQUE_APP_DIR}")
     if(WIN32)
-        INSTALL(FILES "${CMAKE_SOURCE_DIR}/Templates/${TORQUE_TEMPLATE}/cleanShaders.bat"     DESTINATION "${projectDir}")
-        INSTALL(FILES "${CMAKE_SOURCE_DIR}/Templates/${TORQUE_TEMPLATE}/DeleteCachedDTSs.bat" DESTINATION "${projectDir}")
-        INSTALL(FILES "${CMAKE_SOURCE_DIR}/Templates/${TORQUE_TEMPLATE}/DeleteDSOs.bat"       DESTINATION "${projectDir}")
-        INSTALL(FILES "${CMAKE_SOURCE_DIR}/Templates/${TORQUE_TEMPLATE}/DeletePrefs.bat"      DESTINATION "${projectDir}")
+        INSTALL(FILES "${CMAKE_SOURCE_DIR}/Templates/${TORQUE_TEMPLATE}/cleanShaders.bat"     DESTINATION "${TORQUE_APP_DIR}")
+        INSTALL(FILES "${CMAKE_SOURCE_DIR}/Templates/${TORQUE_TEMPLATE}/DeleteCachedDTSs.bat" DESTINATION "${TORQUE_APP_DIR}")
+        INSTALL(FILES "${CMAKE_SOURCE_DIR}/Templates/${TORQUE_TEMPLATE}/DeleteDSOs.bat"       DESTINATION "${TORQUE_APP_DIR}")
+        INSTALL(FILES "${CMAKE_SOURCE_DIR}/Templates/${TORQUE_TEMPLATE}/DeletePrefs.bat"      DESTINATION "${TORQUE_APP_DIR}")
     endif()
 endif()