Commit Graph

70 Commits

Author SHA1 Message Date
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
Tillmann Karras 02f470c7eb CMake: update min. libav/ffmpeg library versions 2014-06-27 19:48:36 +02:00
Tillmann Karras 7e01002372 CMake: mention ffmpeg in libav messages
We support both.
2014-06-27 19:48:36 +02:00
Pierre Bourdon bc844a168f Merge pull request #100 from Tilka/misc_fixes
Misc fixes
2014-02-28 23:08:56 +01:00
Tillmann Karras 269e2aefa7 CMake: fix escaping in miniupnpc test 2014-02-28 12:28:20 +01:00
Matthew Parlane 17ea34f617 Makes the detection of shared PolarSSL more inline with usage. 2014-02-28 20:12:37 +13:00
Tillmann Karras 48dcd29f62 CMake: check PolarSSL version 2014-02-24 20:02:45 +01:00
Tillmann Karras 76b5a6b95e PolarSSL/CMake: validate cached values 2014-02-24 19:07:24 +01:00
Tillmann Karras 33beaf20f3 PolarSSL: adapt Dolphin to new version
- strip down PolarSSL's CMakeLists.txt
- switch to the PolarSSL 1.3 API
- use entropy interface instead of havege (PolarSSL 1.3 has disabled
  havege by default because it is "considered unsafe for primary usage")
- add VS2013 .vcxproj file
2014-02-24 16:20:50 +01:00
Ryan Houdek d8ceb97a60 [buffer_storage] Require GLEW 1.10 which has the new OpenGL 4.4 methods. Fixes linux build. 2013-12-27 15:37:31 -06:00
Glenn Rice 70130aeac3 Remove the REQUIRED option from the cmake pkg-config check for GLEW so
that cmake doesn't fail if a shared library is not found, and falls back
to the version in the externals.
2013-09-09 16:48:14 -05:00
Glenn Rice d617efc5ef When checking for glew, don't fail if a working system version is not
found so we can fall back to the Externals version.
2013-09-07 12:40:40 -05:00
Glenn Rice a3d86ceead When checking for glew via cmake check to see that the system version of glew
is at least 1.8 and has the methods of glew 1.9.  This is an annoying
hack to deal with Ubuntu's glew setup, which is glew 1.8 with 1.9
methods patched in.
2013-09-07 12:24:32 -05:00
Glenn Rice eb8e03fab5 Add a check for a shared polarssl library. This checks to see that the
system version is new enough, and is compiled with havege support.
2013-09-02 20:07:47 -05:00
degasus bcb18d6a2b libusb: fix cmake endif 2013-08-29 20:42:41 +02:00
Matthew Parlane 5c7946f7c4 Fix android build. 2013-08-24 23:26:39 +12:00