Commit Graph

631 Commits

Author SHA1 Message Date
ecb095f576 CMake: Fix macOS compile by always setting LIBUSB_FOUND=true
Without this, compilation complains about undefined symbols related to
`CWII_IPC_HLE_Device_hid` and `CWII_IPC_HLE_Device_usb_oh1_57e_305_real`.
2016-10-15 16:24:39 -07:00
05eff01229 Android: Update the gradle file to use android studio 2.2 cmake. 2016-10-05 23:44:10 +02:00
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
f71966866b Merge pull request #4230 from ligfx/build_vendored_libusb
Build vendored libusb with CMake if on Apple or not available system-wide
2016-10-02 21:17:01 -07:00
c62bfeba07 Merge pull request #4255 from ligfx/portaudio_build_externals
Build portaudio from Externals when not available on system
2016-10-02 20:53:54 -07:00
08d9c46b79 Build portaudio from Externals when not available on system
TL;DR: Enables mic support on macOS builds
2016-09-28 13:43:02 -04:00
eb4d980d2f Ignore LIBUSB_FOUND on Apple
It shouldn't be set in the first place, and its cached value is screwing
up the buildbots.
2016-09-28 13:32:17 -04:00
8bb2139224 Build vendored libUSB with CMake 2016-09-28 13:32:07 -04:00
cd19c9fa22 Don't force compile everything as Objective-C++ on macOS 2016-09-18 17:33:51 -07:00
928d05ec47 InputCommon: Remove the Xlib backend
The XInput2 backend is more performant, so let's default to it and
remove the old, core-only backend.
2016-09-04 10:44:22 -07:00
f212d856b3 Fix wxWidgets build for 32-bit arch 2016-08-30 18:17:17 -05:00
c6fed0565d Merge pull request #4109 from JosJuice/remove-am-baseboard
Remove AM Baseboard
2016-08-11 16:16:23 +02:00
951fc44d86 Externals: Add glslang from Vulkan SDK v1.0.21.1 2016-08-11 22:40:32 +10:00
3bb0e7e3f5 Remove AM Baseboard
Let's stop pretending that we support Triforce emulation.
Keeping this code around just in case someone will make
major improvements in the future isn't really worth it.

I'm keeping the Triforce game INIs so users will know that
the compatibility rating for Triforce games is 1 star (broken).
2016-08-11 12:53:44 +02:00
77ed5756dc Capitalize Foundation library name
On a case-sensitive filesystem, the "foundation" library can not be
found, as the framework starts with a capital "F". Because the
Foundation framework is required by other parts of the build, this
causes the build to fail.

Should help with future builds, too, as the upcoming APFS is
case-sensitive.
2016-07-23 15:10:55 -04:00
f57cb1bb31 CMake: Bundle FindBacktrace since its missing from older versions. 2016-07-19 13:15:28 +10:00
JDV
b6fa1f5f0b Remove Backtrace as it is not actually needed 2016-07-18 15:23:05 -06:00
fb1627a696 Install manpages and XDG files on OpenBSD and FreeBSD. 2016-07-17 20:32:25 -06:00
4b9173ca62 Merge pull request #4017 from bentley/openbsd-libs
OpenBSD neither provides nor requires libdl and librt.
2016-07-18 12:42:14 +12:00
eb4cae78aa OpenBSD neither provides nor requires libdl and librt. 2016-07-17 18:06:38 -06:00
5bab6210ef Use the standard stat()/fstat() interfaces, not nonstandard *64().
Most modern Unix environments use 64-bit off_t by default: OpenBSD,
FreeBSD, OS X, and Linux libc implementations such as Musl.

glibc is the lone exception; it can default to 32 bits but this is
configurable by setting _FILE_OFFSET_BITS.

Avoiding the stat64()/fstat64() interfaces is desirable because they
are nonstandard and not implemented on many systems (including
OpenBSD and FreeBSD), and using 64 bits for stat()/fstat() is either
the default or trivial to set up.
2016-07-17 04:30:00 -06:00
fac7d09091 Merge pull request #3737 from EmptyChaos/update-wx
Externals: Update wxWidgets to 3.1.0
2016-07-15 09:48:14 -04:00
822326eea9 Update wxWidgets to 3.1.0
From wxWidgets master 81570ae070b35c9d52de47b1f14897f3ff1a66c7.

include/wx/defs.h -- __w64 warning disable patch by comex brought forward.

include/wx/msw/window.h -- added GetContentScaleFactor() which was not implemented on Windows but is necessary for wxBitmap scaling on Mac OS X so it needs to work to avoid #ifdef-ing the code.

src/gtk/window.cpp -- Modified DoSetClientSize() to direct call wxWindowGTK::DoSetSize() instead of using public wxWindowBase::SetSize() which now prevents derived classes (like wxAuiToolbar) intercepting the call and breaking it. This matches Windows which does NOT need to call DoSetSize internally. End result is this fixes Dolphin's debug tools toolbars on Linux.

src/osx/window_osx.cpp -- Same fix as for GTK since it has the same issue.

src/msw/radiobox.cpp -- Hacked to fix display in HiDPI (was clipping off end of text).

