You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
267 lines
7.2 KiB
267 lines
7.2 KiB
//-----------------------------------------------------------------------------
|
|
// 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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|