Commit Graph

128 Commits

Author SHA1 Message Date
np511 f55f3b94a1 Removes LTO warnings and sets -flto=number of cores. 2017-01-03 15:45:24 -05:00
Jonathan Li afe86a5f66 cmake: Only use -fprofile-dir when PGO is used
It stops clang from warning that '-fprofile-dir' is not supported.
2016-12-10 21:51:21 +00:00
np511 b9d57843eb Adds PGO support. Profile data is stored in a folder called profile
in the top-level source directory. The build folder should NOT be
transferred between computers when PGO is used, though I don't
see why anyone would be doing so anyway.

Also adds support for PGO and LTO to the build.sh script.
2016-12-10 11:26:16 +01:00
Gregory Hainaut 0453e5cad8 cmake: improve vtune integration
Year is included in the path so search in order 2018/2017/2016

Not ideal but at least all logic is inside the FindVtune module
2016-12-09 09:28:19 +01:00
np511 46fb6e9b48 Fixes LTO flags. Disables the use of the "gold" linker as a few plugins fail to compile with "gold" and "gold" is not used outside of LTO currently anyway. 2016-11-22 16:10:25 -05:00
Gregory Hainaut dc85989553 cmake: only enable SSE2 on x64 build
SW will generate AVX code anyway
2016-11-20 23:27:13 +01:00
Gregory Hainaut d58e43edbf gsdx linux: plug vtune as Windows 2016-11-19 17:00:32 +01:00
Gregory Hainaut 8b4da69861 cmake: always define avx on 64 bits build 2016-11-19 17:00:32 +01:00
Gregory Hainaut 4ebe739b44 pcsx2: remove various unused variable
Warning can be reenabled on GCC

A warning isn't fixed as potentially the code is wrong
../pcsx2/gui/MemoryCardFolder.cpp: In member function ‘void FolderMemoryCard::FlushFileEntries(u32, u32, const wxString&, MemoryCardFileMetadataReference*)’:
../pcsx2/gui/MemoryCardFolder.cpp:1027:10: warning: unused variable ‘filenameCleaned’ [-Wunused-variable]
     bool filenameCleaned = FileAccessHelper::CleanMemcardFilename( cleanName );
2016-09-10 00:09:05 +02:00
Gregory Hainaut 8fe65ec371 cmake: add -Wextra warning on GCC
Add 3 new warnings (first one must be fixed I think)

pcsx2/gui/MessageBoxes.cpp: In copy constructor ‘BaseMessageBoxEvent::BaseMessageBoxEvent(const BaseMessageBoxEvent&)’:
pcsx2/gui/MessageBoxes.cpp:62:1: warning: base class ‘class pxActionEvent’ should be explicitly initialized in the copy constructor [-Wextra]
 BaseMessageBoxEvent::BaseMessageBoxEvent( const BaseMessageBoxEvent& event )

plugins/GSdx/GSPng.cpp: In function ‘bool GSPng::SaveFile(const string&, GSPng::Format, uint8*, uint8*, int, int, int, int, bool, bool)’:
/home/gregory/playstation/emulateur/pcsx2_merge/plugins/GSdx/GSPng.cpp:64:14: warning: variable ‘success’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Wclobbered]
         bool success = false;
              ^
