Commit Graph

85 Commits

Author SHA1 Message Date
Florent Castelli
f649e26655 cmake: Move LLVM import to UICommon
To use it, with a modern LLVM (3.9+), set your CMAKE_PREFIX_PATH
to point to the LLVM install folder or to a LLVM build folder.
We're linking ALL of LLVM libs since I don't really know which ones we need.
LTO will take care of sliming the binary size...
2017-02-08 03:30:38 +01:00
Florent Castelli
428d1624fa cmake: Move BlueZ detection to Core 2017-02-08 01:08:33 +01:00
Florent Castelli
c1dcd06043 cmake: Move PulseAudio detection to AudioCommon 2017-02-07 23:35:44 +01:00
Florent Castelli
662a6e836d cmake: Add imported target to FindOpenAL 2017-02-07 03:42:43 +01:00
Florent Castelli
2c7ded0db3 cmake: Copy FindOpenAL from upstream CMake 2017-02-07 03:42:43 +01:00
Florent Castelli
cbb7e4072a cmake: Move AO detection to AudioCommon 2017-02-07 03:42:43 +01:00
Mat M
f978765bf0 Merge pull request #4755 from Orphis/cmake_sdl
cmake: Modernize SDL discovery
2017-02-06 11:55:03 -05:00
Mat M
02127e360a Merge pull request #4831 from Orphis/cmake_cleanup
Small CMake fixes
2017-02-06 11:29:05 -05:00
Matthew Parlane
abe7081337 Merge pull request #4818 from ligfx/bundleutilities
CMake: use BundleUtilities to fix up Dolphin.app
2017-02-06 17:39:46 +13:00
Florent Castelli
a7c4fd9bf0 cmake: Move discovery of SDL to InputCommon 2017-02-06 05:02:45 +01:00
Florent Castelli
3dfae32963 cmake: Fix possible redefinition of imported target in FindOpenSLES 2017-02-06 04:25:28 +01:00
Florent Castelli
e211cdd11d cmake: Fix possible redefinition of imported target in FindALSA 2017-02-06 04:25:28 +01:00
Florent Castelli
d615c0f868 cmake: Add imported target to FindALSA 2017-02-05 02:55:05 +01:00
Florent Castelli
c3b2039153 cmake: Import FindALSA from upstream CMake 2017-02-05 02:55:04 +01:00
Michael Maltese
38816bf51d CMake: use BundleUtilities to fix up Dolphin.app 2017-02-03 22:27:19 -08:00
Florent Castelli
fb02a321b6 cmake: Move OpenSLES detection to AudioCommon through find_package() 2017-02-04 03:38:11 +01:00
Florent Castelli
8882f33e94 cmake: Add dolphin_compile_definitions function
This is similar to add_definitions, but supports generator expressions.
It also has an optional argument to add only to Debug or Release
configurations.
2017-02-01 21:44:50 +01:00
Florent Castelli
00c15d84d6 cmake: check_and_add_flag supports adding to Debug or Release only 2017-02-01 21:44:50 +01:00
Florent Castelli
08b73b8a77 cmake: Move check_and_add_flag to a separate file
Also make it add flags to both C and C++ when appropriate
2017-01-25 02:34:33 +01:00
Florent Castelli
e03690f1f0 cmake: Find prebuilt ffmpeg on Windows 2017-01-21 02:44:18 +01:00
Florent Castelli
17187694f6 cmake: Add CCache support 2017-01-17 22:39:51 +01:00
Florent Castelli
6829b42846 cmake: Don’t use message(“”)
If there’s no category, the message ends up in stderr instead of stdout with the other regular CMake output.
2017-01-17 22:39:51 +01:00
Florent Castelli
875563787f cmake: include(Find…)->find_package(…) 2017-01-17 21:50:44 +01:00
Florent Castelli
d041e60d32 cmake: Only use include directories on actual paths in check_lib 2017-01-17 17:47:19 +01:00
Léo Lam
843b030eda WiimoteReal: Add a hidapi IO implementation
Based on ca0c2efe7a. Credits go to flacs.
However, unlike the original commit, hidapi does not completely replace
the current implementations, so we can still connect Wiimotes with 1+2
(without pairing).

Also, it is only used on Linux and OS X for now. This removes the
advantage of having only one implementation but there is no other
choice: using hidapi on Windows is currently impossible because
hid_write() is implemented in a way that won't work with Wiimotes.

Additionally:
* We now check for the device name in addition to the PID/VID so we can
  support the Balance Board and maybe third-party Wiimotes too. This
  doesn't achieve anything with the DolphinBar but it does with hidraw.
* Added a check to not connect to the same device more than once.
2016-10-03 11:41:23 +02:00
EmptyChaos
f57cb1bb31 CMake: Bundle FindBacktrace since its missing from older versions. 2016-07-19 13:15:28 +10:00
comex
3f4072d5b9 Fix configuration when LLVM_PACKAGE_VERSION is unset 2016-07-10 21:22:47 -04:00
Ryan Houdek
494938365f Extend libav check to find versions without pkg-config 2016-02-11 15:34:34 -06:00
Jeffrey Pfau
d4e2c9fa98 HW: Fix libusb support for older libusb APIs 2016-01-03 00:53:31 -08:00
Ryan Houdek
ff907ce0d1 Improve our LLVM check
Adds a link check in to the LLVM find script to make sure it can actually link against the library it finds.
Noticed this issue since I have a non-standard LLVM version built and installed.
2016-01-01 02:52:51 -06:00
Scott Mansell
4fa3ddcbf6 CMake: Fix FindMiniupnpc for ubuntu 14.04
Ubuntu 14.04 has miniupnpc 1.6.3
REGEX was failing because the string was empty, causing cmake to
error and not generate a Makefile.

