Commit graph

157 commits

Author SHA1 Message Date
lat9nq
c8a26a2cbf cmake: Use SDL 2.0.14 and fix CMake scope issue
Forces using SDL 2.0.14. Upgrades the SDL external to that version. Adds
a message when switching to the external.

Fixes an error where input_common only links to SDL when SDL2_FOUND is
set, but externals/CMakeLists cannot set that variable to the required
scope. Switch to using ENABLE_SDL2, which we can use since we now
include the SDL source.
2021-04-17 23:42:57 -04:00
lat9nq
688720e9a7 externals: Add SDL 2.0.12
Since Bintray is (soon to be) no more, there needs to be a way to
acquire SDL2. Since 20.04's version is older than our minimum required
version (2.0.12), add it as an external.
2021-04-16 19:12:47 -04:00
Markus Wick
2953f841dd externals: Search for shared opus installation.
We had used conan for opus before, but there was a bug in the AVX detection.
However we still had the Findopus.cmake file within the repository, but not used.

This patch reenables the Findopus helper and prefer the system wide installation of opus.
2021-04-08 23:49:32 +02:00
Markus Wick
4a9fadecfe externals: Fix case spelling of libzip.
CMake is case senstive, so Libzip vs LIBZIP was a bug.
Upstream calls themself libzip, so let's pick this naming.
2021-04-02 00:30:13 +02:00
ReinUsesLisp
4df8b8a0f5 cmake: Always enable Vulkan
Removes the unnecesary burden of maintaining separate #ifdef paths and
allows us sharing generic Vulkan code across APIs.
2020-12-24 21:07:24 -03:00
liushuyu
2b96ae4449 externals: auto detect system OpenSSL 2020-10-27 14:20:20 -06:00
liushuyu
6be4451e39 web_backend: fix a regression introduced in 16de0a6
* A regression was in 16de0a6 and token verification function was
  broken.
* The reason being `httplib` now requires OpenSSL 1.1+ API while
  LibreSSL 2.x provided OpenSSL 1.0 compatible API.
* The bundled LibreSSL has been updated to 3.2.2 so it now provides
  OpenSSL 1.1 compatible API now.
* Also the path hint has been added so that it will find the correct
  path to the CA certs on *nix systems.
* An option is provided so that *nix system distributions/providers can
  use their own SSL implementations when compiling Yuzu/Citra to
  (hopefully) complies with their maintenance guidelines.
* LURLParse is also removed since `httplib` can handle
  `scheme:host:port` string itself now.
2020-10-27 02:57:19 -06:00
Lioncash
16de0a6a96 core/CMakeLists: Make some warnings errors
Makes our error coverage a little more consistent across the board by
applying it to Linux side of things as well. This also makes it more
consistent with the warning settings in other libraries in the project.