plugins/GSdx/GSPng.cpp:44:58: warning: argument ‘image’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Wclobbered]
     bool SaveFile(const string& file, Format fmt, uint8* image, uint8* row,
2016-08-12 19:30:14 +02:00
Gregory Hainaut 11cdb070c0 cmake: use only sse2 flag for ICC
Default is pentium4
2016-07-29 15:00:52 +02:00
Gregory Hainaut 64e8e02f54 cmake: add Intel's ICC compiler support
Full of compilations errors and warnings
2016-07-28 10:36:40 +02:00
František Zatloukal 2c74ff1e54 Degrade GTK3 Fatal Error to Warning 2016-07-13 02:08:14 +02:00
Gregory Hainaut d33bdc7da1 cmake: drop the now useless -no-integrated-as option
close #303
2016-05-26 19:40:02 +02:00
Jonathan Li d2e5c32c83 cmake: Disable SuperVU for non-Linux OS
Doesn't work on FreeBSD, would be annoying to port.
2016-05-21 23:26:19 +01:00
Jonathan Li e23b6e3484 cmake: Setup FreeBSD 2016-05-20 22:31:30 +01:00
Gregory Hainaut 156f1b70c3 cmake: disable avx2+ on debug build
Gdb (7.7.1) doesn't support it properly.
2016-05-17 19:33:12 +02:00
Gregory Hainaut 1208dbe8c7 cmake: add an option to build the new legacy GSdx plugin
+ bump the new one to 1.1.0 (to ease reporting)
2016-04-07 21:46:42 +02:00
Gregory Hainaut ee08a6fc53 Merge pull request #1270 from PCSX2/monolithic-build
Monolithic build
2016-04-03 11:20:07 +02:00
Gregory Hainaut eec3d02737 cmake: fix prof build
It was a dev build actually...
2016-04-02 00:56:41 +02:00
Gregory Hainaut 1bd8113f66 cmake: add various option to disable plugin support 2016-03-30 10:19:54 +02:00
orbea 72699bc988 MAN_DIR added 2016-03-20 23:02:59 -07:00
Gregory Hainaut 1db5e0c0bf cmake: create a prof build type
It is the same as a release build but with the debug symbol and the
frame pointer.
2016-02-21 16:24:47 +01:00
Gregory Hainaut a66c911fed cmake: factorize debug/dev define 2016-02-21 16:17:10 +01:00
Gregory Hainaut 8987ca61a1 cmake: Og for debug build + extra debug information (ggdb3)
GSdx is utterly slow on debug build. -Og enable a couple of debugger-friendly optimization.
2016-02-21 16:05:00 +01:00
Gregory Hainaut 253e801f51 linux: enable float operation on SSE unit
Potentially faster and requires to flush denormal float to 0
2016-02-09 18:24:12 +01:00
Gregory Hainaut 3329bc1748 linux: drop wx2.8 support. Only 3.0 is supported
Close #1152
2016-01-30 12:48:35 +01:00
Gregory Hainaut dd097fe361 cmake: clang, please compile my code quietly 2016-01-09 22:57:43 +01:00
Gregory Hainaut 74db92bee4 Merge pull request #978 from juhalaukkanen/apple_osx_master_merge
OSX 32bit build
2016-01-08 20:09:37 +01:00
Juha Laukkanen b56197d30b Darwin/OSX - cmake which enables apple build and hopefully won't break Linux build.
OSX compilation fix: librt & not wxgl (yet).
2015-12-02 05:00:55 +02:00
Gregory Hainaut 3cefa54789 linux build: enable mfxsr option
Honestly GCC could have enabled it with sse.

Fix #1012
2015-12-01 18:52:59 +01:00
Gregory Hainaut a46204ef9e cmake: add a USE_LTO option
Note: nothing work so don't use it.
2015-11-20 17:36:03 +01:00
Gregory Hainaut 837b62d5e8 cmake: add an option to control PGO 2015-11-14 09:48:53 +01:00
Gregory Hainaut 82520555b3 cmake: reduce warning level on strict-overflow
It is quite verbose
2015-11-02 07:44:11 +01:00
Gregory Hainaut b07621f1a1 cmake: drop ASAN workaround
It was used to mask stack issues. It seems to be fixed with previous commits.

I managed to boot a game without any crash ^^
2015-10-23 22:17:14 +02:00
Gregory Hainaut ffdc914c71 linux: SDL2
For older distribution you can still use SDL1.2

./build.sh ... --sdl12 ...
or
cmake ... -DSDL2_API=FALSE ...

Note: there is a hard dependency between WxWidget and SDL. If Wx is linked against
SDL1.2, you must use SDL1.2. Crashes are expected otherwise.
2015-10-21 22:35:38 +02:00
Jonathan Li 2c2c61920e cmake: Don't add -std=c++11 to CMAKE_C_FLAGS
Fixes a cmake detection problem when compiling with clang (3.7.0 in my
case). clang outputs the error "Invalid argument '-std=c++11' not allowed
with 'C/ObjC'", which causes lzma, Xext and other things to be
considered "not found".
2015-09-21 20:45:50 +01:00
Miguel A. Colón Vélez ddc9c394a2 Don't use O2 in the Debug Build. 2015-08-08 22:10:40 -04:00
nE0sIghT e1272dc2f9 Use global compiler optimization flags instead of defining them for every plugin/binary 2015-08-08 16:25:17 +03:00
Gregory Hainaut bf7ae3a53e Merge pull request #744 from micove/Cmake_Options
Linux: Add Cmake Options
2015-08-08 09:37:53 +02:00
Gregory Hainaut 99d81868fc cmake: use -ggdb instead of -g
Enable all gdb extensions for debug
2015-08-08 09:16:20 +02:00
Miguel A. Colón Vélez 0d344605e1 Use glibc for strcmp and memcmp.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59048
.
The bug is 5+ years old with no fix in sight.
Mesa did some test that showed 50% improvement and enabled it by default.
http://lists.freedesktop.org/archives/mesa-dev/2011-June/009078.html
.
It could also be coded but glibc version has mmx, sse2, and sse4 support.
2015-08-07 05:04:19 -04:00
Miguel A. Colón Vélez 1db74162e6 Update the gcc version requirements.
It no longer builds with 4.6 and 4.7 since it requires features from 4.8.
Start using c++11 since we no longer support 4.5 & 4.6.
2015-08-07 05:03:37 -04:00
Miguel A. Colón Vélez 8a87981d94 Add options to not install optional files. 2015-08-07 02:39:39 -04:00
Miguel A. Colón Vélez 41cc153bff Only check for the needed dependencies.
Helpful for dropping dependencies package dependencies.
- Git only needed if there is a .git folder
- bzip2 only needed by CDVDiso
- CG/GLEW was for zerogs and ZZogl
- jpeg was for ZZogl
.
I also added that EGL_API is also for GSdx in option comment.
2015-07-27 18:54:04 -04:00
Miguel A. Colón Vélez 83a4b37bcf Add an option to disable the inclusion of the build date.
Debian has a goal to make reproducible builds therefore make it an
option instead of distro specific.
.
I added an "OR openSusE" to not "break" the old openSUSE behavior but ideally
they should just use -DDISABLE_BUILD_DATE=TRUE instead.
.
The old -DopenSUSE is not used for anything else so I removed it.
2015-07-27 14:00:47 -04:00
Gregory Hainaut 8d6d8067fd linux: rename everything. It is PCSX2 is uppercase letter
Sorry for all maintainers that will need to upgrade their packages
2015-05-18 10:04:23 +02:00
Gregory Hainaut 335695bd0e purge GLES from GSdx !
mobile will use vulkan (or any new API) anyway
2015-05-01 20:02:17 +02:00
Gregory Hainaut c5e6013d75 Merge pull request #419 from PCSX2/64-bit-crashes-fix
64 bit crashes fix
2015-01-17 12:08:24 +01:00
Gregory Hainaut b03162747c sVU: add an option to remove it
The goal is to reduce the burden for new architecture port.

Patch is mostly inspired from 3kinox initial patch. The diff are
*/ used ifdef instead of raw removal
*/ gui don't rely on UseMicroVU* option
*/ completely remove sVU_micro.* file
2015-01-06 23:45:43 +01:00