private function conditionDirectories($output, &$projectFiles) { foreach ($this->includes as &$include) { if (!FileUtil::isAbsolutePath($include)) { $include = $output->project_rel_path . $include; } } foreach ($this->lib_dirs as &$libDirs) { if (!FileUtil::isAbsolutePath($libDirs)) { $libDirs = $output->project_rel_path . $libDirs; } } if (T3D_Generator::$absPath) { foreach ($this->includes as &$include) { if (stristr($include, getEngineSrcDir()) || stristr($include, getLibSrcDir())) { $include = T3D_Generator::$absPath . "/" . str_replace("../", "", $include); } } foreach ($this->lib_dirs as &$libDirs) { if (stristr($libDirs, getEngineSrcDir()) || stristr($libDirs, getLibSrcDir())) { $libDirs = T3D_Generator::$absPath . "/" . str_replace("../", "", $libDirs); } } } }
static function beginConfig($platform, $projectName) { setPlatform($platform); beginProject($projectName, self::$sharedConfig); self::includeDefaultLibs(); $ext = "DLL"; if (Generator::$platform == "mac") { $ext = "Bundle"; } //some platforms will not want a shared config if (Generator::$platform == "360" || Generator::$platform == "ps3") { self::$sharedConfig = false; } //begin either a shared lib config, or a static app config if (self::$sharedConfig) { beginSharedLibConfig(getGameProjectName() . ' ' . $ext, '{C0FCDFF9-E125-412E-87BC-2D89DB971CAB}', 'game', getGameProjectName()); } else { beginAppConfig(getGameProjectName(), '{C0FCDFF9-E125-412E-87BC-2D89DB971CAB}', 'game', getGameProjectName()); } /// Prefs addProjectDefine('TORQUE_SHADERGEN'); addProjectDefine('TORQUE_UNICODE'); if (self::$sharedConfig) { addProjectDefine('TORQUE_SHARED'); } /// For OPCODE addProjectDefine('BAN_OPCODE_AUTOLINK'); addProjectDefine('ICE_NO_DLL'); addProjectDefine('TORQUE_OPCODE'); // For libTomCrypt addProjectDefine('LTC_NO_PROTOTYPES'); // Additional includes addIncludePath("../../game/shaders"); addLibIncludePath("lmng"); addLibIncludePath("lpng"); addLibIncludePath("ljpeg"); addLibIncludePath("lungif"); addLibIncludePath("zlib"); addLibIncludePath("tinyxml"); addLibIncludePath("opcode"); addLibIncludePath("squish"); addLibIncludePath('convexDecomp'); if (Generator::$platform != "360" && Generator::$platform != "ps3") { addLibIncludePath("libvorbis/include"); addLibIncludePath("libogg/include"); addLibIncludePath("libtheora/include"); } // Modules includeModule('core'); includeModule('dsound'); //includeModule( 'fmod'); // FMOD support removed until made as a 3rd party library includeModule('T3D'); includeModule('advancedLighting'); includeModule('basicLighting'); includeModule('collada'); if (Generator::$platform != "360" && Generator::$platform != "ps3") { includeModule('vorbis'); includeModule('theora'); } if (Generator::$platform == "mac" || Generator::$platform == "win32") { includeModule('openal'); } // Dependencies addProjectDependency('lmng'); addProjectDependency('lpng'); addProjectDependency('lungif'); addProjectDependency('ljpeg'); addProjectDependency('zlib'); addProjectDependency('tinyxml'); addProjectDependency('opcode'); addProjectDependency('squish'); addProjectDependency('collada_dom'); addProjectDependency('pcre'); addProjectDependency('convexDecomp'); if (Generator::$platform != "360" && Generator::$platform != "ps3") { addProjectDependency('libvorbis'); addProjectDependency('libogg'); addProjectDependency('libtheora'); } if (Generator::$platform == "mac") { addProjectDefine('__MACOSX__'); addProjectDefine('LTM_DESC'); } if (Generator::$platform == "win32") { setProjectModuleDefinitionFile('../../' . getLibSrcDir() . 'Torque3D/msvc/torque3d.def'); addProjectDefine('UNICODE'); addProjectDefine('INITGUID'); addProjectDefine('_CRT_SECURE_NO_DEPRECATE'); addProjectLibInput('COMCTL32.LIB'); addProjectLibInput('COMDLG32.LIB'); addProjectLibInput('USER32.LIB'); addProjectLibInput('ADVAPI32.LIB'); addProjectLibInput('GDI32.LIB'); addProjectLibInput('WINMM.LIB'); addProjectLibInput('WSOCK32.LIB'); addProjectLibInput('vfw32.lib'); addProjectLibInput('Imm32.lib'); addProjectLibInput('d3d9.lib'); addProjectLibInput('d3dx9.lib'); addProjectLibInput('DxErr.lib'); addProjectLibInput('ole32.lib'); addProjectLibInput('shell32.lib'); addProjectLibInput('oleaut32.lib'); addProjectLibInput('version.lib'); } // Include project specific sources in the project/buildFiles/config/projectCode.conf $projectCode = realpath($argv[1]) . "/buildFiles/config/projectCode.conf"; echo "\n - Loading project code configuration from " . $projectCode . "\n"; include $projectCode; }