Updated CMakeLists for Linux and Mac OS X. Small code changes to Dolphin to fix debug error boxes, deprecation warnings, and retain previous UI behavior on Windows.
2016-06-26 15:25:29 +10:00
659d079d5c Fix in-tree build (cmake .) on OS X.
OS X uses a case insensitive filesystem by default: when I try to build,
a system header does #include <assert.h>, which picks up
Source/Core/Common/Assert.h.  This only happens because CMakeLists adds
'${PROJECT_BINARY_DIR}/Source/Core/Common' as an include directory: in
an out-of-tree build, that directory contains no other source files, but
in an in-tree build PROJECT_BINARY_DIR is just the source root.

This is only used for scmrev.h.  Change the include directory to
'${PROJECT_BINARY_DIR}/Source/Core' and the include to
"Common/scmrev.h", which is more consistent with normal headers anyway.
2016-06-25 23:57:17 -04:00
ac267a2940 5.0 release 2016-06-24 10:09:07 +02:00
09dbe2337c Merge pull request #3904 from dhustkoder/master
_DEFAULT_SOURCE flag added, and clang check version for IsTriviallyCopyable m…
2016-06-22 10:54:39 -04:00
19fed720ff _DEFAULT_SOURCE flag added, and clang check for IsTriviallyCopyable macro
fix clang ver check for 4.0 +

using clang macro __has_feature

__GLIBCXX__ check added

fix __has_feature
2016-06-19 18:32:19 -03:00
49ce9b153d scmrev: Add "distributor" option.
Used to distinguish between Dolphin distributions (e.g. "dolphin-emu.org",
"Ishiiruka", etc.).
2016-06-18 18:31:40 +02:00
c4f5c471bb Externals: Add libcurl. 2016-06-18 18:31:40 +02:00
96acd3e7ff Merge pull request #3869 from delroth/out-of-git
Provide better scmrev defaults without .git
2016-06-05 09:27:57 +02:00
bae4f2c7db Provide better scmrev defaults without .git
Use the default values from CMakeLists.txt (previously used for CPack). We
usually update these when tagging a new major version.
2016-05-29 18:29:40 +02:00
2a79ac0d28 Merge pull request #3734 from Sonicadvance1/no_x86_pie
Make sure x86_64 isn't compiled with PIE.
2016-05-29 17:32:20 +02:00
2b59b1ac45 mandir added 2016-04-02 13:16:29 -07:00
8b01158c95 Make sure x86_64 isn't compiled with PIE.
Our x86_64 recompilers don't support PIE and fail amazingly if enabled.
Disable it so package maintainers(!) or other randoms don't accidently enable it when we don't support it.
2016-03-14 13:31:55 -05:00
d007711eb6 CMake: fix warning 2016-03-13 04:02:27 +00:00
feae5ff3d8 Move linux files to Data 2016-03-09 10:58:54 -05:00
84483a1076 Add manpages for Linux and include them in spec file
Note that the manpages are placed in Data
2016-03-09 10:58:03 -05:00
2e367fb052 Add option to use shared gtest library if available 2016-03-05 11:54:17 -05:00
8c19e80450 Replace the XPM desktop icon with an SVG
This PR installs an SVG icon to use as the main icon for dolphin in Linux
desktop environments (through the .desktop file) and removes the currently used
XPM icon. I've also added a 48x48 PNG for any desktops which don't support SVG
icons.

This has been the recommended way to ship application icons since forever
according to the Icon Theme Spec:
https://www.freedesktop.org/wiki/Specifications/icon-theme-spec/

This is also a prerequisite for dolphin appearing in the GNOME Software Centre
which does not support XPM icons.
2016-02-20 15:32:52 +00:00
2f7e3ae58e CMakeLists cleanup and enable Android headless building. 2016-02-05 11:24:11 -06:00
628e9bad92 Support a headless EGL option.
This is a new option to support completely headless running of Dolphin without X11 on systems that can properly support it.
2016-01-27 15:04:14 -06:00
74478addeb Move Android JNI bits from DolphinWX to the Android folder. 2016-01-06 15:36:44 -06:00
82c72cf76b [UI] More DQt removals 2016-01-05 20:02:40 -06:00
2f50560602 Add support for sending game memory changes to outside processes 2015-12-29 17:59:16 -08:00
949f25175b DolphinQt2 2015-11-27 00:33:07 -08:00
a498c684a2 Merge pull request #2304 from linkmauve/xdg-basedir
UICommon: Respect XDG Base Directory Specification on POSIX systems
2015-11-12 12:31:24 +01:00
3cecbae324 Make LINUX_LOCAL_DEV a CMake option 2015-11-10 14:15:08 -08:00
e20b08491c UICommon: Respect XDG Base Directory Specification on POSIX systems. 2015-11-10 21:53:29 +00:00
f2ae1a2545 Implement relocatable builds on Linux
- Change the path of the Sys folder to the executable's location
- Add LINUX_LOCAL_DEV flag to use relocatable version on Linux
- Add CMake definition for relocatable build
2015-11-10 12:49:04 -08:00
d9d6cf8eda GC controller input using named pipes
Currently only works on unix, but can be extended to other systems. Can
also be extended to do wiimotes.

Searches the Pipes folder for readable named pipes and creates a dolphin
input device out of them. Send controller inputs to the game by writing
to the file. Commands are described in Pipes.h.
2015-10-24 20:20:03 -07:00