summaryrefslogtreecommitdiff
path: root/CMakeModules
AgeCommit message (Collapse)Author
2025-02-10cmake: update Qt configuration and externals URLZephyron
- Simplify Qt version selection to always use 6.8.2 instead of conditional versions - Update bundled externals URL to use git.citron-emu.org/Citron - Update MSVC toolchain references from 2019 to 2022 for Qt paths This change streamlines Qt version management and updates the infrastructure to use newer MSVC toolchain paths.
2025-02-01cmake: Update Qt download configuration and aqtinstall versionZephyron
- Switch from specific Qt modules to downloading all modules using '-m all' - Update aqtinstall version from v3.1.18 to v3.2.0 This change allows for a more complete Qt installation and uses a newer version of the aqtinstall tool.
2025-01-14Revert incorrect copyright attribution for non-contributed filesZephyron
- In commit b3facaa6bb30cdc39f2b7d632fef1e3bfeee7785, the copyright header was updated to include "Citron Homebrew Project" across multiple files, regardless of whether any contributions were made. - This commit removes the incorrect attribution and reverts the copyright header to its previous state. - Copyright attribution should only be added when meaningful contributions have been made to the file. - This commit ensures proper compliance with copyright standards and maintains correct attribution to the respective contributors. - Special thanks to Tachi for pointing out the need for these corrections and ensuring that proper attribution practices are followed.
2025-01-12ui(QT): QT 6.7.3 Implementationvampiric_x
2024-12-31core: Update copyright headersZephyron
- Update copyright headers to include Citron Homebrew Project - Add 2025 to copyright years
2024-12-31chore: update project references and add Citron copyrightZephyron
- Replaced all references to the old project name with Citron. - Added Citron copyright information alongside existing notices in all files.
2024-12-31chore: update project branding to CitronZephyron
2024-01-26cmake: support simpleini cmake config and pc fileAlexandre Bouvier
2023-11-30cmake: prefer system gamemode libraryAlexandre Bouvier
2023-11-26cmake: prefer system simpleini libraryAlexandre Bouvier
2023-11-21general: Remove iniht895
2023-10-25cmake: prefer system stb headersAlexandre Bouvier
2023-10-02ci: fix new codespell errorsLiam
2023-09-18cmake: prefer system renderdoc headerAlexandre Bouvier
2023-08-22Add macos moltenvk bundle, Add copy moltevk dylib scriptFeng Chen
2023-06-03android: Use ext-android-bin for external binaries.bunnei
2023-06-03cmake: download architecture-specific ffmpeg for androidLiam
2023-06-03cmake: Integrate bundled FFmpeg for Android.bunnei
2023-05-31CopyFFmpegDeps: Update variable namelat9nq
FFmpeg_DLL_DIR does not exist anywhere else in the repository. Evidently, the variable name was antiquated at some point, but it continued to work here as a zombie. Update the name and avoid copy issues.
2023-05-13Use TARGET_FILE_DIR generator expressionDanila Malyutin
Use $<TARGET_FILE_DIR:...> where appropriate instead of trying to guess where the binary will end up.
2023-03-12general: fix spelling mistakesLiam
2023-02-28cmake: support components in find modulesAlexandre Bouvier
2023-01-23cmake: prefer system llvm libraryAlexandre Bouvier
2023-01-02cmake: move find-modules to root cmake dirAlexandre Bouvier
2022-11-24CMake: rework for Qt6 supportKyle Kienapfel
This PR rearranges things in the CMake system to make compiling with Qt6 possible 1. Camera API has changed in Qt6, so the camera feature is disabled 2. A previous fix involving QLocale is now version gated. 3. QRegExp replaced with QRegularExpression, see #5343 4. Qt6_LOCATION option added to specify a location to search for Qt6 (see examples below) 5. windeployqt is used to copy Qt6 files into the build directory on Windows Notes for Arch Linux Arch install happened to have qt6-base qt6-declarative qt6-translations installed mkdir build && cd build cmake .. -GNinja -DYUZU_USE_BUNDLED_VCPKG=ON -DYUZU_TESTS=OFF -DENABLE_QT6=YES -DYUZU_USE_BUNDLED_QT=NO Windows (MSVC) Qt wants users to download precompiled libraries via an online installer, it is worth noting that the GPL/LGPL takes precendence over any ... In the Qt Maintenance tool, under a version, such as 6.3.1 Select "MSVC 2019 64-bit" Under Additional Libraries Qt Multimedia may be of use for Camera support For the Web Applet I had to select the following: PDF Positioning WebChannel WebEngine mkdir build && cd build cmake -G "Visual Studio 16 2019" -DQt6_LOCATION=C:/Qt/6.4.0/msvc2019_64/ \ -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=YES -DYUZU_USE_BUNDLED_QT=NO \ -DENABLE_QT_TRANSLATION=YES -DENABLE_QT6=YES .. Some numbers for reference (msvc2019_64) Qt5 (slimmed down) 508 MB Qt5.15.2 all in 929 MB Qt6.3.1 1.71 GB Qt6.3.2 1.73 GB Qt6.4.0-beta3 1.83 GB Qt6.4.0 1.67 GB
2022-09-18cmake: fix git detectionAlexandre Bouvier
2022-07-27chore: make yuzu REUSE compliantAndrea Pappacoda
[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
2022-07-23service: irs: Move to IRS namespace and minor fixesgerman77
2022-07-23yuzu: Hook qt camera to camera drivergerman77
2022-07-15CopyYuzuQt5Deps: Remove unused dllsMorph
2022-07-04CI: fix cachingliushuyu
2022-06-16CMakeModules: Add MinGWClangCrosslat9nq
Facilitates what programs we need for cross-compiling to Windows from Linux using LLVM's compilers. Based on MinGWCross
2021-12-20Allow overriding SCM version infoAndrew Udvare
If the build is from a non-repository, these functions will return empty. This patch allows using defines to CMake to set version info such as -DGIT_BRANCH=master.
2021-10-02CMakeModules: Add Qt5QmlModelMorph
Required by Qt 5.15's QtWebEngine
2021-07-22cmake: Remove unused code in GenerateSCMRev.cmakeReinUsesLisp
Remove shader code hash generation code as it's no longer used.
2021-07-22shader: Remove old shader managementReinUsesLisp
2021-05-26cmake: Download Qt binaries on Linux if neededlat9nq
If the local version of Qt is older than the minimum version required by yuzu, download a pre-built binary package from yuzu-emu/ext-linux-bin and build yuzu with it, instead. This also requires linking yuzu to the correct libraries after building it, and copying over the required binaries when building yuzu. This sets the Qt requirement to 5.12, which is intentionally behind the versions used by our toolchains since they are not all updated yet to 5.15.
2021-04-22cmake: Download Boost if inadequate local versionlat9nq
Building SDL2 from externals is incompatible with Conan's version of libiconv, a requirement of Conan's Boost package. Solution is to use the same Boost package in use by the linux-fresh container. This tells CMake to download boost_1_75_0.tar.xz from yuzu-emu/ext-linux-bin at CMake's configuration step, much the same way Qt and FFmpeg are downloaded for Windows. Also makes DownloadExternals.cmake cross-platform. Although the CMake code is not entirely specific to Linux, only Linux has Boost libraries available at ext-linux-bin, whereas there is no equivalent Boost package for Windows at ext-windows-bin. caveat emptor
2021-02-09cmake: Update FFmpeg to 4.3.1lat9nq
Download FFmpeg package version 4.3.1. Uses a file defined within the package to determine with DLLs to copy. Also corrects a submodule name.
2021-02-08cmake: Revert FFmpeg 4.3.1 update for Windows buildsameerj
The new 4.3.1 externals build seems to not be compatible with yuzu. This also fixes an oversight when renaming CMake variables.
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-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-07-01cmake: stop linking against QGL after c6a0ab979239Jan Beich
2020-06-11gl_arb_decompiler: Implement an assembly shader decompilerReinUsesLisp
Emit code compatible with NV_gpu_program5. This should emit code compatible with Fermi, but it wasn't tested on that architecture. Pascal has some issues not present on Turing GPUs.
2020-05-01Make compatible with the current MinGW cross-compilerlat9nq
The Docker image was just updated to use Arch Linux instead of Ubuntu. This PR sets the compiler names to reflect how they are installed on the Arch Linux Docker image. Fixes "x86_64-w64-mingw32-g++-posix is not a full path and was not found in the PATH." errors in CMake.
2020-03-23Use the correct directory for Qt PluginsJames Rowe
2020-03-13shader/transform_feedback: Add host API friendly TFB builderReinUsesLisp
2020-03-09video_core: Rename "const buffer locker" to "registry"ReinUsesLisp
2020-03-09gl_shader_cache: Rework shader cache and remove post-specializationsReinUsesLisp
Instead of pre-specializing shaders and then post-specializing them, drop the later and only "specialize" the shader while decoding it.
2020-01-16Fix git version in scm_rev.cppJames Rowe