From f201aac946c669f87c2fa3e1040aa89c9c1bf7c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20A=2E=20Col=C3=B3n=20V=C3=A9lez?= Date: Thu, 17 Sep 2015 22:29:09 -0400 Subject: [PATCH] Simplify BuildBot and add a helper script for compilation. --- .gitignore | 16 +++++++----- bin/.gitignore | 6 ----- build.cmd | 24 ----------------- buildbot.xml | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++ clean_msvc.cmd | 29 --------------------- mscompile.cmd | 65 +++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 146 insertions(+), 65 deletions(-) delete mode 100644 bin/.gitignore delete mode 100644 build.cmd create mode 100644 buildbot.xml delete mode 100644 clean_msvc.cmd create mode 100644 mscompile.cmd diff --git a/.gitignore b/.gitignore index 90b47402da..853bb0300a 100644 --- a/.gitignore +++ b/.gitignore @@ -12,11 +12,12 @@ *.dsw *.bsc *.aps +*.exe *.trace -*.asm *.dump +*.asm !/pcsx2/IPU/yuv2rgb.asm !/pcsx2/x86/ix86-32/aVif_proc-32.asm !/plugins/CDVDpeops/i386.asm @@ -51,11 +52,15 @@ Devel oprofile_data/ -/BuildLog.htm -/UpgradeLog.XML -/UpgradeLog2.XML -/UpgradeLog3.XML +# Visual Studio upgrades +/Backup* +/UpgradeLog*.htm +/bin/**/*.dll +/bin/**/*.exp +/bin/**/*.ilk +/bin/**/*.lib +/bin/**/*.pdb /bin/PCSX2 /bin/*ReplayLoader /bin/bios @@ -95,7 +100,6 @@ oprofile_data/ /nsis/svnrev_spu2x.nsh /nsis/svnrev_zerogs.nsh /nsis/svnrev_zerospu2.nsh -/nsis/*.exe /pcsx2/gui/Resources/*.h !/pcsx2/gui/Resources/EmbeddedImage.h /plugins/CDVDolio/Template diff --git a/bin/.gitignore b/bin/.gitignore deleted file mode 100644 index a9ecf7ed18..0000000000 --- a/bin/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -*.dll -*.exe -*.pdb -*.ilk -*.exp -*.lib diff --git a/build.cmd b/build.cmd deleted file mode 100644 index b048972175..0000000000 --- a/build.cmd +++ /dev/null @@ -1,24 +0,0 @@ -REM PCSX2 - PS2 Emulator for PCs -REM Copyright (C) 2002-2011 PCSX2 Dev Team -REM -REM PCSX2 is free software: you can redistribute it and/or modify it under the terms -REM of the GNU Lesser General Public License as published by the Free Software Found- -REM ation, either version 3 of the License, or (at your option) any later version. -REM -REM PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -REM without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -REM PURPOSE. See the GNU General Public License for more details. -REM -REM You should have received a copy of the GNU General Public License along with PCSX2. -REM If not, see . -REM -REM Ensure use Visual Studio Developer Command Prompt -REM Example, into Solution Folder (pcsx2\) -REM build.cmd "Debug" or -REM build.cmd "Release" or -REM build.cmd "Release AVX" - -@echo off -SET Configuration=%1 -call clean_msvc.cmd -MSBuild.exe PCSX2_suite.sln /m /p:BuildInParallel=true /p:CreateHardLinksForCopyLocalIfPossible=true /t:Clean,Rebuild /p:Configuration=%Configuration% diff --git a/buildbot.xml b/buildbot.xml new file mode 100644 index 0000000000..3503bcdcc5 --- /dev/null +++ b/buildbot.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + true + BuildInParallel=True; + CreateHardLinksForCopyFilesToOutputDirectoryIfPossible=$(CreateHardLinksIfPossible); + CreateHardLinksForCopyAdditionalFilesIfPossible=$(CreateHardLinksIfPossible); + CreateHardLinksForCopyLocalIfPossible=$(CreateHardLinksIfPossible); + CreateHardLinksForPublishFilesIfPossible=$(CreateHardLinksIfPossible); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Debug + + + + + + + + Devel + + + + + + + + + Release + + + + + + diff --git a/clean_msvc.cmd b/clean_msvc.cmd deleted file mode 100644 index 4b66ac2822..0000000000 --- a/clean_msvc.cmd +++ /dev/null @@ -1,29 +0,0 @@ -:: clean_msvc.cmd -:: -:: This batch file cleans up some files that MSVC's Clean/Rebuild commands tend to miss. In -:: particular the .ilk and .pdb files are known to get corrupted and cause all sorts of odd linker -:: linker errors, and the .ncb files can also get corrupted and cause intellisense breakges. -:: -:: Safety: This tool should be pretty safe. It uses the command path to perform the deletion, -:: instead of relying on the CWD (which can sometimes fail to be set when working with UNCs across -:: network shares). Furthermore, none of the files it deletes are important. That is, they're -:: all files MSVC just rebuilds automatically next time you run/recompile. The one minor -:: exception is *.pdb, since windows and a lot of developer tools include PDB sets to assist in -:: application debugging (however these files are by no means required by any software). - -del /s "%~dp0\*.ncb" -del /s "%~dp0\*.obj" -del /s "%~dp0\bin\*.ilk" -del /s "%~dp0\*.idb" -del /s "%~dp0\*.bsc" -del /s "%~dp0\*.sbr" -del /s "%~dp0\*.pch" -del /s "%~dp0\*.pdb" - -del /s /q "%~dp0\deps" - -:: These two can't be used currently because they match unwanted 4+ letter extensions, such -:: as *.resx and *.tmpl ... wow, stupid. >_< - -:: del /s "%~dp0\*.tmp" -:: del /s "%~dp0\*.res" diff --git a/mscompile.cmd b/mscompile.cmd new file mode 100644 index 0000000000..ec5d4f2967 --- /dev/null +++ b/mscompile.cmd @@ -0,0 +1,65 @@ +@ECHO OFF +REM PCSX2 - PS2 Emulator for PCs +REM Copyright (C) 2002-2015 PCSX2 Dev Team +REM +REM PCSX2 is free software: you can redistribute it and/or modify it under the terms +REM of the GNU Lesser General Public License as published by the Free Software Found- +REM ation, either version 3 of the License, or (at your option) any later version. +REM +REM PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; +REM without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +REM PURPOSE. See the GNU General Public License for more details. +REM +REM You should have received a copy of the GNU General Public License along with PCSX2. +REM If not, see . + +CLS +ECHO Select your Visual Studio version: +ECHO 1. Microsoft Visual Studio 2013 (default) +ECHO 2. Microsoft Visual Studio 2015 +ECHO Q. Exit the script. +CHOICE /C 12Q /T 10 /D 1 /M "Visual Studio version: " +IF ERRORLEVEL 3 GOTO END +IF ERRORLEVEL 2 SET "VCVARPATH=%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" +IF ERRORLEVEL 1 SET "VCVARPATH=%VS120COMNTOOLS%..\..\VC\vcvarsall.bat" + +ECHO. +ECHO Select the desired configuration: +ECHO 1. Release 32bit (default) +ECHO 2. Devel 32bit +ECHO 3. Debug 32bit +ECHO 4. Release 64bit (WIP) +ECHO 5. Devel 64bit (WIP) +ECHO 6. Debug 64bit (WIP) +ECHO Q. Exit the script. +CHOICE /C 123456Q /T 10 /D 1 /M "Configuration: " +IF ERRORLEVEL 7 GOTO END +IF ERRORLEVEL 6 SET "SELARCH=amd64" && SET "SELCONF=DebugAll" +IF ERRORLEVEL 5 SET "SELARCH=amd64" && SET "SELCONF=DevelAll" +IF ERRORLEVEL 4 SET "SELARCH=amd64" && SET "SELCONF=ReleaseAll" +IF ERRORLEVEL 3 SET "SELARCH=x86" && SET "SELCONF=DebugAll" +IF ERRORLEVEL 2 SET "SELARCH=x86" && SET "SELCONF=DevelAll" +IF ERRORLEVEL 1 SET "SELARCH=x86" && SET "SELCONF=ReleaseAll" + +IF EXIST "%VCVARPATH%" (call "%VCVARPATH%" %SELARCH%) ELSE GOTO ERRORVS +cl > NUL 2>&1 +if %ERRORLEVEL% NEQ 0 GOTO ERRORVS + +ECHO. +ECHO Using: +cl 2>&1 | findstr "Version" +ECHO. + +SET "LOGOPTIONS=/v:m /fl1 /fl2 /flp1:logfile="%~dpn0-%SELARCH%-%SELCONF%-errors.log";errorsonly /flp2:logfile="%~dpn0-%SELARCH%-%SELCONF%-warnings.log";warningsonly" +msbuild "%~dp0\buildbot.xml" /m %LOGOPTIONS% /t:%SELCONF% +GOTO END + +:ERRORVS +ECHO. +ECHO The selected Visual Studio version was not found. + +:END +ECHO. +ECHO Bye! +ECHO. +timeout /t 10