arcum42
5c60f66890
Fix various cmake issues ( #3352 )
...
* Change the minimum cmake version to a range. Uses the new policies of the newer versions if you are on them, taking care of CMP0054.
* Grab a newer version of FindHarfBuzz.cmake from Webkit that fixes the cmake warning the earlier one was giving.
* Add in -ftime-trace as an option on build.sh.
* Precompile PrecompiledHeader.h if you are using cmake 3.16+ and GCC. (Currently disabled on clang due to compilation issues.)
* Check if target_precompile_headers exists rather than by version.
Co-authored-by: scribam <scribam@users.noreply.github.com>
2020-05-07 08:32:34 -07:00
orbea
84d090e2fd
spu2-x: Make portaudio an optional dependency. ( #3110 )
...
* spu2-x: Make portaudio an optional dependency.
v2: Fix crash in the audio settings with SDL1 and without portaudio.
* cmake: Add PORTAUDIO_API to disable portaudio support.
2020-05-07 08:31:48 -07:00
Jonathan Li
fa096cfce0
cmake: Change FreeBSD wx-config path
2019-10-07 01:39:32 +01:00
orbea
d92e4343e3
cmake: Fix build with cmake-3.5.2. ( #3117 )
2019-09-21 18:00:52 -07:00
Hamish
e2d8992310
GSdx: Enable OpenCL on Linux ( #3099 )
2019-09-11 17:59:33 -07:00
arcum42
014753894a
Get rid of extremely spammy warnings when compiling as debug.
2019-08-24 18:47:49 -07:00
arcum42
d048baf503
pango: reenable harfbuzz check, but don't fail if it isn't there. Revisit once travis builds have pango 1.44 in them.
2019-08-24 15:50:02 -07:00
arcum42
74e6c437f2
Add option not to build dev9ghzdrk.
2019-08-23 15:31:46 -07:00
arcum42
7679dcf469
clang: Get rid of a number of warnings. I don't need pages of warnings that things clearly marked in the code as deprecated are deprecated, and I doubt I'll be worrying about those overloaded functions any time soon.
2019-08-23 14:40:33 -07:00
arcum42
33571dda42
Comment out the fix for the moment, since Travis hates me.
2019-08-17 21:23:18 -07:00
arcum42
0db14df070
One more try here. Make harfbuzz optional instead of required for the moment, and worry about travis once it's on distributions with pango 1.44+.
2019-08-17 21:04:46 -07:00
arcum42
eda1ab44ac
Add harfbuzz as a dependency to play nice with pango 1.44+.
2019-08-17 20:33:14 -07:00
arcum42
fc35de02f2
build.sh and cmake plugin code cleanup ( #2953 )
...
* Refactor build.sh. Restructure finding plugins. Remove legacy code. Add --clean-plugins option. Document --no-trans option.
Don't do setcap if dev9ghzdrk isn't being built. List dependencies if they are missing. Remove code related to zerospu2, and misc plugins we aren't building. Minor message changes.
2019-07-04 19:49:11 -07:00
Shanoah Alkire
43981f5981
Add warning on gcc 9.
2019-06-18 21:24:30 -07:00
Alessandro Vetere
61b984a6c1
BuildParameters.cmake: fix typo
2019-06-18 21:28:57 +02:00
Christian Kenny
3296ade983
Plugins: Remove PADSSSPSX and xpad.
2019-03-11 23:34:47 +01:00
arcum42
c58acd1105
Remove CDVDPeops and PeopsSPU2. ( #2792 )
2019-01-03 19:55:03 -08:00
lightningterror
062d141cf1
cmake: Re add the -mxsave flag to compiler flags.
...
The warnings issue should be resolved now thanks to arcum.
Fixes compiling issues on some systems/distros using gcc 8.2+
Idea by turtleli.
Also add -mfxsr flag suggested by Gregory.
2019-01-02 23:45:23 +01:00
Shanoah Alkire
67a6f31b88
Properly escape the period in Translation.cmake.
2019-01-02 00:01:00 -08:00
Shanoah Alkire
43fa7cd6c6
Skip over translation files with .git in the path when building pcsx2 with cmake. Fixes an intermittant cmake build error about duplicate rules.
2018-12-31 23:02:34 -08:00
Shanoah Alkire
a97bc2309a
Take care of a cmake 3.11 deprecation warning when finding OpenGL.
2018-12-26 22:00:03 -08:00
lightningterror
9c0bbfec1f
Revert "cmake: Add -mxsave flag to ARCH_FLAG in BuildParameters."
...
gcc complained about "Wno-packed-not-aligned" and "Wno-class-memaccess"
flags so I won't bother with it, the warnings can be fixed properly
but for now I'll just revert the previous commit.
2018-12-27 06:20:26 +01:00
lightningterror
752dbdefd2
cmake: Add -mxsave flag to ARCH_FLAG in BuildParameters.
...
A couple of users reported compilation issues using gcc 8.2+ on some
machines/distros on github and discord and adding the -mxsave flag
suggested by turtleli seems to fix the issue.
Fixes #2669
2018-12-27 04:55:50 +01:00
Daniel Nowak
da1eb056a3
Add network capability for Linux ( #2586 )
2018-10-02 21:37:34 -07:00
Jonathan Li
b84a2cfaf6
cmake: Add -mxsave flag to compiler flags
...
Fixes compilation when using GCC8.2 to compile a non-native build.
Fixes #2554 .
2018-08-16 08:33:57 +01:00
Jonathan Li
61406a4349
cmake: Fix GSdx EGL build libX11-xcb linkage issue
...
Prevents a XGetXCBConnection undefined symbol error.
2018-05-31 01:02:26 +01:00
Jonathan Li
41c49faa81
cmake: Improve wxWidgets and SDL linkage check
...
If wxWidgets is linked to SDL, check what version it's actually linked
against instead of assuming it's linked to SDL1.2 (which isn't true on
Fedora 27).
2018-02-13 12:26:00 +01:00
orbea
49cd6bc782
cmake: Don't print a git describe error with shallow clones.
2018-01-10 15:09:59 +01:00
Gregory Hainaut
7d75a73105
cmake: blacklist GCC 7.0 and GCC 7.1 (based on a small testcase)
...
GCC bug => https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80799
Close #1937
2017-06-29 14:51:50 +02:00
Gregory Hainaut
53b2fdf31c
linux: requires liblzma (xz) to build GSdx
2017-05-21 23:45:35 +02:00
Gregory Hainaut
05763b3669
cmake: better gcc + gsdx integration
...
Only set fabi-version on older GCC (5.0 and below)
Disable broken optimization for GCC7+ (until we find a better solution)
2017-05-11 23:14:06 +02:00
Gregory Hainaut
9b0b325339
cmake: search /usr/bin/wx-config32 (for arch users...)
...
issue #1933
2017-05-08 09:53:46 +02:00
Gregory Hainaut
41990a6402
cmake: create the macro add_custom_glib_res to handle resources
2017-04-28 11:27:19 +02:00
Gregory Hainaut
b2a2a3ace1
cmake: update "check these lib..." strings
...
wx 3.10 is the minimum
sdl2 too for onepad
a recent glew/gtk2 version is enough
2017-04-23 10:59:33 +02:00
Gregory Hainaut
ef3435441f
onepad: create a legacy version for SDL1
...
The legacy version is the version 1.3
The new version is the version 2.0. It would be based on SDL2 only
Distribution information.
If you link wxWidget with SDL, you will need to be sure it is SDL2 or upgrade.
You can build wxWidget with SDL2 with the following trick
export SDL_CONFIG=/usr/bin/sdl2-config
./configure --with-sdl .....
2017-04-19 19:02:36 +02:00
Gregory Hainaut
c232f90d6e
cmake: add an option to enable openCL
...
Note: nothing work
2017-02-08 19:42:54 +01:00
Jonathan Li
03acb22212
plugins: Remove cdvdlinuz
...
Superseded by PCSX2 internal ISO reader and cdvdGigaherz.
2017-01-20 00:04:14 +00:00
Jonathan Li
9b110d8c3c
plugins: Remove CDVDisoEFP
...
Superseded by PCSX2 internal ISO reader and cdvdGigaherz.
2017-01-20 00:04:14 +00:00
Jonathan Li
cb64cb6abe
plugins: Remove CDVDiso
...
Superseded by PCSX2 internal ISO reader.
2017-01-20 00:04:14 +00:00
Jonathan Li
6aef44271e
plugins: Remove CDVDolio
...
Superseded by PCSX2 internal ISO reader and cdvdGigaherz.
2017-01-20 00:04:14 +00:00
Gregory Hainaut
ecd00d377a
Merge pull request #1729 from np511/master
...
Extend LTO support and remove warnings
2017-01-04 17:03:38 +01:00
np511
f55f3b94a1
Removes LTO warnings and sets -flto=number of cores.
2017-01-03 15:45:24 -05:00
Jason Brown
b8a84d170a
Added OSD Manager which depends on FreeType2. Added functions into GSDeviceOGL to render OSD and a point shader.
2017-01-03 10:43:56 +01: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
5596f69c0e
pcsx2 gui: use git desribe as version name
...
Shorter than date and give all the useful info
Require windows test
close #1043
2016-11-08 22:44:39 +01:00
Gregory Hainaut
d3a748ce3a
cmake: drop CDVDlinuz and CDVDiso
...
You can use cdvdGigaherz on linux now
close #464
close #465
2016-11-08 19:58:44 +01:00
Jonathan Li
a283e95fed
cmake: Add cdvdgigaherz and dependencies
...
Only new dependency is libudev.
2016-11-07 00:08:23 +00: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
4318b83414
cmake: lilypad requires wx library
2016-06-19 09:49:49 +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
Jonathan Li
3a274e85f0
cmake:onepad: Add wxWidgets to dependencies
2016-05-18 22:56:59 +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
5b68415173
cmake: add an alternate wx-config path for Fedora 24
...
Fix #1296
2016-04-17 17:14:51 +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
Jonathan Li
97215008c9
ci|cmake|debian: Remove png++ build dependencies
...
GSdx now uses libpng directly. png++ is now unused, so let's remove it.
2016-03-02 22:57:15 +00:00
Jonathan Li
87dcfbc645
gsdx-png: Use libpng directly instead of via png++
...
v2: Increase compression to maximum
v3: Add zlib to GSdx build dependencies
v4: Reduce memory usage
2016-03-02 22:48:54 +00: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
9bcd9f0a73
cmake: onepad require gtk
2016-01-14 19:26:55 +01:00
Gregory Hainaut
dd097fe361
cmake: clang, please compile my code quietly
2016-01-09 22:57:43 +01:00
Gregory Hainaut
fbffa507b8
cmake: fix linux case
...
Close #1094
2016-01-09 12:15:29 +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
c72400e927
Darwin/OSX - spu2x apple build with portaudio only.
...
OSX compilation fix: spu2x: Windows & Linux
2015-12-02 05:01:12 +02: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
Juha Laukkanen
be720b96c1
Added OSX Darwin v13+ cmake files.
2015-11-17 19:25:12 +02: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
Gregory Hainaut
67c3587c0b
cmake: fatal error if miss dependencies in package mode
...
+ don't install lilypad in package mode (not ready for distribution)
2015-08-10 08:49:55 +02: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
2c05426db1
Only check for EGL if using EGL_API.
...
Missed this one.
2015-07-27 19:19:47 -04:00