Merge remote-tracking branch 'GG-Github/development' into dynamic-CMake-modules

Conflicts:
	Tools/CMake/torque3d.cmake
This commit is contained in:
LuisAntonRebollo 2015-01-30 18:24:38 +01:00
commit 744e7d4745
2662 changed files with 417824 additions and 25509 deletions

View file

@ -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)

View file

@ -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
###############################################################################

View file

@ -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 );

View file

@ -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' );

View 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();
?>

View 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();
?>

View file

@ -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 )
{