aboutsummaryrefslogtreecommitdiff
path: root/mp/src/vpc_scripts/source_lib_win32_base.vpc
diff options
context:
space:
mode:
authorJoe Ludwig <[email protected]>2013-07-04 11:20:31 -0700
committerJoe Ludwig <[email protected]>2013-07-04 11:20:31 -0700
commit77b376f8a0d8d172c51729762f80bb394534aa41 (patch)
tree79897a015745704f7202eaa6648c18f2e5312df4 /mp/src/vpc_scripts/source_lib_win32_base.vpc
parentAdding a CONTRIBUTING file so the rights that GitHub users grant to Valve wit... (diff)
downloadsource-sdk-2013-77b376f8a0d8d172c51729762f80bb394534aa41.tar.xz
source-sdk-2013-77b376f8a0d8d172c51729762f80bb394534aa41.zip
* 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.
Diffstat (limited to 'mp/src/vpc_scripts/source_lib_win32_base.vpc')
-rw-r--r--mp/src/vpc_scripts/source_lib_win32_base.vpc93
1 files changed, 93 insertions, 0 deletions
diff --git a/mp/src/vpc_scripts/source_lib_win32_base.vpc b/mp/src/vpc_scripts/source_lib_win32_base.vpc
new file mode 100644
index 00000000..e2f6766e
--- /dev/null
+++ b/mp/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"
+ }
+ }
+ }
+ }
+}