From 77b376f8a0d8d172c51729762f80bb394534aa41 Mon Sep 17 00:00:00 2001 From: Joe Ludwig Date: Thu, 4 Jul 2013 11:20:31 -0700 Subject: * Switched the SDK from checked-in projects to VPC, the Valve Project Creator. See the Getting Started document on the wiki for details. * Pulled in bug fixes from HL2 and HL2MP. --- sp/src/vpc_scripts/source_lib_win32_base.vpc | 93 ++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 sp/src/vpc_scripts/source_lib_win32_base.vpc (limited to 'sp/src/vpc_scripts/source_lib_win32_base.vpc') diff --git a/sp/src/vpc_scripts/source_lib_win32_base.vpc b/sp/src/vpc_scripts/source_lib_win32_base.vpc new file mode 100644 index 00000000..e2f6766e --- /dev/null +++ b/sp/src/vpc_scripts/source_lib_win32_base.vpc @@ -0,0 +1,93 @@ +//----------------------------------------------------------------------------- +// SOURCE_LIB_WIN32_BASE.VPC +// +// Base Settings for all Source(TM) Projects +//----------------------------------------------------------------------------- + +$Include "$SRCDIR\vpc_scripts\version.vpc" + +$Macro NOAPPENDPLATSUBDIR "1" [!$WIN64] + +$MacroRequired "PLATSUBDIR" +$MacroRequired "SRCDIR" +$MacroRequired "OUTLIBNAME" "$PROJECTNAME" +$MacroRequired "OUTLIBDIR" + +// Fix up directories for targets like win64 +$Macro OUTLIBDIR "$OUTLIBDIR$PLATSUBDIR" [!$NOAPPENDPLATSUBDIR] + +$Include "$SRCDIR\vpc_scripts\source_lib_win32_debug.vpc" +$Include "$SRCDIR\vpc_scripts\source_lib_win32_release.vpc" +$Include "$SRCDIR\vpc_scripts\source_win32_base.vpc" + +$IgnoreRedundancyWarning "ON" + +// Common Configuration +$Configuration +{ + $General [$VS2010] + { + $TargetName "$OUTLIBNAME" + } + + $General + { + $OutputDirectory "$OUTLIBDIR" + } + + $Compiler + { + $PreprocessorDefinitions "$BASE;LIBNAME=$OUTLIBNAME" + $PreprocessorDefinitions "$BASE;RAD_TELEMETRY_DISABLED" [$SOURCESDK] + } + + $PreBuildEvent + { + $CommandLine "if EXIST $OUTLIBDIR\$(TargetName).lib ( for /f $QUOTEdelims=$QUOTE %%A in ('attrib $QUOTE$OUTLIBDIR\$(TargetName).lib$QUOTE') do set valveTmpIsReadOnly=$QUOTE%%A$QUOTE" "\n" \ + ") else ( mkdir $OUTLIBDIR )" "\n" \ + "set valveTmpIsReadOnlyLetter=%valveTmpIsReadOnly:~6,1%" "\n" \ + "if $QUOTE%valveTmpIsReadOnlyLetter%$QUOTE==$QUOTER$QUOTE (" "\n" \ + " attrib -r $OUTLIBDIR\$(TargetName).lib" "\n" \ + " $SRCDIR\devtools\bin\gnu\touch.exe -d $QUOTE1999-01-01$QUOTE $OUTLIBDIR\$(TargetName).lib" "\n" \ + " attrib +r $OUTLIBDIR\$(TargetName).lib" "\n" \ + ")" "\n" \ + "$CRCCHECK" "\n" [!$SOURCESDK] + } + + $PreLinkEvent + { + $CommandLine "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTLIBDIR\$(TargetName).lib $SRCDIR" [!$SOURCESDK ] + } + + $Librarian + { + // Suppress this warning using the undocumented /ignore linker switch + // schemalib.lib(schemaclassinfo.obj) : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library + $AdditionalOptions "$BASE /ignore:4221" + + // This option is from the devil. Basically, it causes the link inputs + // to vary depending on what is in the solution. This is anathema + // to the way that we use projects and solutions here at Valve. + // It also exposes a bug in VS2005 causing files to be recompiled/linked + // even if nothing changed. + $LinkLibraryDependencies "false" + } +} + +// Skeleton Project - All derived projects get this as a starting base +$Project +{ + $Folder "Source Files" + { + $File "$SRCDIR\common\debug_lib_check.cpp" [!$SOURCESDK] + { + $Configuration + { + $Compiler + { + $Create/UsePrecompiledHeader "Not Using Precompiled Headers" + } + } + } + } +} -- cgit v1.2.3