csgo-2018-source/game/server/server_portal2.vpc
2021-07-24 21:11:47 -07:00

352 lines
16 KiB
Plaintext

//-----------------------------------------------------------------------------
// SERVER_PORTAL2.VPC
//
// Project Script
//-----------------------------------------------------------------------------
$Macro GAMENAME "portal2"
$Macro GENERATED_PROTO_DIR "$SRCDIR\game\server\portal2\generated_proto"
$Include "server_portal_base.vpc"
$Include "server_econ_base.vpc" [($WIN32 || $OSXALL) && !$NO_STEAM]
$Configuration
{
$Compiler
{
$AdditionalIncludeDirectories "$BASE;$SRCDIR\game\shared\hl2;$SRCDIR\game\shared\episodic;.\hl2;.\episodic;$SRCDIR\game\shared\portal;.\portal;$SRCDIR\game\shared\multiplayer;$SRCDIR\game\shared\portal2;.\portal2;$SRCDIR\public\meshutils;"
$PreprocessorDefinitions "$BASE;USES_SAVERESTORE;PORTAL2;PORTAL"
$PreprocessorDefinitions "$BASE;PORTAL2_PUZZLEMAKER" [ $WIN32 || $OSXALL ]
$PreprocessorDefinitions "$BASE;USE_CEG" [ $WIN32 && !$NO_CEG ]
}
$Linker [$WIN32 && !$NO_CEG]
{
$AdditionalDependencies "$BASE $LIBCOMMON\ceglib.lib"
$FunctionOrder "$(IntDir)\functionorder.txt"
$References "Eliminate Unreferenced Data (/OPT:REF)"
$EnableCOMDATFolding "Remove Redundant COMDATs (/OPT:ICF)"
}
$PreBuildEvent [$WIN32 && !$NO_CEG]
{
$CommandLine "del $(IntDir)\*.temp" "\n" \
"del $(IntDir)\*.substitutions*" "\n" \
"if EXIST $OUTBINDIR\$(TargetFileName) for /f $QUOTEdelims=$QUOTE %%A in ('attrib $QUOTE$OUTBINDIR\$(TargetFileName)$QUOTE') do set valveTmpIsReadOnly=$QUOTE%%A$QUOTE" "\n" \
"set valveTmpIsReadOnlyLetter=%valveTmpIsReadOnly:~6,1%" "\n" \
"if $QUOTE%valveTmpIsReadOnlyLetter%$QUOTE==$QUOTER$QUOTE del /q $QUOTE$(TargetDir)$QUOTE$(TargetFileName)" "\n" \
"$CRCCHECK"
}
$PreLinkEvent [$WIN32 && !$NO_CEG]
{
$CommandLine "$(InputDir)\..\..\devtools\bin\ceg\mingle.exe -subst:$(ProjectDir)\..\..\lib\common\ceglib.lib -mingle:$(ProjectDir)\..\..\lib\common\ceglib.lib $(IntDir)\*.obj -log:$(IntDir)\mingle.log > $(IntDir)\functionorder.txt" "\n"
$Description "Mingle processes .obj files - changing Steamworks_TestSecret and Steamworks_SelfCheck references and generating function order file. Report problems to Neilk@valvesoftware.com"
}
$PostBuildEvent [$WIN32 && !$NO_CEG]
{
$CommandLine "if exist $OUTCEGDIR goto CegExists" "\n" \
"mkdir $OUTCEGDIR" "\n" \
":CegExists" "\n" \
"call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTCEGDIR\$(TargetFileName).original $SRCDIR" "\n" \
"call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTCEGDIR\$(TargetFileName).stripped $SRCDIR" "\n" \
"call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTCEGDIR\$(TargetFileName).strips $SRCDIR" "\n" \
"ECHO Generating CEG binaries..." "\n" \
"$(ProjectDir)\..\..\devtools\bin\ceg\drmpe -drm:$(TargetPath) -path:$(ProjectDir)\..\..\devtools\bin\ceg -drmout:$(TargetPath).ceg -output:$OUTCEGDIR -logfile:$(IntDir)\drmpe.log -drmclean" "\n" \
"copy $(TargetPath).ceg $(TargetPath)" "\n" \
"if exist $OUTBINDIR goto ValveStart" "\n" \
"mkdir $OUTBINDIR" "\n" \
":ValveStart" "\n" \
"call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetFileName) $SRCDIR" "\n" \
"copy $QUOTE$(TargetDir)$QUOTE$(TargetFileName) $OUTBINDIR\$(TargetFileName)" "\n" \
"if ERRORLEVEL 1 goto BuildEventFailed" "\n" \
"if exist $QUOTE$(TargetDir)$QUOTE$(TargetName).map copy $QUOTE$(TargetDir)$QUOTE$(TargetName).map $OUTBINDIR\$(TargetName).map" "\n" \
"call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetName).pdb $SRCDIR" "\n" \
"copy $QUOTE$(TargetDir)$QUOTE$(TargetName).pdb $OUTBINDIR\$(TargetName).pdb" "\n" \
"if ERRORLEVEL 1 goto BuildEventFailed" "\n" \
"goto BuildEventOK" "\n" \
":BuildEventFailed" "\n" \
"echo *** ERROR! PostBuildStep FAILED for $(ProjectName)! EXE or DLL is probably running. ***" "\n" \
"del /q $QUOTE$(TargetDir)$QUOTE$(TargetFileName)" "\n" \
"exit 1" "\n" \
":BuildEventOK" "\n" [!$UPLOAD_CEG]
$CommandLine "if exist $OUTCEGDIR goto CegExists" "\n" \
"mkdir $OUTCEGDIR" "\n" \
":CegExists" "\n" \
"call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTCEGDIR\$(TargetFileName).original $SRCDIR" "\n" \
"call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTCEGDIR\$(TargetFileName).stripped $SRCDIR" "\n" \
"call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTCEGDIR\$(TargetFileName).strips $SRCDIR" "\n" \
"ECHO Generating CEG binaries..." "\n" \
"$(ProjectDir)\..\..\devtools\bin\ceg\drmpe -path:$(ProjectDir)\..\..\devtools\bin\ceg -split:$(TargetPath) -logfile:$(IntDir)\drmpe.log" "\n" \
"if exist drmpe.cfg del /f drmpe.cfg" "\n" \
"ECHO Uploading CEG binaries..." "\n" \
"copy drmpe_beta.cfg drmpe.cfg" "\n" \
"$(ProjectDir)\..\..\devtools\bin\ceg\drmpe -path:$(ProjectDir)\..\..\devtools\bin\ceg -upload:620 -logfile:$(IntDir)\drmpe_beta_upload.log" "\n" \
"copy drmpe_public.cfg drmpe.cfg" "\n" \
"$(ProjectDir)\..\..\devtools\bin\ceg\drmpe -path:$(ProjectDir)\..\..\devtools\bin\ceg -upload:620 -logfile:$(IntDir)\drmpe_public_upload.log" "\n" \
"ECHO Moving CEG binaries to output folder..." "\n" \
"copy $(ProjectDir)\submission\$(TargetFileName).original $OUTCEGDIR\$(TargetFileName).original" "\n" \
"copy $(ProjectDir)\submission\$(TargetFileName).stripped $OUTCEGDIR\$(TargetFileName).stripped" "\n" \
"copy $(ProjectDir)\submission\$(TargetFileName).strips $OUTCEGDIR\$(TargetFileName).strips" "\n" \
"copy $OUTCEGDIR\$(TargetFileName).stripped $(TargetPath)" "\n" \
"if exist $OUTBINDIR goto ValveStart" "\n" \
"mkdir $OUTBINDIR" "\n" \
":ValveStart" "\n" \
"call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetFileName) $SRCDIR" "\n" \
"copy $QUOTE$(TargetDir)$QUOTE$(TargetFileName) $OUTBINDIR\$(TargetFileName)" "\n" \
"if ERRORLEVEL 1 goto BuildEventFailed" "\n" \
"if exist $QUOTE$(TargetDir)$QUOTE$(TargetName).map copy $QUOTE$(TargetDir)$QUOTE$(TargetName).map $OUTBINDIR\$(TargetName).map" "\n" \
"call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetName).pdb $SRCDIR" "\n" \
"copy $QUOTE$(TargetDir)$QUOTE$(TargetName).pdb $OUTBINDIR\$(TargetName).pdb" "\n" \
"if ERRORLEVEL 1 goto BuildEventFailed" "\n" \
"goto BuildEventOK" "\n" \
":BuildEventFailed" "\n" \
"echo *** ERROR! PostBuildStep FAILED for $(ProjectName)! EXE or DLL is probably running. ***" "\n" \
"del /q $QUOTE$(TargetDir)$QUOTE$(TargetFileName)" "\n" \
"exit 1" "\n" \
":BuildEventOK" "\n" [$UPLOAD_CEG]
$Description "CEG the file, copy resultant files to perforce locations, and upload to Steam if appropriate. Report problems with drmpe.exe to Neilk@valvesoftware.com"
}
}
$Project "Server (Portal 2)"
{
$Folder "Source Files"
{
$File "$SRCDIR\game\shared\predicted_viewmodel.cpp"
$File "$SRCDIR\game\shared\predicted_viewmodel.h"
$Folder "Workshop"
{
$File "$SRCDIR\game\shared\ugc_request_manager.cpp"
$File "$SRCDIR\game\shared\ugc_request_manager.h"
$File "$SRCDIR\game\shared\ugc_utils.cpp"
$File "$SRCDIR\game\shared\ugc_utils.h"
$File "$SRCDIR\game\shared\ugc_file_info_manager.cpp"
$File "$SRCDIR\game\shared\ugc_file_info_manager.h"
$File "$SRCDIR\game\shared\ugc_workshop_manager.cpp"
$File "$SRCDIR\game\shared\ugc_workshop_manager.h"
}
$Folder "Portal"
{
$File "portal\portal_client.cpp"
$File "$SRCDIR\game\shared\portal\portal_gamerules.cpp"
$File "$SRCDIR\game\shared\portal\portal_gamerules.h"
$File "$SRCDIR\game\shared\portal\portal_mp_gamerules.cpp"
$File "$SRCDIR\game\shared\portal\portal_mp_gamerules.h"
$Folder "Economy" [ ( $WIN32 || $OSXALL) && !$NO_STEAM ]
{
$File "$SRCDIR\game\shared\portal2\portal2_item_inventory.cpp"
$File "$SRCDIR\game\shared\portal2\portal2_item_inventory.h"
$File "$SRCDIR\game\shared\portal2\portal2_item_schema.cpp"
$File "$SRCDIR\game\shared\portal2\portal2_item_schema.h"
$File "$SRCDIR\game\shared\portal2\portal2_item_system.cpp"
$File "$SRCDIR\game\shared\portal2\portal2_item_system.h"
}
$Folder "Portal 2"
{
$File "portal2\baseprojectedentity.cpp"
$File "portal2\baseprojectedentity.h"
$File "portal2\baseprojector.cpp"
$File "portal2\baseprojector.h"
$File "portal2\projected_entity_ambient_sound_proxy.cpp"
$File "portal2\projected_entity_ambient_sound_proxy.h"
$File "portal2\env_portal_laser.cpp"
$File "portal2\env_portal_laser.h"
$File "portal2\func_placement_clip.cpp"
$File "portal2\info_coop_spawn.cpp"
$File "portal2\info_placement_helper.cpp"
$File "portal2\info_placement_helper.h"
$File "portal2\info_player_ping_detector.cpp"
$File "portal2\logic_timescale.cpp"
$File "portal2\logic_timescale.h"
$File "portal2\item_nugget.cpp"
$File "portal2\npc_hover_turret.cpp"
$File "portal2\point_laser_target.cpp"
$File "portal2\point_laser_target.h"
$File "portal2\point_futbol_shooter.cpp"
$File "portal2\portal_playerlocaldata.cpp"
$File "portal2\portal_playerlocaldata.h"
$File "portal2\projectedwallentity.h"
$File "portal2\projectedwallentity.cpp"
$File "portal2\prop_button.cpp"
$File "portal2\prop_floor_button.cpp"
$File "portal2\prop_linked_portal_door.cpp"
$File "portal2\propglassfutbol.cpp"
$File "portal2\propwallprojector.cpp"
$File "portal2\propwallprojector.h"
$File "portal2\prop_rockettripwire.h"
$File "portal2\prop_rockettripwire.cpp"
$File "portal2\prop_weightedcube.cpp"
$File "portal2\prop_weightedcube.h"
$File "portal2\prop_personality_sphere.cpp"
$File "portal2\func_portalled.cpp"
$File "portal2\func_portalled.h"
$File "portal2\npc_personality_core.cpp"
$File "portal2\prop_monster_box.cpp"
$File "portal2\prop_monster_box.h"
$File "portal2\indicator_panel.cpp"
$File "portal2\indicator_panel.h"
$File "portal2\trigger_catapult.cpp"
$File "portal2\trigger_catapult.h"
$File "portal2\trigger_playerteam.cpp"
$File "portal2\trigger_ping_detector.cpp"
$File "portal2\point_changelevel.cpp"
$File "portal2\pointsurvey.cpp"
$File "portal2\pointsurvey.h"
$File "portal2\trigger_tractorbeam.h"
$File "portal2\trigger_tractorbeam.cpp"
$File "portal2\prop_tractorbeam.h"
$File "portal2\prop_tractorbeam.cpp"
$File "portal2\rocketprojectile.cpp"
$File "portal2\rocketprojectile.h"
$File "portal2\level_placard_display.cpp"
$File "portal2\mp_lobby_screen.cpp"
$File "portal2\portal_race_checkpoint.cpp"
$File "portal2\prop_exploding_futbol.cpp"
$File "portal2\prop_exploding_futbol.h"
$File "portal2\portal_pointpush.h"
$File "portal2\portal_pointpush.cpp"
$File "portal2\fizzler_effects.h"
$File "portal2\fizzler_effects.cpp"
$File "portal2\hitbox_damaged_entity.h"
$File "portal2\npc_wheatley_boss.cpp"
$File "portal2\portal_mp_stats.h"
$File "portal2\portal_mp_stats.cpp"
$File "portal2\fizzler_multiorigin_sound_player.h"
$File "portal2\fizzler_multiorigin_sound_player.cpp"
$File "portal2\prop_hot_potato.cpp"
$File "portal2\portal_ui_controller.h"
$File "portal2\portal_ui_controller.cpp"
$File "portal2\portal_procedural_generator.h"
$File "portal2\portal_procedural_generator.cpp"
$File "portal2\challenge_mode_end_node.cpp"
$File "portal2\portal2_research_data_tracker.h"
$File "portal2\portal2_research_data_tracker.cpp"
$File "portal2\info_portal_score.cpp"
$File "$SRCDIR\game\shared\portal2\vs_game_shared.h"
$File "$SRCDIR\game\shared\portal2\hitbox_damaged_entity_shared.h"
$File "$SRCDIR\game\shared\portal2\hitbox_damaged_entity_shared.cpp"
$File "$SRCDIR\game\shared\portal2\portal_grabcontroller_shared.h"
$File "$SRCDIR\game\shared\portal2\portal_grabcontroller_shared.cpp"
$File "$SRCDIR\game\shared\portal2\player_pickup.h"
$File "$SRCDIR\game\shared\portal2\player_pickup.cpp"
$File "$SRCDIR\game\shared\portal2\portal_pointpush_shared.cpp"
$File "$SRCDIR\game\shared\portal2\weapon_item_base_shared.h"
$File "$SRCDIR\game\shared\portal2\weapon_item_base_shared.cpp"
$File "$SRCDIR\game\shared\portal2\weapon_promo_items_shared.h"
$File "$SRCDIR\game\shared\portal2\weapon_promo_items_shared.cpp"
$File "$SRCDIR\game\shared\portal\baseprojectedentity_shared.h"
$File "$SRCDIR\game\shared\portal\baseprojectedentity_shared.cpp"
$File "$SRCDIR\game\shared\portal\projectedwallentity_shared.cpp"
$File "$SRCDIR\game\shared\portal\trigger_tractorbeam_shared.h"
$File "$SRCDIR\game\shared\portal\trigger_tractorbeam_shared.cpp"
$File "$SRCDIR\game\shared\portal2\damage_database.h"
$File "$SRCDIR\game\shared\portal2\damage_database.cpp"
$File "$SRCDIR\game\shared\portal2\trigger_catapult_shared.cpp"
$File "$SRCDIR\game\server\portal2\prop_testchamber_door.cpp"
$File "$SRCDIR\game\server\portal2\prop_testchamber_door.h"
$File "$SRCDIR\game\shared\portal2\material_index_data_ops_proxy.h"
$File "$SRCDIR\game\shared\portal2\material_index_data_ops_proxy.cpp"
}
$Folder "Paint"
{
// shared
$File "$SRCDIR\game\shared\portal\paintable_entity.h"
$File "$SRCDIR\game\shared\portal\prop_paint_power_user.h"
$File "$SRCDIR\game\shared\portal\player_pickup_paint_power_user.h"
$File "$SRCDIR\game\shared\portal\paint_color_manager.h"
$File "$SRCDIR\game\shared\portal\paint_color_manager.cpp"
$File "$SRCDIR\game\shared\portal\paint_power_user_interface.h"
$File "$SRCDIR\game\shared\portal\paint_power_user_interface.cpp"
$File "$SRCDIR\game\shared\portal\paint_power_user.h"
$File "$SRCDIR\game\shared\portal\paint_power_info.h"
$File "$SRCDIR\game\shared\portal\paint_power_info.cpp"
$File "$SRCDIR\game\shared\portal\stick_partner.h"
$File "$SRCDIR\game\shared\portal\stick_partner.cpp"
$File "$SRCDIR\game\shared\portal\paint_blobs_shared.h"
$File "$SRCDIR\game\shared\portal\paint_blobs_shared.cpp"
$File "$SRCDIR\game\shared\portal\paint_stream_manager.h"
$File "$SRCDIR\game\shared\portal\paint_stream_manager.cpp"
$File "$SRCDIR\game\shared\portal\paint_sprayer_shared.h"
$File "$SRCDIR\game\shared\portal\paint_sprayer_shared.cpp"
$File "$SRCDIR\game\shared\portal\paint_cleanser_manager.h"
$File "$SRCDIR\game\shared\portal\paint_cleanser_manager.cpp"
$File "$SRCDIR\game\shared\portal\weapon_paintgun_shared.h"
$File "$SRCDIR\game\shared\portal\weapon_paintgun_shared.cpp"
$File "$SRCDIR\game\shared\portal\paint_stream_shared.h"
$File "$SRCDIR\game\shared\portal\paint_stream_shared.cpp"
$File "$SRCDIR\game\shared\portal2\paint_saverestore.h"
$File "$SRCDIR\game\shared\portal2\paint_saverestore.cpp"
// server
$File "portal2\paint_database.h"
$File "portal2\paint_database.cpp"
$File "portal2\paint_sprayer.h"
$File "portal2\paint_sprayer.cpp"
$File "portal2\trigger_paint_cleanser.h"
$File "portal2\trigger_paint_cleanser.cpp"
$File "portal2\weapon_paintgun.h"
$File "portal2\weapon_paintgun.cpp"
$File "portal2\paint_swap_guns.h"
$File "portal2\paint_swap_guns.cpp"
$File "portal2\item_paint_power_pickup.cpp"
$File "portal2\prop_paint_bomb.h"
$File "portal2\prop_paint_bomb.cpp"
$File "portal2\paint_bot_temp.h"
$File "portal2\paint_bot_temp.cpp"
$File "portal2\prop_physics_paintable.cpp"
$File "portal2\cpaintblob.h"
$File "portal2\cpaintblob.cpp"
$File "portal2\paint_stream.h"
$File "portal2\paint_stream.cpp"
$File "portal2\paint_sphere.h"
$File "portal2\paint_sphere.cpp"
$Folder "Additional Public Header Files"
{
$File "$SRCDIR\public\meshutils\mesh.h"
}
$Folder "Additional Link Libraries"
{
$Lib "$LIBPUBLIC\meshutils"
$Lib "$LIBCOMMON\blobulator" [$WIN32||$POSIX]
$Lib "$LIBCOMMON\fileextd" [$WIN32 && !$NO_CEG]
}
}
}
$Folder "Protobuf Files" [ ( $WIN32 || $OSXALL ) && !$NO_STEAM ]
{
$DynamicFile "$GENERATED_PROTO_DIR\steammessages.pb.cc"
{
$Configuration
{
$Compiler
{
$Create/UsePrecompiledHeader "Not Using Precompiled Headers"
}
}
}
}
}
}