Lioncash
a4ba92c697
CMakeLists: Don't dump xxhash's includes into top-level directory scope
...
We already use a custom CMakeLists file for xxhash, so we can just make it's headers
public as part of its target interface.
This way, only libraries that link in the xxhash target will see its headers, as opposed
to every target under the top-level directory.
2018-04-06 10:41:58 -04:00
Lioncash
b4e36bbd27
CMakeLists: Move build options to the top of the file
...
Makes the configurable aspects of the build more immediately discoverable
as opposed to needing to read down the entire file.
2018-04-05 08:27:49 -04:00
Lioncash
84ed6fd445
CMakeLists: Remove the LIBS variable
...
Now that we link all libraries in explicitly, the top-level LIBS variable can finally go.
2018-04-04 11:46:30 -04:00
Lioncash
8db4ab7dd6
CMakeLists: Remove iconv from the LIBS variable
...
Adjusts Common to use the ICONV_LIBRARIES variable directly and doesn't
append it to the LIBS variable.
After this, there's only one remaining usage where libraries are added
to the LIBS variable, after which it can be removed once the rest of
the targets are migrated off add_dolphin_library
2018-04-01 14:00:55 -04:00
Lioncash
677b9b717f
CMakeLists: Remove enet from the LIBS variable
...
All libraries that use enet already link it in explicitly. This reduces
the usages of the LIBS variable.
2018-04-01 11:18:08 -04:00
Lioncash
eee32c030b
CMakeLists: Remove lzo from the LIBS variable and make linkage private
...
The only place this library is needed (core) is already linked in the core target.
Also make the linkage private to create linkage failures if the dependency isn't
explicitly linked in elsewhere where it should be.
Reduces the dependency on the LIBS variable.
2018-03-31 15:01:05 -04:00
Lioncash
e93159e54a
CMakeLists: Link in system framework libraries explicitly on macOS
...
Makes our libraries explicitly link in which libraries they need.
This makes our dependencies explicit and removes the reliance on the
LIBS variable to contain the libraries that they need.
2018-03-30 16:14:10 -04:00
Lioncash
b8a4ab23dd
InputCommon/CMakeLists: Link in ForceFeedback library explicitly on macOS
...
Makes an implicit dependency explicit. Also makes the macOS libraries link privately
as they aren't used in the exposed interface.
2018-03-29 11:53:50 -04:00
Lioncash
b818cc682c
VideoCommon/Vulkan: Explicitly link in xxhash
...
Lessens the dependency on the LIBS variable (and also makes the required
libraries explicit).
2018-03-28 17:03:16 -04:00
spycrab
4f63d7f204
Qt: Fix low-resolution icon
2018-03-27 17:32:45 +02:00
Pierre Bourdon
f221fac02e
cmake: check for optional libsystemd presence
2018-03-08 06:00:40 +00:00
Greg V
be716a680f
Do not link to libusbhid on FreeBSD/NetBSD
...
Both libusbhid (system library) and libhidapi (3rd party library)
provide a function called hid_init. Dolphin was being linked to both.
The WiimoteScannerHidapi constructor was calling hid_init without
arguments. libusbhid's hid_init expects one argument (a file path).
It was being called as if it was defined without arguments, which
resulted in a garbage path being passed in, and because of that,
the Qt GUI was failing to launch with the following error:
'dolphin-emu-qt2: @ : No such file or directory'
2018-02-05 00:46:59 +03:00
Greg Wicks
c2dcb97d06
Android: Fix NDK r16b2 build
2017-11-07 11:02:27 -05:00
spycrab
28799bbe79
CMake: Build DolphinQt2 by default
2017-09-04 22:28:48 +02:00
spycrab
fc4de1b872
CMake: Move DISABLE_WX to ENABLE_WX
2017-09-02 18:59:27 +02:00
Michael M
fc306faad8
CMake: use miniupnpc target instead of global vars
2017-08-17 13:15:02 -07:00
Michael Maltese
18e70cdf91
Only build OpenAL on Windows
2017-06-27 00:06:14 -07:00
Michael Maltese
0fb742581a
CMake: remove duplicated call to find OpenAL
2017-06-27 00:06:13 -07:00
Léo Lam
b08201654e
Externals: Add zeux/pugixml@38edf25
...
Along with VS boilerplate to get it to build on Windows.
2017-06-13 14:05:10 +02:00
Shawn Hoffman
fffe2c0a2b
cmake: enable same conformance-related flags as msbuild
2017-06-05 23:25:13 -07:00
shuffle2
192fec50b9
Merge pull request #5276 from ligfx/macosheadless
...
Add headless support on macOS
2017-06-05 20:49:02 -07:00
shuffle2
3443454ba2
Merge pull request #5271 from JosJuice/allow-aslr
...
Allow (but don't force) ASLR
2017-06-02 21:53:02 -07:00
Michael Maltese
34ad1eb547
Externals: remove PortAudio
2017-05-27 18:28:57 -07:00
Michael Maltese
812520cc65
Add cubeb@62871b2 to Externals/
...
Includes submodule sanitizers-cmake@f09151b
2017-05-27 18:28:56 -07:00
Michael Maltese
53acd25de4
Rename define HAVE_LIBAV->HAVE_FFMPEG
2017-05-26 00:53:58 -07:00
Michael Maltese
d951d2e4c4
CMake: libav/ffmpeg cleanups
...
Use @Orphis's FindFFmpeg module from ppsspp:
2149d3db7f
From that commit:
> This new module should be able to handle both libraries in the regular
> paths and fallback to pkg-config.
> It is also able to find dynamic libraries, not just static libraries.
> It will generate imported targets with the name FFmpeg::<lib> that you
> can use in your scripts.
2017-05-26 00:53:58 -07:00
Michael Maltese
be2f4466e3
CMake: move unittests target to UnitTests
2017-05-22 00:19:14 -07:00
JosJuice
e019872d62
Remove no-pie build flags
2017-05-20 09:35:53 +02:00
JosJuice
4b4cf509f8
Remove code for only allocating low memory
...
This is unnecessary when we have position-independent code.
2017-05-20 09:35:53 +02:00
Matthew Parlane
d20bb985ad
Merge pull request #5369 from ligfx/cmakegtestnosystem
...
CMake: don't look for shared Google Test
2017-05-04 13:24:10 +12:00
Mat M
f3052b7a15
Merge pull request #5318 from ligfx/cmakehidapi
...
CMake: clean up HIDAPI build
2017-05-03 19:54:06 -04:00
Michael Maltese
cd7af32e0b
CMake: gtest already propagates include directories
2017-05-03 16:22:14 -07:00
Michael Maltese
9ac94d0135
CMake: don't look for shared Google Test
...
Google Test recommends not using a pre-compiled system copy[1] and
Debian and Ubuntu no longer distribute compiled packages.
This removes an unhelpful line from the CMake log: "Could NOT find GTest
(missing: GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY)."
[1]: https://github.com/google/googletest/blob/master/googletest/docs/FAQ.md#why-is-it-not-recommended-to-install-a-pre-compiled-copy-of-google-test-for-example-into-usrlocal
2017-05-03 15:29:29 -07:00
Michael Maltese
5230a8c996
CMake: only look for Bluez on Linux
...
Stops CMake from saying "BlueZ NOT found, disabling bluetooth support"
on other OSes. Windows, macOS, and Android support Bluetooth using other
libraries. I'm not sure if non-Linux, non-Android Unices (like FreeBSD)
need another message?
2017-05-03 15:15:47 -07:00
Michael Maltese
655ab9b4e2
CMake: clean up HIDAPI build
2017-04-27 02:41:00 -07:00
Michael Maltese
6e1940c404
CMake: don't globally include wxWidgets headers
2017-04-25 17:18:20 -07:00
Michael Maltese
f4c0723387
CMake: move wxWidgets check_lib code into wxWidgets
2017-04-25 17:18:20 -07:00
Michael Maltese
6197d9622f
CMake: move GTK+ check into wxWidgets
2017-04-25 17:18:20 -07:00
Michael Maltese
f7892faa80
CMake: remove artisanal wxWidgets version check
2017-04-25 09:35:42 -07:00
Michael Maltese
5298328cb1
Add headless support on macOS
2017-04-15 19:34:42 -07:00
Markus Wick
2151858fb1
Merge pull request #5241 from MerryMage/stretch
...
Pitch-Preserving Audio Stretching
2017-04-12 20:27:26 +02:00
MerryMage
b8c867dd7a
Mixer: Implement audio stretching
2017-04-12 13:56:28 +01:00
Michael Maltese
5b829163a3
CMake: turn on -fdiagnostics-color for Ninja builds
...
This PR attempts to turn on `-fdiagnostics-color` by default when using
the CMake Ninja generator.
Ninja effectively turns off colored messages by not running subcommands
in a pseudo-terminal. The Ninja maintainers have decided that using
pseudo-terminals has more downsides than upsides, but have helpfully
taught Ninja itself how to parse and remove color codes if its parent
isn't a (pseudo-)terminal.
Colored messages make it easier to read warnings and error messages in a
large build log, and are pretty.
2017-04-11 18:00:46 -07:00
Michael Maltese
af63235dc4
Remove libao sound backend
...
A single person uses it[0], and it sometimes messes up the Linux
buildbots ("ninja: error: 'ao', needed by 'Binaries/dolphin-emu', missing
and no known rule to make it").
[0]: https://analytics.dolphin-emu.org/stats/popular-audio-backends.txt
2017-03-31 14:59:57 -07:00
Matthew Parlane
85d74a506f
Merge pull request #4951 from waddlesplash/haiku-2
...
Initial support for Haiku.
2017-03-28 17:19:35 +13:00
Augustin Cavalier
0831dad467
Initial support for Haiku.
2017-03-27 23:46:19 -04:00
orbea
0d0f6f7278
Don't install static mbedtls libraries
2017-03-19 08:45:38 -07:00
Florent Castelli
5514680bc8
cmake: Fix typo in dolphin_compile_definitions
2017-03-08 06:47:00 +01:00
Vlad Firoiu
8970c1a793
Don't use hidapi-hidraw without udev.
2017-03-05 10:42:31 -08:00
Lioncash
ee61bd6f2e
CMakeLists: Normalize whitespace
...
Normalizes tabs to spaces to follow our codebase's indentation style.
2017-03-01 14:53:23 -05:00
Ryan Houdek
77c7fa836f
Add the cpp-optparse project to Externals.
...
From https://github.com/weisslj/cpp-argparse
2017-02-16 14:09:13 +01:00
Michael Maltese
45d1f88ea7
CMake: move modules from CMakeTests/ -> CMake/
...
The name "CMakeTests" is inaccurate and irregular.
2017-02-07 22:55:27 -08:00
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
Mat M
277f813b72
Merge pull request #4849 from Orphis/cmake_audiocommon
...
cmake: Move PulseAudio detection to AudioCommon
2017-02-07 18:08:10 -05:00
Florent Castelli
c1dcd06043
cmake: Move PulseAudio detection to AudioCommon
2017-02-07 23:35:44 +01:00
Michael Maltese
4d5cc27243
CMake: re-run if .git/$(symbolic-full-name HEAD) changes
...
In an oversight, PR #4841 didn't handle committing to or amending a
branch.
2017-02-07 00:53:05 -08:00
Mat M
bdf09c7d3b
Merge pull request #4841 from ligfx/accuratescmrev
...
CMake: re-run to get version information when .git/HEAD changes
2017-02-06 22:12:55 -05:00
Florent Castelli
d1eaa59a8e
cmake: Move detection of OpenAL to AudioCommon
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
Michael Maltese
9502f322d3
CMake: re-run to get version information when .git/HEAD changes
...
Fixes an issue where Dolphin's revision information could be incorrect
when:
1) CMake was run while HEAD was at commit A
2) HEAD was set to commit B, which didn't have differences from A
that would cause CMake to be re-run
This does not fix the issue with incorrect information about whether
Dolphin was built from a dirty working tree or not.
2017-02-06 18:28:52 -08: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
Michael Maltese
acc8dae2b3
CMake: use configure_file to generate scmrev.h
...
The built-in `configure_file` command correctly handles the case where
none of the variables change and scmrev.h doesn't need to be rebuilt.
This saves a full re-link of Dolphin any time CMake is re-run.
2017-02-05 22:26:49 -08: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
5984ca26f3
wx: Move platform defines to wx setup header
...
Usually, this is passed as a preprocessor definition, but this is error
prone and just complicating the compiler invocation for no good reason.
2017-02-06 04:27:06 +01:00
Florent Castelli
8464480ceb
cmake: Remove -nopie, -no-pie should be used instead
2017-02-06 04:25:28 +01:00
Florent Castelli
d096b7b378
cmake: Prevent gtest from installing its files
2017-02-05 20:19:30 +01:00
Florent Castelli
5058d07861
cmake: Fix resource installation for Linux
2017-02-05 20:17:11 +01:00
Florent Castelli
2fceb016b4
cmake: Move ALSA detection to AudioCommon
2017-02-05 02:55:05 +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
Mat M
a3ba169e7d
Merge pull request #4809 from Orphis/cmake_windows
...
CMake for Windows: getting a working binary!
2017-02-03 08:33:13 -05:00
Florent Castelli
3842a9b71c
OpenAL: Move Windows binaries to lib folder and fix CMake detection
...
The module FindOpenAL is looking for the dll in a folder called lib, not x64.
This is only used on Windows x64, it's fine to remove the platform name.
2017-02-03 04:54:54 +01:00
Florent Castelli
8bd41ad606
cmake: Add missing Windows link flags
2017-02-03 04:54:30 +01:00
Florent Castelli
7ccbe9b06d
portaudio: Prevent files from being install()'ed
2017-02-03 04:24:13 +01:00
Florent Castelli
9180c87197
cmake: Put test targets in folders
2017-02-03 04:23:24 +01:00
Mat M
1dd229fac8
Merge pull request #4752 from Orphis/cmake_cleanup
...
cmake: Improve support for multi-configuration generators
2017-02-02 20:59:13 -05:00
Florent Castelli
0f9a6697fb
DolphinWX: Update how localization files are installed
...
On macOS, we want them copied in the bundle directly, otherwise we will
install them later in the system folder.
Obviously not working for Windows, but that's not any different from before!
2017-02-02 03:51:32 +01:00
Florent Castelli
62c439814f
cmake: Move Qt5 search to DolphinQt build script
2017-02-01 21:49:26 +01:00
Florent Castelli
8ef5b6d302
cmake: Removes check against CMAKE_BUILD_TYPE for multi-configuration generators
2017-02-01 21:44:50 +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
f5fd5477e3
cmake: Use new option in check_and_add_flag to add options correctly
...
Previously, -ggdb wouldn't be added when using the Xcode generator.
And now, the code for -fomit-frame-pointer is much more simple.
2017-02-01 21:44:50 +01:00
Michael Maltese
497173f665
CMake: Disable PortAudio support for ASIO, DS, and WDMKS
...
Fixes a link-time error, and matches what the vcxproj does.
2017-01-27 02:50:50 -08:00
Michael Maltese
0475a85195
CMake: Move Windows defines to Source/CMakeLists.txt
...
Messes up various Externals, like PortAudio.
2017-01-27 02:50:49 -08:00
Michael Maltese
4a422dffaa
CMake: CMAKE_SIZEOF_VOID_P must be 8 for an x86_64 build
...
This is an issue because CMAKE_SYSTEM_PROCESSOR is defined as the host
processor when not cross-compiling, and building for Win32 doesn't count
as cross-compiling.
2017-01-27 02:50:36 -08:00
Florent Castelli
bf2890f1f8
cmake: Change else(.*) to else()
2017-01-25 15:07:32 +01:00
Florent Castelli
87380c1c2c
cmake: Change endif(.*) to endif()
2017-01-25 15:07:32 +01:00
Florent Castelli
2fd034789e
cmake: Move /MP flag to MSVC compile flag section
2017-01-25 06:10:20 +01:00
Florent Castelli
221f991f1e
cmake: Move section to disable PIE with the other compiler flags
2017-01-25 06:10:20 +01:00
Florent Castelli
1dda078c61
cmake: Compile on Windows with C++ Exceptions
2017-01-25 06:10:20 +01:00
Florent Castelli
d2cb5e6407
cmake: Small random cleanups
2017-01-25 06:10:20 +01:00
Florent Castelli
aac17b06d1
cmake: Split compile definitions and options
2017-01-25 06:10:20 +01:00
Florent Castelli
5129ba1289
cmake: Add section with Windows defines
2017-01-25 06:10:19 +01:00
Florent Castelli
fafb103c52
cmake: Move LTO settings lower in the file
2017-01-25 06:10:19 +01:00
Florent Castelli
925297d528
cmake: Simplify setting arch flags on macOS
2017-01-25 06:10:19 +01:00
Florent Castelli
3e28ebc31e
cmake: Fix arch detection
...
Windows arch is set to AMD64, and we don't really want ix86 either
2017-01-25 06:10:19 +01:00
Florent Castelli
c48617008d
cmake: Regroup compilation flags together
2017-01-25 06:10:19 +01:00
Florent Castelli
ff4ef08745
cmake: Readd fomit-frame-pointer on macOS
...
Make it also properly set on Release for multi-configuration generators
2017-01-25 06:10:19 +01:00