From 9528571ea365629fb2ad38783b5aca2051d4bf0b Mon Sep 17 00:00:00 2001 From: "Jake.Stine" Date: Sat, 21 Mar 2009 04:01:44 +0000 Subject: [PATCH] Buildsystem improvements - Added two new property sheets for Incremental Linking and Global Linking. Incremental Linking is fast and allows for Edit and Continue debugging (debug/devel builds), Global Linking is for Release builds. Applied new property sheets to Pcsx2, SPU2-X, ZeroStuff, and NULLs. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@829 96395faa-99c1-11dd-bbfe-3dabce05a288 --- 3rdparty/SoundTouch/SoundTouch.vcproj | 7 ++-- 3rdparty/bzip2/bzip2.vcproj | 6 ++-- 3rdparty/w32pthreads/pthreads_2008.vcproj | 9 ++--- 3rdparty/zlib/zlib.vcproj | 6 ++-- common/vsprops/3rdpartyDeps.vsprops | 3 +- common/vsprops/BaseProperties.vsprops | 1 - common/vsprops/GlobalLinking.vsprops | 26 ++++++++++++++ common/vsprops/IncrementalLinking.vsprops | 21 +++++++++++ common/vsprops/pthreads.vsprops | 5 +++ common/vsprops/readme.txt | 30 ++++++++++++++++ pcsx2/windows/VCprojects/pcsx2_2008.vcproj | 10 +++--- .../windows/VCprojects/vsprops/common.vsprops | 3 -- plugins/CDVDnull/Src/CDVDnull_vs2008.vcproj | 2 +- plugins/FWnull/Windows/FWnull_vc2008.vcproj | 21 ++--------- plugins/USBnull/Windows/USBnull_vc2008.vcproj | 21 ++--------- plugins/dev9null/src/DEV9null_vc2008.vcproj | 16 ++------- .../spu2-x/src/Windows/Spu2-X_vs2008.vcproj | 36 +++---------------- plugins/zerogs/dx/Windows/zerogs_2008.vcproj | 22 +++--------- plugins/zeropad/Windows/ZeroPAD_2008.vcproj | 22 ++++-------- plugins/zerospu2/Windows/ZeroSPU2_2008.vcproj | 25 +++---------- 20 files changed, 126 insertions(+), 166 deletions(-) create mode 100644 common/vsprops/GlobalLinking.vsprops create mode 100644 common/vsprops/IncrementalLinking.vsprops create mode 100644 common/vsprops/readme.txt diff --git a/3rdparty/SoundTouch/SoundTouch.vcproj b/3rdparty/SoundTouch/SoundTouch.vcproj index 08ae7e479d..b1cd6fa470 100644 --- a/3rdparty/SoundTouch/SoundTouch.vcproj +++ b/3rdparty/SoundTouch/SoundTouch.vcproj @@ -18,7 +18,7 @@ @@ -158,7 +157,7 @@ Optimization="2" EnableIntrinsicFunctions="true" RuntimeLibrary="0" - EnableFunctionLevelLinking="true" + BufferSecurityCheck="false" WarningLevel="3" DebugInformationFormat="3" /> diff --git a/3rdparty/bzip2/bzip2.vcproj b/3rdparty/bzip2/bzip2.vcproj index 5d36273f2a..b5734f234a 100644 --- a/3rdparty/bzip2/bzip2.vcproj +++ b/3rdparty/bzip2/bzip2.vcproj @@ -18,7 +18,7 @@ @@ -170,7 +169,6 @@ StringPooling="true" RuntimeLibrary="0" BufferSecurityCheck="false" - EnableFunctionLevelLinking="true" WarningLevel="3" DebugInformationFormat="3" /> diff --git a/3rdparty/w32pthreads/pthreads_2008.vcproj b/3rdparty/w32pthreads/pthreads_2008.vcproj index e9058a0ec6..5459698111 100644 --- a/3rdparty/w32pthreads/pthreads_2008.vcproj +++ b/3rdparty/w32pthreads/pthreads_2008.vcproj @@ -19,7 +19,7 @@ @@ -189,9 +186,7 @@ RuntimeLibrary="0" StructMemberAlignment="5" BufferSecurityCheck="false" - EnableFunctionLevelLinking="false" UsePrecompiledHeader="0" - BrowseInformation="1" WarningLevel="3" DebugInformationFormat="3" CompileAs="1" diff --git a/3rdparty/zlib/zlib.vcproj b/3rdparty/zlib/zlib.vcproj index aaf6e24de5..3701570d86 100644 --- a/3rdparty/zlib/zlib.vcproj +++ b/3rdparty/zlib/zlib.vcproj @@ -18,7 +18,7 @@ @@ -167,6 +166,7 @@ WholeProgramOptimization="false" StringPooling="true" RuntimeLibrary="0" + BufferSecurityCheck="false" WarningLevel="3" DebugInformationFormat="3" /> diff --git a/common/vsprops/3rdpartyDeps.vsprops b/common/vsprops/3rdpartyDeps.vsprops index 6973130413..30fcba75b8 100644 --- a/common/vsprops/3rdpartyDeps.vsprops +++ b/common/vsprops/3rdpartyDeps.vsprops @@ -6,8 +6,7 @@ > diff --git a/common/vsprops/GlobalLinking.vsprops b/common/vsprops/GlobalLinking.vsprops new file mode 100644 index 0000000000..5bf8cd3a63 --- /dev/null +++ b/common/vsprops/GlobalLinking.vsprops @@ -0,0 +1,26 @@ + + + + + diff --git a/common/vsprops/IncrementalLinking.vsprops b/common/vsprops/IncrementalLinking.vsprops new file mode 100644 index 0000000000..07143d4632 --- /dev/null +++ b/common/vsprops/IncrementalLinking.vsprops @@ -0,0 +1,21 @@ + + + + + diff --git a/common/vsprops/pthreads.vsprops b/common/vsprops/pthreads.vsprops index 0c9b8f93cb..a29230421c 100644 --- a/common/vsprops/pthreads.vsprops +++ b/common/vsprops/pthreads.vsprops @@ -5,6 +5,11 @@ Name="w32pthreads" > + diff --git a/common/vsprops/readme.txt b/common/vsprops/readme.txt new file mode 100644 index 0000000000..31b602561f --- /dev/null +++ b/common/vsprops/readme.txt @@ -0,0 +1,30 @@ + +Decriptions of Provided .vsprops Sheets +--------------------------------------- + + * plugin_svnroot - Provides a set of semi-standard user macros for plugins that + conform to an expected folder layout. Each user macro can be optionally overridden + by the plugin using its own property sheet, if needed. + + See the contents of plugin_svnroot for explanations of the User Macros used by all + other properties sheets lested below. + + + * 3rdPartyDeps - Adds the /deps folder to the linker search path. Does not add + any actual dependencies. You must add those manually. + + * pthreads - Adds the w32pthreads library to your project, along with the expected + compiler defines for correctly compiling and linking pthreads. + + * BaseProperties - Sets up standard Output and Intermediate directories, warning levels, + struct alignment, and other settings required for Pcsx2 and its libs to link in + a workable fashion. Adds standard preprocessor defines for: + __WIN32__;WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE + + * IncrementalLinking - Enables incremental linking, for use in devel/debug modes only. + Incremental linking force-disables Whole Program Optimization, but builds the result + .exe/.dll much quicker usually. + + * GlobalLinking - Enables full support for Whole Program Optimization, and force- + disables any conflicting incremental link settings. + \ No newline at end of file diff --git a/pcsx2/windows/VCprojects/pcsx2_2008.vcproj b/pcsx2/windows/VCprojects/pcsx2_2008.vcproj index a88aca38bb..7d5ea1a0b1 100644 --- a/pcsx2/windows/VCprojects/pcsx2_2008.vcproj +++ b/pcsx2/windows/VCprojects/pcsx2_2008.vcproj @@ -20,8 +20,9 @@ diff --git a/plugins/FWnull/Windows/FWnull_vc2008.vcproj b/plugins/FWnull/Windows/FWnull_vc2008.vcproj index 61289dd1d7..9f1d86a290 100644 --- a/plugins/FWnull/Windows/FWnull_vc2008.vcproj +++ b/plugins/FWnull/Windows/FWnull_vc2008.vcproj @@ -19,7 +19,7 @@ @@ -113,13 +106,10 @@ @@ -113,13 +106,10 @@ @@ -115,11 +110,8 @@ Optimization="2" InlineFunctionExpansion="1" OmitFramePointers="true" - StringPooling="true" RuntimeLibrary="0" UsePrecompiledHeader="0" - WarningLevel="3" - DebugInformationFormat="3" /> @@ -208,7 +193,7 @@ @@ -370,9 +346,7 @@ OutputFile="$(OutDir)\$(ProjectName)-dbg.dll" LinkIncremental="2" ModuleDefinitionFile=".\Spu2-X.def" - GenerateDebugInformation="true" RandomizedBaseAddress="1" - DataExecutionPrevention="0" SupportUnloadOfDelayLoadedDLL="false" ImportLibrary=".\Debug/spu2-x.lib" TargetMachine="1" diff --git a/plugins/zerogs/dx/Windows/zerogs_2008.vcproj b/plugins/zerogs/dx/Windows/zerogs_2008.vcproj index 586f9aa94e..06357c714d 100644 --- a/plugins/zerogs/dx/Windows/zerogs_2008.vcproj +++ b/plugins/zerogs/dx/Windows/zerogs_2008.vcproj @@ -18,11 +18,11 @@ @@ -122,8 +120,6 @@ PreprocessorDefinitions="NDEBUG;_USRDLL;ZEROPAD_EXPORTS" RuntimeLibrary="0" UsePrecompiledHeader="0" - WarningLevel="3" - DebugInformationFormat="3" /> @@ -170,9 +163,9 @@ diff --git a/plugins/zerospu2/Windows/ZeroSPU2_2008.vcproj b/plugins/zerospu2/Windows/ZeroSPU2_2008.vcproj index 65fff9e082..4d9c45b67b 100644 --- a/plugins/zerospu2/Windows/ZeroSPU2_2008.vcproj +++ b/plugins/zerospu2/Windows/ZeroSPU2_2008.vcproj @@ -19,7 +19,7 @@ @@ -128,8 +124,6 @@ RuntimeLibrary="0" BufferSecurityCheck="false" UsePrecompiledHeader="0" - WarningLevel="3" - DebugInformationFormat="3" />