diff options
Diffstat (limited to 'tier0/tier0.vpc')
| -rw-r--r-- | tier0/tier0.vpc | 267 |
1 files changed, 267 insertions, 0 deletions
diff --git a/tier0/tier0.vpc b/tier0/tier0.vpc new file mode 100644 index 0000000..dbb9759 --- /dev/null +++ b/tier0/tier0.vpc @@ -0,0 +1,267 @@ +//----------------------------------------------------------------------------- +// TIER0.VPC +// +// Project Script +//----------------------------------------------------------------------------- + +$MacroRequired "PLATSUBDIR" + +$Macro SRCDIR ".." +$Macro OUTBINDIR "$SRCDIR\..\game\bin" + +$Include "$SRCDIR\vpc_scripts\source_dll_base.vpc" + +$Configuration +{ + $General + { + // X360 version publishes to some other directory then copies here so we need to tell VPC to track this + // or else it won't know what depends on this project. + $AdditionalOutputFiles "$SRCDIR\lib\public\$(TargetName).lib" [$X360] + } + + $Compiler + { + $PreprocessorDefinitions "$BASE;TIER0_DLL_EXPORT" + $Create/UsePrecompiledHeader "Use Precompiled Header (/Yu)" + $Create/UsePCHThroughFile "pch_tier0.h" + $PrecompiledHeaderFile "$(IntDir)/tier0.pch" + } + + $Compiler [$WINDOWS] + { + $AdditionalIncludeDirectories "$BASE;..\public\WindowsSDK" + } + + $Linker + { + $AdditionalDependencies "$BASE ws2_32.lib" [$WINDOWS] + + // pc publishes the import library directly + $ImportLibrary "$LIBPUBLIC\$(TargetName).lib" [$WINDOWS] + + // 360 publishes the import library via a post build step + $ImportLibrary "$(TargetDir)\$(TargetName).lib" [$X360] + + $ImportLibrary "$LIBPUBLIC\$_IMPLIB_PREFIX$OUTBINNAME$_IMPLIB_EXT" [$POSIX] + + + + // 360 will auto generate a def file for this import library + $ModuleDefinitionFile " " [$X360] + $AdditionalOptions "$BASE /AUTODEF:xbox\xbox.def" [$X360] + $SystemLibraries "rt" [$LINUXALL] + } + + $PreLinkEvent [$WINDOWS] + { + $CommandLine "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $LIBPUBLIC\$(TargetName).lib $SRCDIR" "\n" \ + "$BASE" + } + + $PreLinkEvent [$X360] + { + // Run a pre-link event to clean the .def file from the last link + $CommandLine "if exist xbox\xbox.def del xbox\xbox.def" "\n" \ + "$BASE" + } + + $PostBuildEvent [$X360] + { + // Publish the import lib + $CommandLine "if exist $(TargetDir)$(TargetName).lib copy $(TargetDir)$(TargetName).lib $SRCDIR\lib\public\$(TargetName).lib" "\n" \ + "$BASE" + } + + // tier0/vstdlib traditionally used "lib" prefix though nobody else seems to. + $General [$POSIX] + { + $GameOutputFile "$OUTBINDIR/$_IMPLIB_PREFIX$OUTBINNAME$_DLL_EXT" + } + + $Linker [$POSIX] + { + $OutputFile "$(OBJ_DIR)/$_IMPLIB_PREFIX$OUTBINNAME$_DLL_EXT" + } +} + +$Project +{ + $Folder "Source Files" [$WINDOWS||$X360] + { + -$File "$SRCDIR\public\tier0\memoverride.cpp" + } + + $Folder "Link Libraries" + { + -$ImpLib tier0 + -$Lib tier1 + -$Implib vstdlib + + $Lib "$SRCDIR\thirdparty\telemetry\lib\telemetry32.link" [$WIN32] + $Lib "$SRCDIR\thirdparty\telemetry\lib\telemetry64.link" [$WIN64] + + $LibExternal "$SRCDIR/thirdparty/telemetry/lib/libtelemetryx86.link" [$LINUX32] + $LibExternal "$SRCDIR/thirdparty/telemetry/lib/libtelemetryx64.link" [$LINUX64] + } +} + +$Project "tier0" +{ + $Folder "Source Files" + { + $File "assert_dialog.cpp" + $File "assert_dialog.rc" [$WINDOWS] + $File "commandline.cpp" + $File "cpu.cpp" + $File "cpumonitoring.cpp" + $File "cpu_posix.cpp" [$POSIX] + $File "cpu_usage.cpp" + $File "dbg.cpp" + $File "dynfunction.cpp" + $File "etwprof.cpp" [$WINDOWS] + $File "fasttimer.cpp" + $File "InterlockedCompareExchange128.masm" [$WIN64] + { + $Configuration + { + $CustomBuildStep + { + // General + $CommandLine "$QUOTE$(VCInstallDir)bin\x86_amd64\ml64.exe$QUOTE /nologo /c /Fo$QUOTE$(IntDir)\$(InputName).obj$QUOTE $QUOTE$(InputPath)$QUOTE" + $Description "Compiling $(InputName).masm" + $Outputs "$(IntDir)\$(InputName).obj" + } + } + } + $File "mem.cpp" + $File "mem_helpers.cpp" + $File "memdbg.cpp" + $File "memstd.cpp" + $File "memvalidate.cpp" + $File "minidump.cpp" + $File "pch_tier0.cpp" + { + $Configuration + { + $Compiler + { + $Create/UsePrecompiledHeader "Create Precompiled Header (/Yc)" + } + } + } + $File "platform.cpp" [$WINDOWS||$X360] + $File "platform_posix.cpp" [$POSIX] + $File "pmc360.cpp" [$X360] + $File "pme.cpp" [$WINDOWS] + $File "pme_posix.cpp" [$POSIX] + $File "PMELib.cpp" [$WINDOWS||$POSIX] + { + $Configuration + { + $Compiler + { + $Create/UsePrecompiledHeader "Not Using Precompiled Headers" + } + } + } + $File "progressbar.cpp" + $File "security.cpp" + $File "systeminformation.cpp" + $File "stacktools.cpp" + $File "thread.cpp" [$WINDOWS||$POSIX] + $File "threadtools.cpp" + $File "tier0_strtools.cpp" + $File "tslist.cpp" + $File "vcrmode.cpp" [$WINDOWS] + $File "vcrmode_posix.cpp" [$POSIX] + $File "vprof.cpp" + $File "win32consoleio.cpp" [$WINDOWS] + $File "../tier1/pathmatch.cpp" [$LINUXALL] + } + + $folder "Header Files" + { + $File "$SRCDIR\public\tier0\basetypes.h" + $File "$SRCDIR\public\tier0\commonmacros.h" + $File "$SRCDIR\public\tier0\cpumonitoring.h" + $File "$SRCDIR\public\tier0\dbg.h" + $File "$SRCDIR\public\tier0\dbgflag.h" + $File "$SRCDIR\public\tier0\EventMasks.h" + $File "$SRCDIR\public\tier0\EventModes.h" + $File "$SRCDIR\public\tier0\etwprof.h" + $File "$SRCDIR\public\tier0\fasttimer.h" + $File "$SRCDIR\public\tier0\ia32detect.h" + $File "$SRCDIR\public\tier0\icommandline.h" + $File "$SRCDIR\public\tier0\IOCTLCodes.h" + $File "$SRCDIR\public\tier0\K8PerformanceCounters.h" + $File "$SRCDIR\public\tier0\l2cache.h" + $File "$SRCDIR\public\tier0\pmc360.h" [$X360] + $File "$SRCDIR\public\tier0\mem.h" + $File "$SRCDIR\public\tier0\memalloc.h" + $File "$SRCDIR\public\tier0\memdbgoff.h" + $File "$SRCDIR\public\tier0\memdbgon.h" + $File "$SRCDIR\public\tier0\minidump.h" + $File "$SRCDIR\public\tier0\P4PerformanceCounters.h" + $File "$SRCDIR\public\tier0\P5P6PerformanceCounters.h" + $File "pch_tier0.h" + $File "$SRCDIR\public\tier0\platform.h" + $File "$SRCDIR\public\tier0\PMELib.h" + $File "$SRCDIR\public\tier0\progressbar.h" + $File "$SRCDIR\public\tier0\protected_things.h" + $File "resource.h" + $File "$SRCDIR\public\tier0\systeminformation.h" + $File "$SRCDIR\public\tier0\threadtools.h" + $File "$SRCDIR\public\tier0\tslist.h" + $File "$SRCDIR\public\tier0\validator.h" + $File "$SRCDIR\public\tier0\valobject.h" + $File "$SRCDIR\public\tier0\valve_off.h" + $File "$SRCDIR\public\tier0\valve_on.h" + $File "$SRCDIR\public\tier0\vcr_shared.h" + $File "$SRCDIR\public\tier0\vcrmode.h" + $File "$SRCDIR\public\tier0\vprof.h" + $File "$SRCDIR\public\tier0\wchartypes.h" + $File "$SRCDIR\public\tier0\xbox_codeline_defines.h" + $File "mem_helpers.h" + } + + $Folder "DESKey" [$WINDOWS] + { + $File "DESKey\ALGO.H" + $File "DESKey\ALGO32.LIB" + $File "DESKey\DK2WIN32.H" + $File "DESKey\DK2WIN32.LIB" + } + + $Folder "Xbox" [$X360] + { + $folder "Source Files" + { + $File "xbox\xbox_console.cpp" + $File "xbox\xbox_system.cpp" + $File "xbox\xbox_win32stubs.cpp" + } + $folder "Header Files" + { + $File "$SRCDIR\common\xbox\xbox_console.h" + $File "$SRCDIR\common\xbox\xbox_core.h" + $File "$SRCDIR\common\xbox\xbox_win32stubs.h" + } + } + + $Folder "Manifest Files" [$WINDOWS] + { + $File "ValveETWProvider.man" + { + $Configuration + { + $CustomBuildStep + { + $CommandLine "..\DevTools\bin\mc.exe -um $(InputFilename) -z $(InputName)Events" + $Description "Compiling ETW manifest file" + $Outputs "$(InputName)Events.h;$(InputName)Events.rc" + } + } + } + } +} |