mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-12 07:04:36 +00:00
Merge remote-tracking branch 'GG-Github/development' into dynamic-CMake-modules
Conflicts: Tools/CMake/torque3d.cmake
This commit is contained in:
commit
744e7d4745
2662 changed files with 417824 additions and 25509 deletions
|
|
@ -69,7 +69,8 @@ macro(addPath dir)
|
|||
${dir}/*.c
|
||||
${dir}/*.cc
|
||||
${dir}/*.h
|
||||
${dir}/*.asm)
|
||||
#${dir}/*.asm
|
||||
)
|
||||
LIST(APPEND ${PROJECT_NAME}_files "${tmp_files}")
|
||||
LIST(APPEND ${PROJECT_NAME}_paths "${dir}")
|
||||
#message(STATUS "addPath ${PROJECT_NAME} : ${tmp_files}")
|
||||
|
|
@ -94,13 +95,17 @@ macro(__addDef def config)
|
|||
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}")
|
||||
set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS ${def})
|
||||
else()
|
||||
set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS_${config} "${def}")
|
||||
set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:${config}>:${def}>)
|
||||
endif()
|
||||
else()
|
||||
list(APPEND ${PROJECT_NAME}_defs_${config} ${def})
|
||||
#message(STATUS "added definition to cache: ${PROJECT_NAME}_defs_${config}: ${${PROJECT_NAME}_defs_${config}}")
|
||||
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()
|
||||
|
||||
|
|
@ -108,7 +113,7 @@ endmacro()
|
|||
macro(addDef def)
|
||||
set(def_configs "")
|
||||
if(${ARGC} GREATER 1)
|
||||
foreach(config "${ARGV1}")
|
||||
foreach(config ${ARGN})
|
||||
__addDef(${def} ${config})
|
||||
endforeach()
|
||||
else()
|
||||
|
|
@ -119,16 +124,9 @@ 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} on all configs: ${${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()
|
||||
foreach(def_config ${CMAKE_CONFIGURATION_TYPES})
|
||||
string(TOUPPER "${def_config}" def_config)
|
||||
if(DEFINED ${PROJECT_NAME}_defs_${def_config})
|
||||
set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS_${def_config} "${${PROJECT_NAME}_defs_${def_config}}")
|
||||
#message(STATUS "applying defs to project ${PROJECT_NAME} on config ${def_config}: ${${PROJECT_NAME}_defs_${def_config}}")
|
||||
endif()
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
###############################################################################
|
||||
|
|
@ -346,9 +344,9 @@ if(WIN32)
|
|||
set(TORQUE_CXX_FLAGS_LIBS "/W0" CACHE TYPE STRING)
|
||||
mark_as_advanced(TORQUE_CXX_FLAGS_LIBS)
|
||||
|
||||
set(TORQUE_CXX_FLAGS_COMMON_DEFAULT "-DUNICODE -D_UNICODE /MP /O2 /Ob2 /Oi /Ot /Oy /GT /Zi /W4 /nologo /GF /EHsc /GS- /Gy- /Qpar- /fp:fast /fp:except- /GR /Zc:wchar_t- /D_CRT_SECURE_NO_WARNINGS" )
|
||||
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:fast /fp:except- /GR /Zc:wchar_t-" )
|
||||
if( TORQUE_CPU_X32 )
|
||||
set(TORQUE_CXX_FLAGS_COMMON_DEFAULT ${TORQUE_CXX_FLAGS_COMMON_DEFAULT}" /arch:SSE2")
|
||||
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 TYPE STRING)
|
||||
|
||||
|
|
|
|||
|
|
@ -23,10 +23,15 @@
|
|||
project(${TORQUE_APP_NAME})
|
||||
|
||||
if(UNIX)
|
||||
if(NOT CXX_FLAG32)
|
||||
set(CXX_FLAG32 "")
|
||||
endif()
|
||||
#set(CXX_FLAG32 "-m32") #uncomment for build x32 on OSx64
|
||||
|
||||
# default compiler flags
|
||||
# force compile 32 bit
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32 -Wall -Wundef -msse -pipe -Wfatal-errors ${TORQUE_ADDITIONAL_LINKER_FLAGS}")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32 -Wall -Wundef -msse -pipe -Wfatal-errors ${TORQUE_ADDITIONAL_LINKER_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX_FLAG32} -Wall -Wundef -msse -pipe -Wfatal-errors ${TORQUE_ADDITIONAL_LINKER_FLAGS}")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CXX_FLAG32} -Wall -Wundef -msse -pipe -Wfatal-errors ${TORQUE_ADDITIONAL_LINKER_FLAGS}")
|
||||
|
||||
# for asm files
|
||||
SET (CMAKE_ASM_NASM_OBJECT_FORMAT "elf")
|
||||
|
|
@ -58,6 +63,18 @@ option(TORQUE_HIFI "HIFI? support" OFF)
|
|||
mark_as_advanced(TORQUE_HIFI)
|
||||
option(TORQUE_EXTENDED_MOVE "Extended move support" OFF)
|
||||
mark_as_advanced(TORQUE_EXTENDED_MOVE)
|
||||
if(WIN32)
|
||||
option(TORQUE_SDL "Use SDL for window and input" OFF)
|
||||
mark_as_advanced(TORQUE_SDL)
|
||||
else()
|
||||
set(TORQUE_SDL ON) # we need sdl to work on Linux/Mac
|
||||
endif()
|
||||
if(WIN32)
|
||||
option(TORQUE_OPENGL "Allow OpenGL render" OFF)
|
||||
#mark_as_advanced(TORQUE_OPENGL)
|
||||
else()
|
||||
set(TORQUE_OPENGL ON) # we need OpenGL to render on Linux/Mac
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
option(TORQUE_OPENGL "Allow OpenGL render" OFF)
|
||||
|
|
@ -132,6 +149,20 @@ if(WIN32)
|
|||
endif()
|
||||
endif()
|
||||
|
||||
# build types
|
||||
if(NOT MSVC) # handle single-configuration generator
|
||||
set(CMAKE_BUILD_TYPE ${TORQUE_BUILD_TYPE})
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
set(TORQUE_DEBUG TRUE)
|
||||
elseif(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
set(TORQUE_RELEASE TRUE)
|
||||
elseif(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
|
||||
set(TORQUE_RELEASE TRUE)
|
||||
else()
|
||||
message(FATAL_ERROR "Please select Debug, Release or RelWithDebInfo for TORQUE_BUILD_TYPE")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
###############################################################################
|
||||
# Always enabled paths first
|
||||
###############################################################################
|
||||
|
|
@ -311,6 +342,30 @@ else()
|
|||
addPath("${srcDir}/T3D/gameBase/std")
|
||||
endif()
|
||||
|
||||
if(TORQUE_SDL)
|
||||
addPathRec("${srcDir}/windowManager/sdl")
|
||||
addPathRec("${srcDir}/platformSDL")
|
||||
|
||||
if(TORQUE_OPENGL)
|
||||
addPathRec("${srcDir}/gfx/gl/sdl")
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
#set(CMAKE_SIZEOF_VOID_P 4) #force 32 bit
|
||||
set(ENV{CFLAGS} "${CXX_FLAG32} -g -O3")
|
||||
if("${TORQUE_ADDITIONAL_LINKER_FLAGS}" STREQUAL "")
|
||||
set(ENV{LDFLAGS} "${CXX_FLAG32}")
|
||||
else()
|
||||
set(ENV{LDFLAGS} "${CXX_FLAG32} ${TORQUE_ADDITIONAL_LINKER_FLAGS}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#override and hide SDL2 cache variables
|
||||
set(SDL_SHARED ON CACHE INTERNAL "" FORCE)
|
||||
set(SDL_STATIC OFF CACHE INTERNAL "" FORCE)
|
||||
add_subdirectory( ${libDir}/sdl ${CMAKE_CURRENT_BINARY_DIR}/sdl2)
|
||||
endif()
|
||||
|
||||
if(TORQUE_DEDICATED)
|
||||
addDef(TORQUE_DEDICATED)
|
||||
endif()
|
||||
|
|
@ -385,6 +440,7 @@ if(PS3)
|
|||
endif()
|
||||
|
||||
if(UNIX)
|
||||
# linux_dedicated
|
||||
if(TORQUE_DEDICATED)
|
||||
addPath("${srcDir}/windowManager/dedicated")
|
||||
# ${srcDir}/platformX86UNIX/*.client.* files are not needed
|
||||
|
|
@ -401,8 +457,9 @@ if(UNIX)
|
|||
endforeach()
|
||||
else()
|
||||
addPath("${srcDir}/platformX86UNIX")
|
||||
addPath("${srcDir}/platformX86UNIX/nativeDialogs")
|
||||
endif()
|
||||
|
||||
# linux
|
||||
addPath("${srcDir}/platformX86UNIX/threads")
|
||||
addPath("${srcDir}/platformPOSIX")
|
||||
endif()
|
||||
|
|
@ -412,8 +469,12 @@ if( TORQUE_OPENGL )
|
|||
if( TORQUE_OPENGL AND NOT TORQUE_DEDICATED )
|
||||
addPath("${srcDir}/gfx/gl")
|
||||
addPath("${srcDir}/gfx/gl/tGL")
|
||||
addPath("${srcDir}/shaderGen/GLSL")
|
||||
addPath("${srcDir}/terrain/glsl")
|
||||
addPath("${srcDir}/forest/glsl")
|
||||
|
||||
# glew
|
||||
LIST(APPEND ${PROJECT_NAME}_files "${libDir}/glew/src/glew.c")
|
||||
endif()
|
||||
|
||||
if(WIN32 AND NOT TORQUE_SDL)
|
||||
|
|
@ -472,6 +533,19 @@ if(WIN32)
|
|||
set(TORQUE_EXTERNAL_LIBS "COMCTL32.LIB;COMDLG32.LIB;USER32.LIB;ADVAPI32.LIB;GDI32.LIB;WINMM.LIB;WSOCK32.LIB;vfw32.lib;Imm32.lib;d3d9.lib;d3dx9.lib;DxErr.lib;ole32.lib;shell32.lib;oleaut32.lib;version.lib" CACHE STRING "external libs to link against")
|
||||
mark_as_advanced(TORQUE_EXTERNAL_LIBS)
|
||||
addLib("${TORQUE_EXTERNAL_LIBS}")
|
||||
|
||||
if(TORQUE_OPENGL)
|
||||
addLib(OpenGL32.lib)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
# copy pasted from T3D build system, some might not be needed
|
||||
set(TORQUE_EXTERNAL_LIBS "dl Xxf86vm Xext X11 Xft stdc++ pthread GL" CACHE STRING "external libs to link against")
|
||||
mark_as_advanced(TORQUE_EXTERNAL_LIBS)
|
||||
|
||||
string(REPLACE " " ";" TORQUE_EXTERNAL_LIBS_LIST ${TORQUE_EXTERNAL_LIBS})
|
||||
addLib( "${TORQUE_EXTERNAL_LIBS_LIST}" )
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
|
|
@ -486,8 +560,8 @@ endif()
|
|||
###############################################################################
|
||||
# Always enabled Definitions
|
||||
###############################################################################
|
||||
addDef(TORQUE_DEBUG DEBUG)
|
||||
addDef(TORQUE_ENABLE_ASSERTS "DEBUG;RelWithDebInfo")
|
||||
addDef(TORQUE_DEBUG Debug)
|
||||
addDef(TORQUE_ENABLE_ASSERTS "Debug;RelWithDebInfo")
|
||||
addDef(TORQUE_DEBUG_GFX_MODE "RelWithDebInfo")
|
||||
addDef(TORQUE_SHADERGEN)
|
||||
addDef(INITGUID)
|
||||
|
|
@ -510,6 +584,23 @@ if(UNIX)
|
|||
addDef(LINUX)
|
||||
endif()
|
||||
|
||||
if(TORQUE_OPENGL)
|
||||
addDef(TORQUE_OPENGL)
|
||||
if(WIN32)
|
||||
addDef(GLEW_STATIC)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(TORQUE_SDL)
|
||||
addDef(TORQUE_SDL)
|
||||
addInclude(${libDir}/sdl/include)
|
||||
addLib(SDL2)
|
||||
endif()
|
||||
|
||||
if(TORQUE_STATIC_CODE_ANALYSIS)
|
||||
addDef( "ON_FAIL_ASSERTFATAL=exit(1)" )
|
||||
endif()
|
||||
|
||||
###############################################################################
|
||||
# Include Paths
|
||||
###############################################################################
|
||||
|
|
@ -528,6 +619,18 @@ addInclude("${libDir}/libogg/include")
|
|||
addInclude("${libDir}/opcode")
|
||||
addInclude("${libDir}/collada/include")
|
||||
addInclude("${libDir}/collada/include/1.4")
|
||||
if(TORQUE_OPENGL)
|
||||
addInclude("${libDir}/glew/include")
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
addInclude("/usr/include/freetype2/freetype")
|
||||
addInclude("/usr/include/freetype2")
|
||||
endif()
|
||||
|
||||
if(TORQUE_OPENGL)
|
||||
addInclude("${libDir}/glew/include")
|
||||
endif()
|
||||
|
||||
# external things
|
||||
if(WIN32)
|
||||
|
|
@ -539,6 +642,17 @@ if(UNIX)
|
|||
addInclude("/usr/include/freetype2")
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
# Match projectGenerator naming for executables
|
||||
set(OUTPUT_CONFIG DEBUG MINSIZEREL RELWITHDEBINFO)
|
||||
set(OUTPUT_SUFFIX DEBUG MINSIZE OPTIMIZEDDEBUG)
|
||||
foreach(INDEX RANGE 2)
|
||||
list(GET OUTPUT_CONFIG ${INDEX} CONF)
|
||||
list(GET OUTPUT_SUFFIX ${INDEX} SUFFIX)
|
||||
set_property(TARGET ${PROJECT_NAME} PROPERTY OUTPUT_NAME_${CONF} ${PROJECT_NAME}_${SUFFIX})
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
###############################################################################
|
||||
# Installation
|
||||
###############################################################################
|
||||
|
|
|
|||
|
|
@ -240,6 +240,18 @@ class T3D_Generator
|
|||
array_push( self::$project_cur->defines, $d."=".$v );
|
||||
}
|
||||
|
||||
static function isDefined( $d )
|
||||
{
|
||||
foreach( self::$project_cur->defines as $v )
|
||||
{
|
||||
if( $v === $d )
|
||||
return true;
|
||||
else if( strpos( $v, $d . "=" ) === 0 )
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static function disableProjectWarning( $warning )
|
||||
{
|
||||
array_push( self::$project_cur->disabledWarnings, $warning );
|
||||
|
|
|
|||
|
|
@ -155,6 +155,7 @@ switch( T3D_Generator::$platform )
|
|||
addEngineSrcDir( 'gfx/gl/ggl' );
|
||||
addEngineSrcDir( 'gfx/gl/ggl/generated' );
|
||||
addEngineSrcDir( 'shaderGen/GLSL' );
|
||||
addIncludePath( getAppLibSrcDir() . 'glew/include/' );
|
||||
break;
|
||||
case "linux":
|
||||
case "linux_dedicated":
|
||||
|
|
@ -164,6 +165,7 @@ switch( T3D_Generator::$platform )
|
|||
addEngineSrcDir( 'gfx/gl/ggl' );
|
||||
addEngineSrcDir( 'gfx/gl/ggl/generated' );
|
||||
addEngineSrcDir( 'shaderGen/GLSL' );
|
||||
addIncludePath( getAppLibSrcDir() . 'glew/include/' );
|
||||
break;
|
||||
case "ps3":
|
||||
addEngineSrcDir( 'gfx/gl/ggl/ps3' );
|
||||
|
|
|
|||
56
Tools/projectGenerator/modules/opengl.inc
Normal file
56
Tools/projectGenerator/modules/opengl.inc
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
<?php
|
||||
//-----------------------------------------------------------------------------
|
||||
// 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.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
beginModule('openGL');
|
||||
|
||||
addProjectDefine('TORQUE_OPENGL');
|
||||
|
||||
addEngineSrcDir("shaderGen/GLSL");
|
||||
|
||||
if(!isDefined("TORQUE_DEDICATED"))
|
||||
{
|
||||
addEngineSrcDir("gfx/gl");
|
||||
addEngineSrcDir("gfx/gl/tGL");
|
||||
addEngineSrcDir("shaderGen/GLSL");
|
||||
addEngineSrcDir("lighting/advanced/glsl");
|
||||
addEngineSrcDir("terrain/glsl");
|
||||
addEngineSrcDir("forest/glsl");
|
||||
addLibSrcFile("glew/src/glew.c");
|
||||
}
|
||||
|
||||
if(!isDefined("TORQUE_SDL"))
|
||||
{
|
||||
addEngineSrcDir("gfx/gl/win32");
|
||||
}
|
||||
|
||||
addIncludePath( getAppLibSrcDir() . 'glew/include/' );
|
||||
|
||||
if ( T3D_Generator::$platform == "win32" )
|
||||
{
|
||||
addProjectLibInput('OpenGL32.lib');
|
||||
addProjectDefine('GLEW_STATIC');
|
||||
}
|
||||
|
||||
endModule();
|
||||
|
||||
?>
|
||||
112
Tools/projectGenerator/modules/physX3.inc
Normal file
112
Tools/projectGenerator/modules/physX3.inc
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
<?php
|
||||
//-----------------------------------------------------------------------------
|
||||
// Copyright (c) 2012 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.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
beginModule( 'physX3' );
|
||||
|
||||
// Look for the optional global from the project.conf.
|
||||
global $PHYSX3_SDK_PATH;
|
||||
if (!$PHYSX3_SDK_PATH)
|
||||
{
|
||||
// First look for an environment var.
|
||||
$PHYSX3_SDK_PATH = getenv( "TORQUE_PHYSX3_PATH" );
|
||||
|
||||
if (strlen($PHYSX3_SDK_PATH) == 0 || !file_exists($PHYSX3_SDK_PATH))
|
||||
{
|
||||
// Sometimes users get confused and use this var.
|
||||
$PHYSX3_SDK_PATH = getenv( "PHYSX3_SDK_PATH" );
|
||||
|
||||
if (strlen($PHYSX3_SDK_PATH) == 0 || !file_exists($PHYSX3_SDK_PATH))
|
||||
{
|
||||
// Since neither environment var worked try for
|
||||
$PHYSX3_SDK_PATH = getenv("ProgramFiles") . "/NVIDIA Corporation/NVIDIA PhysX SDK/v3.3.0_win";
|
||||
|
||||
// Last channce... try the x86 program files
|
||||
if (!file_exists($PHYSX_SDK_PATH))
|
||||
$PHYSX3_SDK_PATH = getenv("ProgramFiles(x86)") . "/NVIDIA Corporation/NVIDIA PhysX SDK/v3.3.0_win";
|
||||
}
|
||||
}
|
||||
|
||||
// We need forward slashes for paths.
|
||||
$PHYSX3_SDK_PATH = str_replace( "\\", "/", $PHYSX3_SDK_PATH);
|
||||
|
||||
// Remove trailing slashes.
|
||||
$PHYSX3_SDK_PATH = rtrim($PHYSX3_SDK_PATH, " /");
|
||||
}
|
||||
|
||||
// If we still don't have the SDK path then let the user know.
|
||||
if (!file_exists($PHYSX3_SDK_PATH))
|
||||
{
|
||||
trigger_error(
|
||||
"\n*******************************************************************".
|
||||
"\n".
|
||||
"\n We were not able to find a valid path to the PhysX 3 SDK!".
|
||||
"\n".
|
||||
"\n You must install the latest PhysX3 SDK and set the path via a".
|
||||
"\n \$PHYSX3_SDK_PATH variable in your buildFiles/project.conf file".
|
||||
"\n or by setting the TORQUE_PHYSX3_PATH system environment variable".
|
||||
"\n (may require a reboot).".
|
||||
"\n".
|
||||
"\n*******************************************************************".
|
||||
"\n", E_USER_ERROR );
|
||||
}
|
||||
|
||||
addProjectDefine( "TORQUE_PHYSICS_PHYSX3" );
|
||||
addProjectDefine( "TORQUE_PHYSICS_ENABLED" );
|
||||
|
||||
// Source
|
||||
addEngineSrcDir( "T3D/physics/physx3" );
|
||||
addEngineSrcDir( "T3D/physics/physx3/Cloth" );
|
||||
addEngineSrcDir( "T3D/physics/physx3/Particles" );
|
||||
|
||||
// Includes
|
||||
addIncludePath( $PHYSX3_SDK_PATH . "/Include" );
|
||||
addIncludePath( $PHYSX3_SDK_PATH . "/Include/extensions" );
|
||||
addIncludePath( $PHYSX3_SDK_PATH . "/Include/foundation" );
|
||||
addIncludePath( $PHYSX3_SDK_PATH . "/Include/characterkinematic" );
|
||||
addIncludePath( $PHYSX3_SDK_PATH . "/Include/common" );
|
||||
|
||||
// Libs
|
||||
addProjectLibDir( $PHYSX3_SDK_PATH . "/Lib/win32" );
|
||||
addProjectLibInput( "PhysX3_x86.lib","PhysX3CHECKED_x86.lib" );
|
||||
addProjectLibInput( "PhysX3Common_x86.lib","PhysX3CommonCHECKED_x86.lib");
|
||||
addProjectLibInput( "PhysX3Extensions.lib","PhysX3ExtensionsCHECKED.lib" );
|
||||
addProjectLibInput( "PhysX3Cooking_x86.lib","PhysX3CookingCHECKED_x86.lib");
|
||||
addProjectLibInput( "PxTask.lib","PxTaskCHECKED.lib" );
|
||||
addProjectLibInput( "PhysX3CharacterKinematic_x86.lib","PhysX3CharacterKinematicCHECKED_x86.lib" );
|
||||
addProjectLibInput( "PhysXVisualDebuggerSDK.lib", "PhysXVisualDebuggerSDKCHECKED.lib");
|
||||
addProjectLibInput( "PhysXProfileSDK.lib", "PhysXProfileSDKCHECKED.lib");
|
||||
|
||||
// File Copy
|
||||
copyFileToProject( $PHYSX3_SDK_PATH . "/Bin/win32/nvToolsExt32_1.dll", "/game/nvToolsExt32_1.dll" );
|
||||
copyFileToProject( $PHYSX3_SDK_PATH . "/Bin/win32/PhysX3_x86.dll", "/game/PhysX3_x86.dll" );
|
||||
copyFileToProject( $PHYSX3_SDK_PATH . "/Bin/win32/PhysX3CharacterKinematic_x86.dll", "/game/PhysX3CharacterKinematic_x86.dll" );
|
||||
copyFileToProject( $PHYSX3_SDK_PATH . "/Bin/win32/PhysX3CharacterKinematicCHECKED_x86.dll", "/game/PhysX3CharacterKinematicCHECKED_x86.dll" );
|
||||
copyFileToProject( $PHYSX3_SDK_PATH . "/Bin/win32/PhysX3CHECKED_x86.dll", "/game/PhysX3CHECKED_x86.dll" );
|
||||
copyFileToProject( $PHYSX3_SDK_PATH . "/Bin/win32/PhysX3Common_x86.dll", "/game/PhysX3Common_x86.dll" );
|
||||
copyFileToProject( $PHYSX3_SDK_PATH . "/Bin/win32/PhysX3CommonCHECKED_x86.dll", "/game/PhysX3CommonCHECKED_x86.dll" );
|
||||
copyFileToProject( $PHYSX3_SDK_PATH . "/Bin/win32/PhysX3Cooking_x86.dll", "/game/PhysX3Cooking_x86.dll" );
|
||||
copyFileToProject( $PHYSX3_SDK_PATH . "/Bin/win32/PhysX3CookingCHECKED_x86.dll", "/game/PhysX3CookingCHECKED_x86.dll" );
|
||||
|
||||
endModule();
|
||||
|
||||
?>
|
||||
|
|
@ -288,6 +288,11 @@ function addProjectDefines()
|
|||
else
|
||||
echo( "addProjectDefines() - no arguments passed!" );
|
||||
}
|
||||
/// Has a preprocessor directive been defined?
|
||||
function isDefined( $d )
|
||||
{
|
||||
return T3D_Generator::isDefined( $d );
|
||||
}
|
||||
|
||||
function setProjectGUID( $guid )
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue