Jordan Woyak
d2c1dbef16
CMake: Enable SDL by default on macOS.
2019-10-14 20:51:08 -05:00
Lioncash
d5d60c6e64
Externals: Add libfmt 5.3.0 to externals
...
Allows us to migrate off of printf specifiers and have more type-safe
formatting facilities. It also allows for custom type support as well.
fmt is also on track to have part of it standardized within C++2a, so
this will also lessen the transitional work necessary later on by
allowing new code to use it.
This simply adds the library but doesn't do anything with it yet.
2019-06-10 15:26:43 -04:00
spycrab
d15f5936b3
CMake: Output Windows binaries into Binary
2019-05-15 19:17:03 +02:00
spycrab
ec734065db
Merge pull request #8087 from spycrab/cmake_win2019
...
Support CMake on Windows
2019-05-14 21:07:26 +02:00
spycrab
53ef641da4
CMake: Add MSVC support
2019-05-12 00:44:00 +02:00
Léo Lam
123bbbca2c
Merge pull request #8073 from vladfi1/re-frame-mw
...
Bring back MemoryWatcher, but without CoreTiming
2019-05-10 14:55:27 +02:00
Vlad Firoiu
f4d950f4e2
Revert "Core: Remove MemoryWatcher"
...
This reverts commit 0c02e77eee
.
2019-05-05 21:43:45 +01:00
Léo Lam
9133e8f1be
Require CMake 3.10 and use CMAKE_CXX_STANDARD
...
Removes the need to add -std= flags manually. CMake 3.10 is available
in Ubuntu 18.04, which is the oldest LTS version we support.
2019-05-05 00:13:13 +02:00
Léo Lam
c40ae4508d
Bump minimum GCC version to 7.0
...
GCC 7.0 is the first version with full support for C++17.
Also fixes some bugs like https://stackoverflow.com/questions/32097759
2019-05-04 23:04:18 +02:00
Techjar
0c02e77eee
Core: Remove MemoryWatcher
...
MemoryWatcher only works on Linux and affects emulation determinism due
to scheduling additional events, which causes NetPlay to desync.
Considering that this interface is a rather specialized use case, the
communication with it is kinda crappy *and* it's affecting emulation, I
think it's best to just axe it and come up with a better implementation
of the functionality.
2019-04-28 06:22:27 -04:00
Stenzek
eabde77892
CMake: Add an ENABLE_NOGUI option
2019-02-15 18:40:46 +10:00
LAGonauta
7b9375875c
Added FreeSurround to Externals
...
Also cleaned up its source code to support only 5.1 and 7.1 setups.
2019-02-13 22:52:39 -02:00
spycrab
6a6fc56865
Externals/ed25519: Add CMakeLists.txt
2019-02-06 20:50:09 +01:00
spycrab
4badc961d0
Qt: Bump minimum macOS version required
2019-01-25 13:18:07 +01:00
orbea
1327772173
cmake: Conditionally build the unit tests.
...
This allows to skip building the unit tests and avoids the dependency
on gtest when doing so.
2018-12-08 14:07:06 -08:00
Stenzek
cfdbd45105
Externals: Add imgui
2018-11-26 20:40:34 +10:00
Pierre Bourdon
e6b2758ab4
Merge pull request #7477 from Zexaron/ext-minizip
...
Externals: Add a stripped down version of minizip
2018-11-17 22:23:02 +01:00
Stenzek
c95802afeb
CMake: Make X11 and EGL optional
2018-10-20 21:11:34 +10:00
Stenzek
0559311f92
GLContext: Runtime selection of EGL/GLX on Linux
2018-10-20 21:11:34 +10:00
Stenzek
74b82bab3b
GLInterface: Drop Haiku support
2018-10-20 21:11:33 +10:00
Pierre Bourdon
8e26d33133
Externals: Add a stripped down version of minizip.
2018-10-09 14:27:53 +02:00
Léo Lam
80c402e1ad
Merge pull request #7161 from lioncash/disasm
...
CMake: Only link in Bochs on x86 platforms
2018-09-16 15:16:00 +02:00
orbea
227807df36
cmake: Support system cubeb builds.
2018-08-08 07:36:19 -07:00
Lioncash
7f8cdbb2a4
CMake: Only link in Bochs on x86 platforms
...
Bochs' disassembler is only for disassembling x86 code. On non-x86
platforms it doesn't really make sense to build and link this in.
2018-07-12 16:44:17 -04:00
Markus Wick
196bf8dbe2
Merge pull request #7223 from lioncash/cmake
...
CMakeLists: Minor changes
2018-07-12 14:51:19 +02:00
spycrab
13ba24c5a6
Move DolphinQt2 to DolphinQt
2018-07-07 00:48:38 +02:00
Lioncash
0a4c0a9b4b
CMakeLists: Replace tab indentation with spaces
...
We use spaces everywhere else in the CMake scripts, so this just makes
indentation consistent.
2018-07-06 13:24:22 -04:00
Lioncash
a7cf1548b0
CMakeLists: Remove trailing space
...
While we're in the same area, amend the newlining of the if block
2018-07-06 13:23:39 -04:00
Lioncash
23bc463ec9
CMakeLists: Uppercase "string" in deployment target setting for macOS
...
The documentation for setting cache entries dicates that the type must
either be BOOL, FILEPATH, PATH, STRING, or INTERNAL (with those exact
casings). Also, given we properly case it in other places, this is just
consistent.
2018-07-06 13:20:42 -04:00
Lioncash
904057e611
CMakeLists: Use lowercase for commands
...
The general convention for CMake is to use lowercase for commands, and
given we also follow that convention through most CMake files, this just
makes it more consistent.
2018-07-06 13:13:23 -04:00
David Korth
0149d22385
Removed some more double-expansions of CMAKE_SYSTEM_NAME.
2018-07-02 13:01:16 -04:00
David Korth
72458c1cff
CMake: Use thin archives on Linux.
...
Thin archives contain pathnames pointing to the object files instead of
full copies of the object files. This significantly reduces the disk
usage when building Dolphin.
Size of *.a files: (gcc-8.1.0, Linux amd64)
- Before: 83,876 KB
- After: 1,876 KB
- Diff: -82,000 KB
The resulting binaries are the same as before.
A similar change was implemented in the Linux kernel v4.8:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a5967db9af51a84f5e181600954714a9e4c69f1f
2018-07-02 12:59:09 -04:00
spycrab
44b22c90df
Remove DolphinWX
2018-06-26 20:50:39 +02:00
Pierre Bourdon
2cfdf89898
Merge pull request #6983 from yourWaifu/add-discord-rpc-support
...
Add Discord Rich Presence support
2018-06-25 00:06:27 +02:00
yourWaifu
63f03455f3
Discord Rich Presence CMake integration
...
I have no idea if this works or not. Hopefully the build bot will tell me.
2018-06-19 22:43:03 -04:00
Tilka
9bf5ad1f0e
Merge pull request #7021 from akien-mga/cmake-pugixml
...
CMake: Fix case in FindPugixml resulting in false negative
2018-05-30 09:02:44 +01:00
Rémi Verschelde
d37ccc844e
CMake: Fix case in FindPugixml resulting in false negative
...
As mentioned in GH-6652.
2018-05-30 09:12:24 +02:00
Rémi Verschelde
c36695175f
CMake: Increase minimum GCC version to 6.0
...
Dolphin uses nested namespaces from the C++17 standard,
which are only supported in GCC 6.0 and later.
See comments in GH-6866 for details.
2018-05-30 09:02:14 +02:00
spycrab
94a4c05640
CMakeLists: Remove "Enabling GUI" from the "Wx enabled" message
2018-05-20 17:12:27 +02:00
Emmanuel Gil Peyrot
c51ae9c62a
Remove SOIL altogether from the project.
2018-05-20 13:44:42 +02:00
degasus
be3ce97560
CMake: Prefer GLVND for OpenGL.
...
We have to decide if we want to link to
libGL.so -- legacy
libOpenGL.so -- GLVND
As we use xxxGetProcAddress, we don't care about feature
levels of the linked library, so we're very fine with the
new way.
2018-05-09 09:08:22 +02:00
Tillmann Karras
dd6a505380
CMake: update and simplify VTune integration
2018-04-21 18:14:02 +01:00
spycrab
694df74b0b
Qt/Wx: Turn Qt into the default interface
2018-04-21 17:54:00 +02:00
Léo Lam
f4ec261719
CMake: Use system-wide pugixml if available
...
Makes it possible to use a system-wide pugixml instead of always
using Externals. This is nicer for distro packagers.
2018-04-15 18:57:39 +02:00
Lioncash
b31281527a
CMakeLists: Define an OProfile target and use it
...
Allows us to bring includes and relevant libraries into scope by explicitly declaring linkage against the target
as opposed to using a variable. Also removes the dumping of OProfile includes into the top-level directory.
2018-04-13 19:35:17 -04:00
Léo Lam
b1bbd8a50e
Merge pull request #6625 from lioncash/evdev-udev
...
InputCommon/CMakeLists: Include evdev and udev includes on a by-target basis
2018-04-13 20:50:31 +02:00
Léo Lam
48242f1521
Merge pull request #6638 from lioncash/lzo
...
CMakeLists: Don't dump LZO's includes into the top-level directory
2018-04-13 20:28:44 +02:00
Lioncash
2851c7e5ee
CMakeLists: Don't dump zlib's includes into the top-level directory
2018-04-13 08:32:48 -04:00
Lioncash
7de2d1c9d6
CMakeLists: Don't dump LZO's includes into the top-level directory
...
Instead, we add the includes to the LZO target's interface. That way
only libraries that link it in can see them.
2018-04-13 07:39:09 -04:00
Lioncash
6a637cfc22
CMakeLists: Don't dump libpng's includes into the top-level directory
...
Instead, add the includes to the target, which only libraries that link it in can actually see.
2018-04-11 17:33:52 -04:00