Commit Graph

131 Commits

Author SHA1 Message Date
Ryan Houdek
eb07c005e3 Move the cmake option lines to the top of the Cmake file for easy viewing in vim. 2013-01-25 13:55:05 -06:00
skidau
0a4272c96b Merge branch 'OpenAL'
* OpenAL:
  Changed SoundTouch to use float samples, allowing SSE to be used. Made the DPL2 decoder disabled by default. Re-added the audio hack used by the Accurate VBeam emulation option.
  Added a latency setting to the audio settings. Removed the Sample Rate setting.  It is now hardcoded to 48000hz (accurate audio timing).
  Skipped timestretching if the emulator is running below 10% speed to prevent buffer overflows.
  Removed the synchronisation between the CPU thread and the audio thread. Added code to detect and resume from buffer underruns. Disabled the ability to change the DPL2 option after the game has started. Fixed a memory leak that occurred in the DPL2 decoder. Fixed the OSX build.
  Build fix
  Added a Dolby Pro Logic II (DPL2) decoder in the OpenAL backend.  DPL2 audio is decoded to 5.1.  Code adapted from ffdshow. Added an option in the DSP settings to disable the DPL2 decoder in case Dolphin incorrectly detects a 5.1 audio system. Updated the OpenAL files to OpenAL Soft 1.15.1 in the Windows build.
  Removed the system timing hack which was activated when the Accurate VBeam option was enabled.
  Fixed the include directories in Audio Common for the Windows 32bit build.
  Fixed the include directories in Audio Common for the Windows build.
  Messed up the static include line
  Fix include paths and compiling in Linux. Externals soundtouch is 1.7.1, while Ubuntu 12.10 is 1.6.x. Externals soundtouch is compiled with integer samples, while ubuntu is compiled with float samples. Float samples is probably the more common route. If you're going to use soundtouch, you should probably use SAMPLETYPE instead of explicitly choosing short. This probably breaks the windows build since its includes aren't setup.
  OSX: typedef signed char BOOL
  OSX build fix
  Build fix
  Added audio time stretching by using the SoundTouch library.
  Implemented correct audio timing.
  OpenAL for Windows initial commit
2013-01-15 22:40:12 +11:00
Jordan Woyak
5c371549d3 fix cmake hacks 2013-01-09 18:39:28 -06:00
Ryan Houdek
6b29918ea3 Messed up the static include line 2013-01-09 10:42:05 -06:00
Ryan Houdek
01f4d9f386 Fix include paths and compiling in Linux. Externals soundtouch is 1.7.1, while Ubuntu 12.10 is 1.6.x. Externals soundtouch is compiled with integer samples, while ubuntu is compiled with float samples. Float samples is probably the more common route. If you're going to use soundtouch, you should probably use SAMPLETYPE instead of explicitly choosing short. This probably breaks the windows build since its includes aren't setup. 2013-01-09 10:26:12 -06:00
skidau
63b38be97c Added audio time stretching by using the SoundTouch library. 2013-01-09 22:57:32 +11:00
Glenn Rice
bb7c262539 Add a linux .desktop file to add dolphin-emu to the menu, and install it
when running 'make install'.
2013-01-07 16:50:48 -06:00
Ryan Houdek
b2911516de Disable the warning about va_list being mangled differently now. 2012-12-30 01:42:33 -06:00
Ryan Houdek
67c1c6b062 Merge branch 'GLES-software' 2012-12-26 12:54:58 -06:00
Ryan Houdek
01953ff64a Rename the interface files and hopefully fix OSX building. 2012-12-25 19:08:24 -06:00
NeoBrainX
5ac1e908b1 Truly unstable. 2012-12-24 22:12:33 +01:00
NeoBrainX
9a9f567f28 ... and back to unstable again 2012-12-24 21:29:24 +01:00
NeoBrainX
4798524b75 Dolphin 3.5 release. 2012-12-24 21:29:24 +01:00
Ryan Houdek
296b9b1c16 Small bit of clean up in GLES-software. 2012-12-24 09:37:12 -06:00
Ryan Houdek
b78f5debe6 Initial push of GLES and GLUtil file breakup. 2012-12-17 14:54:20 -06:00
Pierre Bourdon
764cd455b3 Revert "fix Snow Leopard compatibility"
This change broke compilation on some OSX 10.7 configurations.

