Commit Graph

488 Commits

Author SHA1 Message Date
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
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