summaryrefslogtreecommitdiffstats
path: root/externals/CMakeLists.txt (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Skip additional mbedcrypto warnings options on MSVCLiam2023-08-261-3/+5
|
* Avoid `$<CXX_COMPILER_ID:Clang>` because it doesn't include AppleClang.comex2023-08-261-3/+5
|
* Warnings cleanup for GCC 13 and Clang 16comex2023-08-261-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note: For GCC there are still a huge number of `-Warray-bounds` warnings coming from `externals/dynarmic`. I could have added a workaround in `externals/CMakeLists.txt` similar to what this PR does for other externals, but given Dynarmic's close affiliation with Yuzu, it would be better to fix it upstream. Besides that, on my machine, this makes the build warning-free except for some warnings from glslangValidator and AutoMoc. Details: - Disable some warnings in externals. - Disable `-Wnullability-completeness`, which is a Clang warning triggered by the Vulkan SDK where if any pointers in the header are marked _Nullable, it wants all pointers to be marked _Nullable or _Nonnull. Most of them are, but some aren't. Who knows why. - `src/web_service/verify_user_jwt.cpp`: Disable another warning when including `jwt.hpp`. - `src/input_common/input_poller.cpp`: Add missing `override` specifiers. - src/common/swap.h: Remove redundant `operator&`. In general, this file declares three overloads of each operator. Using `+` as an example, the overloads are: - a member function for `swapped_t + integer` - a member function for `swapped_t + swapped_t` - a free function for `integer + swapped_t` But for `operator&`, there was an additional free function for `swapped_t + integer`, which was redundant with the member function. This caused a GCC warning saying "ISO C++ says that these are ambiguous".
* cmake: allow using system VMA libraryAlexandre Bouvier2023-07-121-3/+3
|
* video_core: Add BCn decoding supportGPUCode2023-06-281-0/+3
|
* externals: Use cmake subdirectoryGPUCode2023-06-261-1/+1
|
* externals: Add vma and initialize itlat9nq2023-06-181-0/+5
| | | | video_core: Move vma implementation to library
* Merge pull request #10739 from zeltermann/sdl-cpuinfoliamwhite2023-06-161-1/+2
|\ | | | | Re-enable SDL's `CPUinfo` subsystem
| * Re-enable SDL's CPUinfo subsystemzeltermann2023-06-121-1/+2
| | | | | | | | | | | | See https://github.com/libsdl-org/SDL/issues/7809. Disabling CPUinfo triggers a bug in SDL's audio subsystem, which breaks SDL's JACK output on Linux. We're lucky it hasn't broken anything else.
* | Merge pull request #10603 from lat9nq/tz-more-completebunnei2023-06-131-0/+3
|\ \ | |/ |/| core,common: Implement missing time zone data/computations
| * nx_tzdb: Create headers from downloaded system archive datalat9nq2023-06-051-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Use lat9nq/tzdb_to_nx release data to generate header files. nx_tzdb: Use an interface library nx_tzdb: Gate download if achive not exists nx_tzdb: Fix header generator brace closing nx_tzdb: Add base directory files nx_tzdb: Add SPDX info
* | build: only enable adrenotools on arm64Liam2023-06-031-1/+3
| |
* | externals: add adrenotools for bcenablerLiam2023-06-031-0/+4
|/
* cmake: apply defaults to all externalsAlexandre Bouvier2023-05-241-19/+23
|
* textures: add BC1 and BC3 compressors and recompression settingLiam2023-05-231-0/+4
|
* externals: use openssl from vcpkgAlexandre Bouvier2023-02-281-29/+6
|
* cmake: fix cpp-jwt buildAlexandre Bouvier2023-02-221-10/+8
|
* cmake: prefer system llvm libraryAlexandre Bouvier2023-01-231-3/+6
|
* Merge pull request #9555 from abouvier/catch2-updateliamwhite2023-01-231-0/+3
|\ | | | | tests: update catch2 to 3.0.1
| * cmake: support the standard cmake testing optionAlexandre Bouvier2023-01-051-0/+3
| |
* | Add stacktrace symbol demanglingKelebek12023-01-141-0/+4
|/
* cmake: move find-modules to root cmake dirAlexandre Bouvier2023-01-021-4/+0
|
* cmake: allow options shadowing with normal variablesAlexandre Bouvier2023-01-021-7/+10
|
* cmake: make Vulkan-Headers external the defaultLiam2022-12-291-1/+1
|
* cmake: make libusb optionalLiam2022-12-281-1/+1
|
* cmake: prefer system libusbAlexandre Bouvier2022-12-061-2/+2
|
* Merge pull request #6833 from abouvier/unbundleliamwhite2022-12-051-15/+30
|\ | | | | cmake: prefer system libraries
| * cmake: prefer system librariesAlexandre Bouvier2022-12-041-15/+30
| |
* | yuzu-cmd: link SDL2 correctlyLiam2022-12-041-1/+0
|/
* Merge pull request #9375 from jbeich/xbyak-no-installliamwhite2022-12-041-1/+1
|\ | | | | externals: don't install xbyak as part of yuzu install
| * externals: disable xbyak install targets after cbaf642ffe4bJan Beich2022-12-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Prevent yuzu from trying to install bundled xbyak as it'd likely conflict with system xbyak package. Error: Orphaned: include/xbyak/xbyak.h Error: Orphaned: include/xbyak/xbyak_bin2hex.h Error: Orphaned: include/xbyak/xbyak_mnemonic.h Error: Orphaned: include/xbyak/xbyak_util.h Error: Orphaned: lib/cmake/xbyak/xbyak-config-version.cmake Error: Orphaned: lib/cmake/xbyak/xbyak-config.cmake Error: Orphaned: lib/cmake/xbyak/xbyak-targets.cmake
* | externals: update dynarmic, SDL2Liam2022-12-041-3/+1
|/
* Merge pull request #9289 from liamwhite/fruit-companyliamwhite2022-12-031-0/+3
|\ | | | | general: fix compile for Apple Clang
| * general: fix compile for Apple ClangLiam2022-11-231-0/+3
| |
* | CMake: Directly link to SDL2-static when appropriatelat9nq2022-11-291-1/+0
| | | | | | | | | | Trying to be lazy and alias SDL2 to SDL2-static causes issues in later versions of CMake. Just use the same condition to tell which one to use.
* | externals: always use LibreSSL on WindowsLiam2022-11-231-4/+8
|/
* Initial ARM64 supportLiam2022-11-091-6/+5
|
* Fix Cmake warning for CMP0077Vamsi Krishna2022-09-041-1/+0
|
* build(externals): rename Findopus to FindOpusAndrea Pappacoda2022-08-011-1/+1
| | | | | This better matches upstream's FindOpus.cmake file, and it will make using upstream's FindOpus.cmake file easier.
* chore: make yuzu REUSE compliantAndrea Pappacoda2022-07-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [REUSE] is a specification that aims at making file copyright information consistent, so that it can be both human and machine readable. It basically requires that all files have a header containing copyright and licensing information. When this isn't possible, like when dealing with binary assets, generated files or embedded third-party dependencies, it is permitted to insert copyright information in the `.reuse/dep5` file. Oh, and it also requires that all the licenses used in the project are present in the `LICENSES` folder, that's why the diff is so huge. This can be done automatically with `reuse download --all`. The `reuse` tool also contains a handy subcommand that analyzes the project and tells whether or not the project is (still) compliant, `reuse lint`. Following REUSE has a few advantages over the current approach: - Copyright information is easy to access for users / downstream - Files like `dist/license.md` do not need to exist anymore, as `.reuse/dep5` is used instead - `reuse lint` makes it easy to ensure that copyright information of files like binary assets / images is always accurate and up to date To add copyright information of files that didn't have it I looked up who committed what and when, for each file. As yuzu contributors do not have to sign a CLA or similar I couldn't assume that copyright ownership was of the "yuzu Emulator Project", so I used the name and/or email of the commit author instead. [REUSE]: https://reuse.software Follow-up to 01cf05bc75b1e47beb08937439f3ed9339e7b254
* Address first part of review commentsFearlessTobi2022-07-251-0/+5
|
* network: Add initial files and enet dependencyFearlessTobi2022-07-251-0/+4
|
* general: fix compilation on MinGW GCC 12Liam2022-06-141-0/+5
|
* audio_core: remove time stretcherAndrea Pappacoda2022-04-011-3/+0
| | | | Also drop the SoundTouch dependency
* cmake: make tests optionalAlexandre Bouvier2022-01-121-4/+0
|
* Merge pull request #7610 from Tatsh/more-system-libsbunnei2022-01-051-3/+3
|\ | | | | Add support for linking against system Opus
| * Add support for linking against system opusAndrew Udvare2021-12-211-3/+3
| |
* | Merge pull request #7587 from liushuyu/fix-linux-decodingbunnei2021-12-181-0/+9
|\ \ | | | | | | [Patch v2] externals/ffmpeg: refactor ffmpeg searching and handling in cmake
| * | externals/ffmpeg: set the cmake variable twice ...liushuyu2021-12-161-0/+3
| | | | | | | | | | | | ... to avoid leaving variable undefined in the current scope
| * | externals: fix a regression when using MSVCliushuyu2021-12-161-0/+1
| | |
| * | video_core/codecs: (re-spin) refactor ffmpeg searching and handlingliushuyu2021-12-161-0/+5
| |/
* | externals/SDL: update SDL to version with Wayland build fixAndrew Udvare2021-12-171-4/+4
| |
* | externals/CMakeLists: fix detection/init of Switch controllers in SDL 2.0.18Andrew Udvare2021-12-171-3/+4
|/ | | | | | | Enable SDL_THREADS and SDL_ATOMIC Also set SDL_WAYLAND=OFF due to build issue Closes #7572
* Revert "video_core/codecs: refactor ffmpeg searching and handling in cmake"bunnei2021-12-151-5/+0
|
* ffmpeg: move the whole tree into externals/ffmpeg/ffmpeg ...liushuyu2021-12-141-0/+5
| | | | | | | * this resolves the todo items in the CMakeLists.txt * a version requirement check for ffmpeg is added to catch issues early * for future-proof reasons, nasm/yasm is now only required when build on x86/AMD64 systems
* build: remove remaining bits of UnicornAndrea Pappacoda2021-12-101-4/+0
| | | | Unicorn has been removed in fc6db97a09e2de5eff10131ddcab9cf8fb2f736c
* externals: Remove libzipMorph2021-09-291-7/+0
|
* dynarmic: Update and enable DYNARMIC_IGNORE_ASSERTSMerry2021-08-151-0/+1
|
* xbyak: Update include pathMerry2021-08-151-1/+3
|
* emu_window_sdl2_vk: Use the generated SDL configlat9nq2021-07-161-1/+1
| | | | | | | | | | | On Linux, due to the way we include SDL2 as a submodule, it makes it difficult for us to specify which SDL_config.h we intended to include. Before, CMake would default to the dummy one included with SDL and ignore the generated one. This tells CMake to use the generated one. In addition, we define USING_GENERATED_CONFIG_H to throw an error in case the dummy config is used by accident. Fixes Vulkan not working on Linux yuzu-cmd.
* externals: httplib: replace custom httplib header with upstream as submodule.Vortex2021-06-181-1/+1
| | | | This also includes a minor change to web_service.cpp - to fix compatibility with upstream changes.
* Merge pull request #6418 from clementgallet/sdl-audio-backendbunnei2021-06-171-2/+2
|\ | | | | Audio: SDL2 audio backend
| * Add SDL2 audio backendClément Gallet2021-06-061-2/+2
| |
* | cmake: General improvements to libusb linkinglat9nq2021-06-031-0/+5
|/ | | | | | | | | Delegates libusb external communication to externals/CMakeLists.txt Ensures an interface library `usb` for every pathway input_common just links to the `usb` library now externals/libusb/CMakeLists.txt sets variables to override SDL2's libusb finding Other minor cleanup
* externals: Use defaults for building SDL2 on WIN32lat9nq2021-05-311-11/+13
| | | | | | Whatever those settings do breaks controller detection on Windows, at least with the MinGW container. If-guard it against WIN32 and just let SDL2 configure using its defaults, aside from static linking.
* Only build SDL2 subsystems that we usev19932021-05-101-1/+12
| | | | While at it, use better way to enable HIDAPI.
* On Linux, build SDL2 from externals with HIDAPI supportv19932021-05-091-0/+1
|
* externals: Use SDL2 staticallylat9nq2021-05-091-0/+3
| | | | | | | | | | | Building it as a shared library causes issues distributing it to an AppImage, since linuxdeploy expects the executable to only dynamically link to system libraries. Additionally, simply dynamically linking to a library in the binary directory is bound to cause issues. Solution is to use SDL's CMake switches and build it statically. We also alias `SDL2` to `SDL2-static` on the external submodule for compatibility with the rest of the project.
* cmake: Use SDL 2.0.14 and fix CMake scope issuelat9nq2021-04-181-2/+1
| | | | | | | | | | 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.
* externals: Add SDL 2.0.12lat9nq2021-04-171-0/+6
| | | | | | 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.
* externals: Search for shared opus installation.Markus Wick2021-04-081-1/+5
| | | | | | | 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.
* externals: Fix case spelling of libzip.Markus Wick2021-04-021-2/+2
| | | | | CMake is case senstive, so Libzip vs LIBZIP was a bug. Upstream calls themself libzip, so let's pick this naming.
* cmake: Always enable VulkanReinUsesLisp2020-12-251-3/+1
| | | | | Removes the unnecesary burden of maintaining separate #ifdef paths and allows us sharing generic Vulkan code across APIs.
* externals: auto detect system OpenSSLliushuyu2020-10-271-2/+2
|
* web_backend: fix a regression introduced in 39c8d18liushuyu2020-10-271-11/+14
| | | | | | | | | | | | | | | | * A regression was in 39c8d18 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.
* core/CMakeLists: Make some warnings errorsLioncash2020-10-131-0/+3
| | | | | | | | | 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.
* externals: Track opus as submodule instead of using conanDavid Marcec2020-07-011-0/+3
| | | | Supersedes #4068 see for details.
* externals: Revert to libressl, as build is broken with find_package(OpenSSL). (#4093)bunnei2020-06-171-1/+10
| | | | | | | * 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).
* CMakeLists: xbyak comes before dynarmicMerryMage2020-06-151-8/+7
|
* Add xbyak externalDavid Marcec2020-05-301-0/+8
|
* Replace externals with Conan (#3735)James Rowe2020-05-081-81/+6
| | | | | | | | | | | | | | | | | | | | | * 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
* externals: Update fmt to 6.2.0Lioncash2020-04-171-2/+2
| | | | Keeps the library up to date.
* externals: Use shared libraries if possibleMarkus Wick2020-04-161-19/+65
| | | | | This is mostly done by pkgconfig. I've focused on the larger and more stable libraries.
* externals: Move LibreSSL linking to httplib.Markus Wick2020-04-161-1/+6
| | | | | | 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.
* externals: Track upstream libzipLioncash2019-10-301-0/+1
| | | | | | 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.
* externals: Move OSS font data to file_sys in coreZach Hilman2019-10-131-3/+0
|
* CMakeLists: Make libzip excluded from the ALL targetLioncash2019-10-041-1/+1
| | | | | 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).
* externals: Use upstream zlibLioncash2019-10-041-3/+3
| | | | | | 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.
* externals: Add zlib and libzip libraries to handle ZIP file parsingZach Hilman2019-09-301-0/+6
|
* Revert "Merge pull request #2709 from DarkLordZach/oss-ext-fonts-1"David Marcec2019-09-221-0/+3
| | | | | This reverts commit fa1c60c33ef88c6cd0b72da46842dc9098db712d, reversing changes made to e34899067b60a69bca02761bd1290c6824bb559a.
* externals: Move OSS font data to file_sys in coreZach Hilman2019-09-221-3/+0
|
* externals: Update dynarmic to masterLioncash2019-05-071-4/+4
| | | | Better instruction support has been added since the last update.
* video_core: Add sirit as optional dependency with VulkanReinUsesLisp2019-04-101-0/+5
| | | | sirit is a runtime assembler for SPIR-V
* externals: Add libzstd_static to externals CMakeLists.txtunknown2019-03-291-0/+4
|
* common: Remove dependency on xbyakLioncash2018-11-211-9/+0
| | | | | | | 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).
* Review comments - part 3fearlessTobi2018-10-021-1/+1
|
* Address more review commentsfearlessTobi2018-10-021-4/+4
|
* Add submodulesfearlessTobi2018-10-021-0/+25
|
* Merge pull request #1163 from FearlessTobi/add-audio-stretchingbunnei2018-09-131-0/+3
|\ | | | | audio_core: Add audio stretching support
| * Add audio stretching supportfearlessTobi2018-09-081-0/+3
| |
* | Use open-source shared fonts if no dumped file is available (#1269)Tobias2018-09-111-0/+3
|/ | | | | | * Add open-source shared fonts * Address review comments
* externals/CMakeLists: Add EXCLUDE_FROM_ALL to lz4's add_subdirectory() commandLioncash2018-08-081-1/+1
| | | | | | 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.
* Make mbedtls and cubeb not install headers and librariesZion Nimchuk2018-08-071-2/+2
|
* Remove files that are not usedZach Hilman2018-08-011-0/+4
|
* audio_core: Implement Sink and SinkStream interfaces with cubeb.bunnei2018-07-311-0/+6
|
* Implemented various hwopus functions (#853)David2018-07-311-0/+4
|
* externals: Update fmt to 4d35f94Daniel Lim Wee Soong2018-04-021-0/+1
| | | | | | | | | | | 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.
* Massive removal of unused modulesJames Rowe2018-01-131-37/+0
|
* core: Gut out cryptop, since it doesn't compile with C++17.bunnei2018-01-131-3/+0
|
* arm_dynarmic: Implement coreMerryMage2018-01-121-1/+9
|
* cmake: Don't compile Dynarmic as it's unused.bunnei2018-01-041-8/+1
|
* Merge remote-tracking branch 'upstream/master' into nxbunnei2017-10-101-2/+21
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # 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
| * Build: Enable SSL in mingw by linking against WinSSLJames Rowe2017-09-111-2/+17
| | | | | | | | | | | | | | | | | | | | 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.
* | externals: Add lz4.bunnei2017-09-301-0/+5
|/
* Don't pull in entire JSON repo for single header fileJames2017-07-181-1/+1
|
* web_service: Add CMake flag to enable.bunnei2017-07-121-10/+12
|
* externals: Add JSON as a submodule.bunnei2017-07-101-0/+4
|
* externals: Add CPR as a submodule.bunnei2017-07-091-0/+6
|
* Implement basic virtual Room support based on enet (#2803)B3n302017-07-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Added support for network with ENet lib, connecting is possible, but data can't be sent, yet. * fixup! Added support for network with ENet lib, * fixup! CLang * fixup! Added support for network with ENet lib, * fixup! Added support for network with ENet lib, * fixup! Clang format * More fixups! * Moved ENetHost* and ENetPeer* into pimpl classes * fixup! Moved ENetHost* and ENetPeer* into pimpl classes * fixup! Clang again * fixup! Moved ENetHost* and ENetPeer* into pimpl classes * fixup! Moved ENetHost* and ENetPeer* into pimpl classes * fixup! Moved ENetHost* and ENetPeer* into pimpl classes
* Stop using reserved operator names (and/or/xor) with XbyakYuri Kunde Schlesner2017-06-171-3/+1
| | | | Also has the Dynarmic upgrade with the same change
* CMake: Move definitions of externals to the CMakeLists in that directoryYuri Kunde Schlesner2017-05-281-6/+42
|
* CMake: Create an INTERFACE target for CatchYuri Kunde Schlesner2017-05-281-0/+4
|
* Add the fmt string formatting libraryYuri Kunde Schlesner2017-05-271-0/+1
| | | | | | | More info at http://fmtlib.net/ This commit was based on @jroweboy's work on his spdlog branch, but with modifications.
* Core: add cryptopp library (#2412)Weiyi Wang2017-02-131-0/+3
|
* Externals: Add XbyakYuri Kunde Schlesner2016-12-151-0/+8