This reverts commit b2e2e49fe4.
2012-11-13 10:22:56 +01:00
Shawn Hoffman
b2e2e49fe4 fix Snow Leopard compatibility
Checking for clang in Xcode bundle seems pointless, command line tools should be installed.
Setting the path explicity to avoid fink/macports/homebrew prevents use of locally installed packages like clang and wxwidgets.
Realistically using opencl means the minimum OSX version targetable is 10.6.
Correct TARGET_SYSROOT check, add required -mmacosx-version-min to linker flags.
also using wxwidgets gl component.
2012-10-22 16:45:37 -07:00
Scott Moreau
80c15f21b4 Add SDL2 support to build system.
Dolphin code already builds against SDL2 but the build system never
checks for SDL2, which is the what latest SDL is called now. SDL2
replaces SDL 1.3. This allows Dolphin to be build against SDL2, which
activates certain new features such as the haptic interface.
2012-07-12 19:47:17 -06:00
Pierre Bourdon
c83f87dfc4 Moved the _FILE_OFFSET_BITS=64 definition before the dependency checks. Fixes compilation on Linux x86. 2012-05-17 00:11:55 +02:00
Glenn Rice
40640217f1 Fix hide mouse cursor on linux.
Fix emulator window position when rendering to main on linux.
Allow building against wxWidgets 2.9.3 on linux.
2012-05-02 14:40:40 -05:00
godisgovernment
d5ae3e90a8 cmake elif() -> elseif() 2012-03-26 03:27:18 +00:00
Shawn Hoffman
4130116a85 fix building on OS X when no OSX SDK is installed. (i.e. just commandline tools) 2012-03-22 18:11:45 -07:00
Shawn Hoffman
f7423a0a4f Merge branch 'master' into wxw3-update
Conflicts:
	Source/Core/DolphinWX/Src/LogWindow.cpp
2012-03-22 17:57:38 -07:00
Pierre Bourdon
5242f09104 Fix Linux build: search for gthread-2.0 and pangocairo, then add both these libs to wx dependencies 2012-03-23 01:06:45 +01:00
Shawn Hoffman
c0992cc73e Build fix:
Don't use isascii() - just do it ourselves
Bump required wxw version (for shared libs)
There still seems to be linking issues on some linux distros, I can't reproduce it though...
2012-03-19 23:16:01 -07:00
Shawn Hoffman
6091774ade get wxw3 building on linux
kind of hacky because currently, shared libpng is always expected to be used
on darwin, libpng in externals is always used
2012-03-19 04:59:49 -07:00
Andrew de los Reyes
ed3f9ce288 Switch Mac compiler to Clang.
Specifically:

- Look for clang and clang++ in the new (Xcode 4.3) location first,
  then the old (Xcode 4.2) location.

- Look for sysroot in the new (Xcode 4.3) location first, then the old
  (Xcode 4.2) location.
2012-03-18 15:11:31 -07:00
Pierre Bourdon
b69a1d225a Use -std=gnu++0x instead of -std=c++0x
Bluez uses the non standard "typeof" instead of "__typeof__" in bluetooth.h.
Both GCC and Clang reject that with std=c++0x but accept it with gnu++0x.
2012-03-08 10:01:40 +01:00
Jordan Woyak
8a8dc77ef1 enable c++11 compilation in cmakelists 2012-02-24 14:19:24 -06:00
Maarten ter Huurne
15dac4584f Override PATH on OS X to avoid picking up pkg-config from MacPorts. 2011-12-19 02:57:00 +01:00
Maarten ter Huurne
6f27a29d51 Prefer static libs from Externals on OS X.
Several people had trouble building against systemwide installed libs.
And even if the build succeeds, the resulting bundle would not work on
other Macs.
2011-12-19 00:57:20 +01:00
Maarten ter Huurne
c4eb150c7e Skip XRANDR check if X11 is not found.
Our code does not compile when HAVE_XRANDR=1 and HAVE_X11=0.
This combination would not normally exist, but on OS X we skip the X11
check so it is possible for X11 to be "not found" even when the OS does
support it. On OS X 10.6 this was not a problem because XRANDR is not
detected there, but apparently on OS X 10.7 XRANDR is available.
2011-12-18 14:38:06 +01:00
Maarten ter Huurne
74d552f3ca Removed debug prints. 2011-12-17 15:32:41 +01:00
Maarten ter Huurne
5cbc31b052 Lowered wxWidgets version number requirement to 2.8.9.
I incorrectly assumed that since wx 2.8.8 lacked wxAuiToolBar, the entire 2.8.x
series lacked it. In fact in wx 2.8.9 this feature was added.

