aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
AgeCommit message (Collapse)Author
2021-01-21Bump conan SDL2 version to 2.0.14Valeri
Update conan package version used for building. A couple of new joystick-related functions might pose interest to yuzu's input system. Some sort of LED management have been added, but it doesn't seem to support leds used for player number indication JoyCons/ProCons use.
2021-01-07CMakeLists: Disable YUZU_ENABLE_BOXCAT if ENABLE_WEB_SERVICE is disabledlat9nq
Boxcat is a web service but is still enabled if ENABLE_WEB_SERVICE is disabled during the CMake stage, which causes compilation issues with either missing headers or missing libraries. This disables YUZU_ENABLE_BOXCAT regardless of the input if ENABLE_WEB_SERVICE is disabled.
2021-01-03Update zstd to v1.4.8FearlessTobi
Co-Authored-By: Vitor K <29167336+vitor-k@users.noreply.github.com>
2020-12-24cmake: Always enable VulkanReinUsesLisp
Removes the unnecesary burden of maintaining separate #ifdef paths and allows us sharing generic Vulkan code across APIs.
2020-12-15cmake/conan: Conditionally add target Boost::contextlat9nq
Addresses an issue with the two competing versions of Conan's Boost package that are currently floating around. Adds the Boost::context target only if it's recognized by CMake as a target.
2020-12-13cmake: Fix generating CMake configs and linking with Boostlat9nq
Fixes regression by 761206cf81b271f7f4dd6a167a120325b760dbf3, causing yuzu to not build on Linux with any version of Boost except a cached 1.73 Conan version from before about a day ago. Moves the Boost requirement out of the `REQUIRED_LIBS` psuedo-2D-array for Conan to instead be manually configured, using Conan as a fallback solution if the system does not meet our requirements. Requires any update from the linux-fresh container in order to build. **DO NOT MERGE** until someone with the MSVC toolchain can verify this works there, too.
2020-12-06CMakeLists,network: Create YUZU_UNIX macro to replace __unix__comex
__unix__ is not predefined on Apple platforms even though they are Unix.
2020-11-08externals: Update fmt to 7.1.2Lioncash
Updates to the latest bugfix release of fmt.
2020-11-03core: Remove usage of unicornLioncash
Unicorn long-since lost most of its use, due to dynarmic gaining support for handling most instructions. At this point any further issues encountered should be used to make dynarmic better. This also allows us to remove our dependency on Python.
2020-10-29Merge pull request #4831 from lioncash/fmtbunnei
externals: Update fmt to 7.1.0
2020-10-26video_core: NVDEC Implementationameerj
This commit aims to implement the NVDEC (Nvidia Decoder) functionality, with video frame decoding being handled by the FFmpeg library. The process begins with Ioctl commands being sent to the NVDEC and VIC (Video Image Composer) emulated devices. These allocate the necessary GPU buffers for the frame data, along with providing information on the incoming video data. A Submit command then signals the GPU to process and decode the frame data. To decode the frame, the respective codec's header must be manually composed from the information provided by NVDEC, then sent with the raw frame data to the ffmpeg library. Currently, H264 and VP9 are supported, with VP9 having some minor artifacting issues related mainly to the reference frame composition in its uncompressed header. Async GPU is not properly implemented at the moment. Co-Authored-By: David <25727384+ogniK5377@users.noreply.github.com>
2020-10-26externals: Update fmt to 7.1.0Lioncash
Keeps the used version of the library up to date.
2020-09-09cmake: Update to Qt 5.12.8Morph
2020-08-14CMakeLists: Update fmt to 7.0.3Lioncash
Keeps the library up to date and fixes a few bugs
2020-08-08General: Tidy up clang-format warningsLioncash
2020-07-27CMakeLists: Update boost to 1.73Lioncash
Keeps the library up to date.
2020-07-27CMakeLists: Update catch to 2.13Lioncash
Keeps the library up to date
2020-07-27CMakeLists: Update zstd to 1.4.5Lioncash
Keeps the library version up to date.
2020-07-27CMakeFiles: Update json to 3.8.0Lioncash
Keeps the tracked version of the library up to date.
2020-07-18yuzu: Port translation support from CitraFearlessTobi
Co-Authored-By: Weiyi Wang <wwylele@gmail.com>
2020-07-13Merge pull request #4280 from jbeich/system-libusbLC
cmake: pass libusb include directory
2020-07-12CMakeLists: Enable usage of C++20 on LinuxLioncash
This also fixes building on Linux with C++20, so we can enable it across the board for all OSes that we officially support.
2020-07-12CMakeLists: Correct boost asio disabling define nameLioncash
Previously the name of the define was missing the BOOST_ prefix.
2020-07-12CMakeLists: Disable concepts in boost asioLioncash
2020-07-12Merge pull request #4290 from lioncash/latestLC
CMakeLists: Make use of /std:c++latest on MSVC
2020-07-11CMakeLists: Do not search for system libusb on macOSMerryMage
2020-07-11CMakeLists: Make use of /std:c++latest on MSVCLioncash
Provides the buildbot with one builder that is always tracking the latest version of the C++ standard, allowing us to progressively rectify our code and amend any differences between standards over time instead of waiting for a complete standard change, potentially breaking a lot of code all at once.
2020-07-10Merge pull request #4221 from jbeich/unused-qt-openglbunnei
cmake: drop dependency on QtOpenGL
2020-07-10Merge pull request #4287 from lioncash/fmt7bunnei
CMakeLists: Update fmt to 7.0.1
2020-07-10CMakeLists: Update fmt to 7.0.1Lioncash
Keeps the package up to date with the latest major release of fmt. This version brings in quite a bit of improvements, such as code size reduction, etc.
2020-07-10CMakeLists: Use lower-case command namesLioncash
Our convention uses lower-case command names, so this is just a consistency change.
2020-07-10cmake: Fix libusb builds breakingDavid Marcec
2020-07-09cmake: pass libusb include directory as wellJan Beich
In file included from src/input_common/gcadapter/gc_adapter.cpp:8: src/./input_common/gcadapter/gc_adapter.h:11:10: fatal error: 'libusb.h' file not found #include <libusb.h> ^~~~~~~~~~
2020-07-07cmake: unbreak system libusb supportJan Beich
Reference libusb doesn't support DragonFly and FreeBSD because those ship a different libusb implementation (supports 0.1, 1.0, 2.0 API). ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(usbi_alloc_device) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(usbi_alloc_device) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_has_capability) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_has_capability) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_has_capability) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(usbi_connect_device) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(usbi_disconnect_device) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_get_device_list) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_get_device_list) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_unref_device) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_unref_device) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_write >>> referenced by core.c >>> core.c.o:(usbi_signal_event) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_read >>> referenced by core.c >>> core.c.o:(usbi_clear_event) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_wrap_sys_device) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_wrap_sys_device) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_wrap_sys_device) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_open) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_open) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_read >>> referenced by core.c >>> core.c.o:(libusb_close) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_write >>> referenced by core.c >>> core.c.o:(libusb_close) in archive externals/libusb/libusb.a ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors) c++: error: linker command failed with exit code 1 (use -v to see invocation)
2020-07-04Fix merge conflicts?Ameer
2020-07-01cmake: stop linking against QGL after c6a0ab979239Jan Beich
2020-07-01externals: Track opus as submodule instead of using conanDavid Marcec
Supersedes #4068 see for details.
2020-06-29cmake: depend on WebEngine with system QtJan Beich
CMake Error at src/yuzu/CMakeLists.txt:7 (add_executable): Target "yuzu" links to target "Qt5::WebEngineCore" but the target was not found. Perhaps a find_package() call is missing for an IMPORTED target, or an ALIAS target is missing?
2020-06-21Singleton GC Adapter class, remove globals, fix naming conventionAmeer
Fix clang formatting Manual fix for configure_input_player formatting Add missing lib usb cmake command
2020-06-16externals: Revert to libressl, as build is broken with ↵bunnei
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-05-31Update CMakeLists.txtbunnei
2020-05-31Update CMakeLists.txtbunnei
2020-05-09Mark the opus version check as broken.Markus Wick
2020-05-08Replace externals with Conan (#3735)James Rowe
* 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-04-18cmake: Silence -Werror=implicit-fallthrough in SDL2 headersJan Beich
In file included from src/input_common/sdl/sdl_impl.cpp:16: In file included from /usr/local/include/SDL2/SDL.h:32: In file included from /usr/local/include/SDL2/SDL_main.h:25: /usr/local/include/SDL2/SDL_stdinc.h:445:9: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough] case 3: *_p++ = _val; /* fallthrough */ ^ /usr/local/include/SDL2/SDL_stdinc.h:445:9: note: insert '[[fallthrough]];' to silence this warning case 3: *_p++ = _val; /* fallthrough */ ^ [[fallthrough]]; /usr/local/include/SDL2/SDL_stdinc.h:445:9: note: insert 'break;' to avoid fall-through case 3: *_p++ = _val; /* fallthrough */ ^ break; /usr/local/include/SDL2/SDL_stdinc.h:446:9: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough] case 2: *_p++ = _val; /* fallthrough */ ^ /usr/local/include/SDL2/SDL_stdinc.h:446:9: note: insert '[[fallthrough]];' to silence this warning case 2: *_p++ = _val; /* fallthrough */ ^ [[fallthrough]]; /usr/local/include/SDL2/SDL_stdinc.h:446:9: note: insert 'break;' to avoid fall-through case 2: *_p++ = _val; /* fallthrough */ ^ break; /usr/local/include/SDL2/SDL_stdinc.h:447:9: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough] case 1: *_p++ = _val; /* fallthrough */ ^ /usr/local/include/SDL2/SDL_stdinc.h:447:9: note: insert '[[fallthrough]];' to silence this warning case 1: *_p++ = _val; /* fallthrough */ ^ [[fallthrough]]; /usr/local/include/SDL2/SDL_stdinc.h:447:9: note: insert 'break;' to avoid fall-through case 1: *_p++ = _val; /* fallthrough */ ^ break; 3 errors generated.
2020-02-17fix CMake build errors for certain SDL2 installationsBrian Clinkenbeard
2020-02-10use config mode for finding SDL2 with CMakeBrian Clinkenbeard
2020-01-23Input: UDP Client to provide motion and touch controlsfearlessTobi
An implementation of the cemuhook motion/touch protocol, this adds the ability for users to connect several different devices to citra to send direct motion and touch data to citra. Co-Authored-By: jroweboy <jroweboy@gmail.com>
2019-12-05Ignore git-related files in cmake for EA tarballsJake Merdich
This fixes the early-access builds on Windows (tested on EA 58). Cmake was previously looking for git-related files that were stripped out of the early access builds and failing; check if those exist before reading them.
2019-09-30cmake: Add cmake option to build Boxcat backendZach Hilman
Default enabled