//----------------------------------------------------------------------------- // SOURCE_LIB_WIN32_BASE.VPC // // Base Settings for all Source(TM) Projects //----------------------------------------------------------------------------- $Include "$SRCDIR\vpc_scripts\version.vpc" $MacroRequired "SRCDIR" $MacroRequired "OUTLIBNAME" "$PROJECTNAME" $MacroRequired "OUTLIBDIR" $Macro LIBPUBLIC "$SRCDIR\lib\public$PLATSUBDIR" $Macro LIBCOMMON "$SRCDIR\lib\common$PLATSUBDIR" [!$VS2015] $Macro LIBCOMMON "$SRCDIR\lib\common$PLATSUBDIR\2015\release" [$VS2015&&!$WIN32] $Macro LIBCOMMON "$SRCDIR\lib\common\win32\2015\release" [$VS2015&&$WIN32] $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 { $TargetName "$OUTLIBNAME" } $Compiler { $PreprocessorDefinitions "$BASE;PLATFORM_64BITS;WIN64;_WIN64;COMPILER_MSVC64" [$WIN64] $PreprocessorDefinitions "$BASE;COMPILER_MSVC32" [$WIN32] $PreprocessorDefinitions "$BASE;COMPILER_MSVC;_DLL_EXT=$_DLL_EXT" $PreprocessorDefinitions "$BASE;LIBNAME=$OUTLIBNAME" } $Compiler [$WIN32] { $EnableEnhancedInstructionSet "Streaming SIMD Extensions (/arch:SSE)" } $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 ( if not EXIST $OUTLIBDIR 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" } $PreLinkEvent [!$ANALYZE && !$SOURCESDK] { $CommandLine "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTLIBDIR\$(TargetName).lib $SRCDIR" } $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" } } // 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" } } } } }