Thanks to Glenn Rice for spotting this issue.
2011-12-16 02:46:55 +01:00
Maarten ter Huurne
e13f4644bb Link weakly to OpenCL on OS X.
This makes sure Dolphin still loads when OpenCL is not available.
OpenCL was added in OS X 10.6, while we also support 10.5.
2011-12-15 06:54:42 +01:00
Maarten ter Huurne
27590c3a8f Suppress link warning about QuickTime being 32-bit only.
If we are actually missing symbols because a required architecture is missing
from a library, we'll get a link error as usual, so suppressing this warning
is pretty safe.
2011-12-15 06:41:39 +01:00
Maarten ter Huurne
4c7c29b8b6 Let "make install" on OS X copy the bundle to /Applications.
The "dsptool" executable is not included in the bundle.
The "tester" executable is not included in the bundle and it no longer
installed on other platforms, since it is neither expected nor useful
to install unit tests.
2011-12-14 02:50:36 +01:00
Maarten ter Huurne
344ca5d360 Applied compile and link flags from SCons build for OS X to CMake build.
The following changes were made:
Restricted the "-march=core2" option to i386 because the first Intel Macs
had Intel Core CPUs, not Core2.
Removed the "-mdynamic-no-pic" flag as GCC lists it as a PPC specific flag.
Removed "-Wl,-read_only_relocs,suppress" because it seems to be related
to "-mdynamic-no-pic" and I see no need for it.
Removed "-Wextra-tokens -Wnewline-eof" because they are GCC specific and
not OS X specific.
2011-12-11 21:27:06 +01:00
Maarten ter Huurne
9ede977a56 Added QuickTime framework as dependency for wxWidgets on OS X.
It seems that the required functions are in an already included framework
on x86_64, but on i386 we depend on QuickTime.
2011-12-11 21:24:40 +01:00
Maarten ter Huurne
c1cf4f80cf Added bundle version and copyright string to OS X bundle info. 2011-12-11 16:21:17 +01:00
Maarten ter Huurne
f9133a7376 Link to the required OS X frameworks.
Previously, there was just one list of frameworks regardless of which part
of the code depended on which frameworks. Now we keep separate lists for
the Dolphin core, the Dolphin GUI and internal use by wxWidgets.
2011-12-07 08:26:44 +01:00
Maarten ter Huurne
24dcb7922c On OS X, compile only against standard system libs and Externals.
Libraries from MacPorts, Fink or manually installed stuff in /usr/local
will be ignored. This ensures the binary will work on other machines as well.
2011-12-05 05:44:35 +01:00
Maarten ter Huurne
54ea98b0a9 Refer to the wxWidgets libary as "wx" instead of its full path name.
This ensures that additional library dependencies declared for "wx"
using target_link_libraries() are applied.
2011-12-05 05:39:41 +01:00
Maarten ter Huurne
d440dfe9b2 Link against systemwide LZO using the info gathered by check_lib(). 2011-12-05 05:33:35 +01:00
Maarten ter Huurne
bb182d88b7 Link against systemwide OpenCL on OS X. 2011-12-05 05:26:28 +01:00
Maarten ter Huurne
20fa8bb9f2 Fixed linking to wxWidgets built from Externals under OS X. 2011-12-05 01:10:45 +01:00
Maarten ter Huurne
7417ecf67f Tell the linker to not treat its input as Objective C/C++ source.
Flags in CMAKE_CXX_FLAGS are passed to both compile and link commands.

A cleaner solution would be to use set_source_files_properties().
However, currently there are headers (StdThread.h, maybe more) that contain
Objective syntax. So it is not easy to determine exactly which source files
should be compiled as Objective C/C++ and that set can quickly change when
certain #include directives are modified. The solution for that would be to
move all uses of Objective syntax to implementation (.cpp) files and then
apply set_source_files_properties() to those.
2011-12-05 00:57:51 +01:00
Maarten ter Huurne
7f578ce1ae Use Externals/wxWidgets3 instead of Externals/wxWidgets under OS X.
The "3" variant has some extra stuff merged that helps under OS X.
This split should not last longer than until the wxWidgets 3.0 release.
2011-12-04 15:34:23 +01:00
Maarten ter Huurne
ffb06c23ac Added version check for wxWidgets.
If the systemwide wxWidgets is too old, we can fall back to the version
from Externals instead of letting the build fail.

Note that while the version in Externals appears to be wxWidgets 2.8,
it has post-2.8 features manually added to it (wxAuiToolBar), so the
version check only accepts 2.9 or higher.
2011-12-04 03:37:02 +01:00
Maarten ter Huurne
7c92b94bc1 Use Cg from Externals if it is not found systemwide. 2011-12-04 02:48:01 +01:00