This allows systems with older versions of miniupnpc to fall back
to the statically linked version in externals.
2015-11-02 18:00:06 +13:00
Tillmann Karras
4eace2b49e CMake: simplify FindMiniupnpc.cmake
miniupnpc.h provides MINIUPNPC_API_VERSION since 1.7 and we require 1.7
or later, so there is no reason to have version detection code for older
versions.
2015-10-12 02:26:35 +02:00
Christian Widmer
b99d1a0a20 Fix OProfile discovery and drop bfd dependency
Adds a cmake module to correctly discover OProfile and adjusts the
corresponding CMakeLists to make use of it. Additionally removes
linking against the bfd library when compiling with OProfile because
Dolphin does not use it.
2015-10-11 16:27:03 +02:00
shuffle2
a6f04b0e15 Merge pull request #3091 from Tilka/mbedtls
Update mbed TLS (PolarSSL)
2015-10-03 18:00:58 -07:00
Marisa Kirisame
8c5744bca7 miniupnpc API version 14 changed the upnpDiscover functions, adding an argument for TTL (should default to 2)
this enables support for that should the build system have that specific version installed, the miniupnpc bundled in the project is unchanged
2015-09-30 16:50:58 +02:00
Tillmann Karras
f6795466e7 mbedTLS: adapt Dolphin code 2015-09-26 07:09:19 +02:00
comex
1515497ab8 Make the LLVM detect script verify that the dynamic library actually exists.
For some dumb reason, llvm-config doesn't provide the flags to link
against the dynamic library copy of LLVM (as opposed to static), so the
script has to guess the library name.  However, in some installations
(such as mine), there is no dynamic copy, which caused Dolphin to fail
to link.  Change the script to do a link test.  If it fails, one option
would be to fall back on static linking, but I just have it fail to
detect LLVM, because statically linking Dolphin against LLVM is really
not a great idea - huge binary, long link time.
2015-08-08 22:50:57 -04:00
Scott Mansell
d2578000bb Merge branch 'stable' 2015-07-04 23:43:36 +12:00
Tillmann Karras
12aed77e8a CMake: fix PolarSSL test 2015-07-03 23:33:47 +02:00
Scott Mansell
9065ddf5fa Linux: Disable SDL controller backend by default.
Not deleted, because it's the only option for some other operating
systems such as FreeBSD or any other slightly exotic operating
system someone might try and run dolphin on.
2015-07-01 10:13:05 +12:00
Scott Mansell
2721fdf8a9 Linux: Add an evdev based controller backend, to replace SDL. 2015-07-01 10:13:05 +12:00
comex
fd855758cc Explicitly specify .pc names, since the previous guess in CheckLib.cmake wasn't always right.
This fixes detection of at least libenet via pkg-config, and I think
libpng via pkg-config pulseaudio via direct detection.

Also remove the NOT APPLE from the shared libenet check, because there's
no reason for it.
2015-06-02 18:42:45 -04:00
Ryan Houdek
b361cc8b51 Adds LLVM version check to cmake.
We require LLVM 3.4 minimum, so if the user has something older make sure to not attempt compiling.
Fixes issues #7858 and #7906.
2014-12-07 10:49:45 +00:00
James Cowgill
11dbe6b6ce Update Externals/SFML to 2.1
- all files converted to unix line endings
- files from other subsystems and most of system have been removed
- include/SFML/System.hpp and include/SFML/Network.hpp modified to
  not include removed stuff
- IpAddress.*pp renamed to IPAddress.*pp to workaround git apply bug
  with case-only renames
2014-11-25 16:44:38 +00:00
Gabriel Corona
cf3ba671bf Fix LLVM
$(llvm-config --ldflags) was passed to the compiler but it needs to be
passed to the linker instead (-L and -l flags).
2014-10-28 01:36:27 +01:00
Ryan Houdek
bd1a192faf Fixes LLVM library detection.
I must have had a dirty cmake configuration which didn't encounter this issue.
Make sure we are using LLVM_DEFINITIONS to know where we are linking to libraries at.
Link against libLLVM-${VERSION}, the other one was linking us against static libraries...
2014-10-26 16:17:57 -05:00
skidau
38acd4d4bf Merge pull request #1382 from Sonicadvance1/LLVM-disasm
Implements LLVM based disassembler for the debugger.
2014-10-26 13:46:01 +11:00
Ryan Houdek
cb10bef9a4 Implements LLVM based disassembler for the debugger.
This will work for all of our platforms, x86, ARMv7, and AArch64.
Main issue with this is that LLVM's cmake files aren't correctly finding the LLVM install.
Not sure if this is Ubuntu's issue or not, it may just work on other operating systems.

We could potentially improve this, you can pass in a specific CPU in to the LLVM disassembler. This would probably affect latency times that are
reported by LLVM's disassembly? This needs to be further investigated later.
2014-10-24 18:10:21 -05:00
Ryan Houdek
eb432563d2 Removes unused cmake script for finding GLEW. 2014-10-24 17:28:34 -05:00
Pierre Bourdon
8876ee120a Change libav* autodetection to support framedumping on Ubuntu 14.04
Add an "ugly" workaround in the AVIDump code, but looking at other project this
seems to be the most common way to handle this API change.
2014-07-13 23:06:20 +02:00