This also updates httplib to 0.7.9, as there are several warning
cleanups made that allow us to enable several warnings as errors.
2020-10-13 13:16:49 -04:00
David Marcec
2961282fae externals: Track opus as submodule instead of using conan
Supersedes #4068 see for details.
2020-07-01 15:09:33 +10:00
bunnei
4bca92c41e externals: Revert to libressl, as build is broken with find_package(OpenSSL). (#4093)
* externals: Revert to libressl, as build is broken with find_package(OpenSLL).

* fixup! externals: Revert to libressl, as build is broken with find_package(OpenSLL).

* fixup! externals: Revert to libressl, as build is broken with find_package(OpenSLL).
2020-06-16 21:46:19 -04:00
MerryMage
74bf8f0e05 CMakeLists: xbyak comes before dynarmic 2020-06-15 22:37:27 +01:00
David Marcec
4686c15c03 Add xbyak external 2020-05-30 10:55:27 +10:00
James Rowe
2991e7441a Replace externals with Conan (#3735)
* Remove git submodules that will be loaded through conan

* Move custom Find modules to their own folder

* Use conan for downloading missing external dependencies

* CI: Change the yuzu source folder user to the user that the containers run on

* Attempt to remove dirty mingw build hack

* Install conan on the msvc build

* Only set release build type when using not using multi config generator

* Re-add qt bundled to workaround an issue with conan qt not downloading prebuilt binaries

* Add workaround for submodules that use legacy CMAKE variables

* Re-add USE_BUNDLED_QT on the msvc build bot
2020-05-08 17:09:29 -04:00
Lioncash
b250791362 externals: Update fmt to 6.2.0
Keeps the library up to date.
2020-04-17 17:19:13 -04:00
Markus Wick
91ff5f13b1 externals: Use shared libraries if possible
This is mostly done by pkgconfig.
I've focused on the larger and more stable libraries.
2020-04-16 17:03:17 +02:00
Markus Wick
3567e464d2 externals: Move LibreSSL linking to httplib.
Neither core nor web_services use OpenSSL nor LibreSSL.
However they need to link them as it's a requirement of httplib.
So let's declare this within httplib instead of core and web_services.
2020-04-16 16:46:33 +02:00
Lioncash
c7bf0adf11 externals: Track upstream libzip
Stops relying on a fork for providing zip handling and instead tracks
the upstream branch but keeps any necessary build-related changes in the
source tree directly without modifying the libzip target itself.
2019-10-29 19:52:40 -04:00
Zach Hilman
cd8c6a4afd externals: Move OSS font data to file_sys in core 2019-10-13 13:46:10 -04:00
Lioncash
85c8859a2a CMakeLists: Make libzip excluded from the ALL target
Likewise, we also only want to link in the libraries that we actually
make use of (so we don't need to worry about linking in test targets).
2019-10-04 05:02:01 -04:00
Lioncash
ee8483cf04 externals: Use upstream zlib
We don't need to depend on a custom fork for this. We can add the
library as is, and then make it excluded from the ALL target, so we only
link in the libraries that we actually make use of.
2019-10-04 05:01:57 -04:00
Zach Hilman
fc2c7ba73f externals: Add zlib and libzip libraries to handle ZIP file parsing 2019-09-30 17:18:38 -04:00
David Marcec
f35665aa28 Revert "Merge pull request #2709 from DarkLordZach/oss-ext-fonts-1"
This reverts commit 66d80be727, reversing
changes made to 43decd1681.
2019-09-22 17:47:25 +10:00
Zach Hilman
896045aa4f externals: Move OSS font data to file_sys in core 2019-09-21 19:21:22 -04:00
Lioncash
6f759c1010 externals: Update dynarmic to master
Better instruction support has been added since the last update.
2019-05-07 10:39:25 -04:00
ReinUsesLisp
6272cafac7 video_core: Add sirit as optional dependency with Vulkan
sirit is a runtime assembler for SPIR-V
2019-04-10 14:20:25 -03:00
unknown
cd2f756175 externals: Add libzstd_static to externals CMakeLists.txt 2019-03-29 18:22:07 +01:00
Lioncash
7a14d90f97 common: Remove dependency on xbyak
Xbyak is currently entirely unused. Rather than carting it along, remove
it and get rid of a dependency. If it's ever needed in the future, then
it can be re-added (and likely be more up to date at that point in
time).
2018-11-21 03:43:41 -05:00
fearlessTobi
015fa7e556 Review comments - part 3 2018-10-02 15:30:48 +02:00
fearlessTobi
dd6c300d9f Address more review comments 2018-10-02 15:30:48 +02:00
fearlessTobi
5a8a2160ce Add submodules 2018-10-02 15:30:48 +02:00
bunnei
f5b02a99e7 Merge pull request #1163 from FearlessTobi/add-audio-stretching
audio_core: Add audio stretching support
2018-09-12 18:23:54 -04:00
Tobias
9dd19c9a99 Use open-source shared fonts if no dumped file is available (#1269)
* Add open-source shared fonts

* Address review comments
2018-09-10 21:31:01 -04:00
fearlessTobi
7377afca3a Add audio stretching support 2018-09-08 18:26:23 +01:00
Lioncash
dd60ff11fe externals/CMakeLists: Add EXCLUDE_FROM_ALL to lz4's add_subdirectory() command
We don't need to build the lz4 CLI tool, or anything else. We just want
to build in the library statically, so we specify this to ensure that.
Now, we don't potentially build unnecessary targets.
2018-08-07 18:40:52 -04:00
Zion Nimchuk
4d88858c97 Make mbedtls and cubeb not install headers and libraries 2018-08-06 18:32:07 -07:00
Zach Hilman
b10c0d291f Remove files that are not used 2018-08-01 00:16:54 -04:00
bunnei
0ba0cdbed9 audio_core: Implement Sink and SinkStream interfaces with cubeb. 2018-07-30 21:45:24 -04:00
David
42f8eef8b3 Implemented various hwopus functions (#853) 2018-07-30 15:42:20 -07:00
Daniel Lim Wee Soong
930a045d42 externals: Update fmt to 4d35f94
Versions prior to this didn't compile on OpenBSD due to unconditional
use of the non-standard strtod_l() function.

The fmt::MemoryWriter API has been removed in the intervening
versions, so replace its use with fmt::memory_buffer and fmt::format_to.

The library also no longer provides the fmt::fmt ALIAS, so define
it in externals/CMakeLists.txt.
2018-04-03 02:49:58 +08:00
James Rowe
5dbd091a80 Massive removal of unused modules 2018-01-12 19:11:03 -07:00
bunnei
2817ec4da4 core: Gut out cryptop, since it doesn't compile with C++17. 2018-01-12 19:36:41 -05:00
MerryMage
ced9768819 arm_dynarmic: Implement core 2018-01-12 17:48:29 -05:00
bunnei
6545152acd cmake: Don't compile Dynarmic as it's unused. 2018-01-04 17:01:02 -05:00
bunnei
775cf60729 Merge remote-tracking branch 'upstream/master' into nx
# Conflicts:
#	src/core/CMakeLists.txt
#	src/core/arm/dynarmic/arm_dynarmic.cpp
#	src/core/arm/dyncom/arm_dyncom.cpp
#	src/core/hle/kernel/process.cpp
#	src/core/hle/kernel/thread.cpp
#	src/core/hle/kernel/thread.h
#	src/core/hle/kernel/vm_manager.cpp
#	src/core/loader/3dsx.cpp
#	src/core/loader/elf.cpp
#	src/core/loader/ncch.cpp
#	src/core/memory.cpp
#	src/core/memory.h
#	src/core/memory_setup.h
2017-10-09 23:56:20 -04:00
bunnei
f4b1216c81 externals: Add lz4. 2017-09-30 14:30:04 -04:00
James Rowe
62a7372026 Build: Enable SSL in mingw by linking against WinSSL
The mingw builds aren't submitting telemetry because the curl library
they are linked against is configured to use openSSL and openSSL looks
for the certificates in the users home folder. This keeps it from
contacting web services because it can't communicate over SSL.

This commit adds a download in mingw builds that will download a
precompiled curl for mingw linked against winssl and sspi.
2017-09-11 09:10:17 -06:00
James
5684dc8228 Don't pull in entire JSON repo for single header file 2017-07-18 13:37:27 +10:00
bunnei
7927c9b28f web_service: Add CMake flag to enable. 2017-07-11 18:33:41 -04:00
bunnei
a13865c10f externals: Add JSON as a submodule. 2017-07-09 18:38:02 -04:00
bunnei
7f37ccd0d8 externals: Add CPR as a submodule. 2017-07-09 13:24:20 -04:00