Commit graph

129 commits

Author SHA1 Message Date
liushuyu
b5db6fc74e externals/opus: use CMakeLists shipped with Opus itself 2023-10-22 14:21:33 -06:00
Narr the Reg
acddebe3e1 externals: stb: Split library into cpp file 2023-10-07 20:57:19 -06:00
Alexandre Bouvier
6c2231980f cmake: prefer system renderdoc header 2023-09-18 18:35:20 +02:00
GPUCode
cc2c6d8805 debug: Add renderdoc capture hotkey 2023-09-14 16:37:41 +03:00
Liam
f80e7b3136 Skip additional mbedcrypto warnings options on MSVC 2023-08-25 19:23:34 -04:00
comex
774b7d07ae Avoid $<CXX_COMPILER_ID:Clang> because it doesn't include AppleClang. 2023-08-25 19:22:31 -04:00
comex
4285e35375 Warnings cleanup for GCC 13 and Clang 16
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".
2023-08-25 19:22:31 -04:00
Alexandre Bouvier
dad3ef76a2 cmake: allow using system VMA library 2023-07-12 04:51:45 +02:00
GPUCode
5196f05cec video_core: Add BCn decoding support 2023-06-27 18:00:09 -07:00
GPUCode
7a8631cd45 externals: Use cmake subdirectory 2023-06-26 18:59:24 +03:00
lat9nq
0a4650cd2b externals: Add vma and initialize it
video_core: Move vma implementation to library
2023-06-18 12:45:12 +03:00
liamwhite
fd6ac3a69a Merge pull request #10739 from zeltermann/sdl-cpuinfo
Re-enable SDL's `CPUinfo` subsystem
2023-06-16 00:08:53 -04:00
bunnei
4abd6e552c Merge pull request #10603 from lat9nq/tz-more-complete
core,common: Implement missing time zone data/computations
2023-06-13 13:28:45 -07:00
zeltermann
f556cce8b1 Re-enable SDL's CPUinfo subsystem
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.
2023-06-12 21:36:07 +07:00
lat9nq
23f2b1ebad nx_tzdb: Create headers from downloaded system archive data
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
2023-06-05 15:15:22 -04:00
Liam
d54605d1a5 build: only enable adrenotools on arm64 2023-06-03 00:05:43 -07:00
Liam
46927d217c externals: add adrenotools for bcenabler 2023-06-03 00:05:28 -07:00
Alexandre Bouvier
1509c64d57 cmake: apply defaults to all externals 2023-05-24 04:57:04 +02:00
Liam
011dfe1db7 textures: add BC1 and BC3 compressors and recompression setting 2023-05-23 12:54:40 -04:00
Alexandre Bouvier
00c30d5f69 externals: use openssl from vcpkg 2023-02-28 06:39:54 +01:00
Alexandre Bouvier
14dc3d3c23 cmake: fix cpp-jwt build 2023-02-22 01:13:35 +01:00
Alexandre Bouvier
8768e16b6c cmake: prefer system llvm library 2023-01-23 06:23:00 +01:00
liamwhite
ef4b11726f Merge pull request #9555 from abouvier/catch2-update
tests: update catch2 to 3.0.1
2023-01-22 18:22:47 -05:00
Kelebek1
90f546cba4 Add stacktrace symbol demangling 2023-01-14 04:43:21 +00:00
Alexandre Bouvier
8789c9321a cmake: support the standard cmake testing option 2023-01-05 05:03:34 +01:00
Alexandre Bouvier
eac2672a41 cmake: move find-modules to root cmake dir 2023-01-02 18:22:07 +01:00
Alexandre Bouvier
37d8c9a305 cmake: allow options shadowing with normal variables 2023-01-02 02:43:38 +01:00
Liam
1bde70141a cmake: make Vulkan-Headers external the default 2022-12-28 20:55:32 -05:00
Liam
41ba0d07e6 cmake: make libusb optional 2022-12-28 17:26:46 -05:00
Alexandre Bouvier
87fef2c12c cmake: prefer system libusb 2022-12-06 05:30:40 +01:00
liamwhite
b4ef55753e Merge pull request #6833 from abouvier/unbundle
cmake: prefer system libraries
2022-12-05 12:26:09 -05:00
Alexandre Bouvier
325a016cd2 cmake: prefer system libraries 2022-12-04 17:09:25 +01:00
Liam
e5ecad8824 yuzu-cmd: link SDL2 correctly 2022-12-04 10:59:58 -05:00
liamwhite
33d9604ed2 Merge pull request #9375 from jbeich/xbyak-no-install
externals: don't install xbyak as part of yuzu install
2022-12-04 10:46:50 -05:00
Liam
8fbec5d298 externals: update dynarmic, SDL2 2022-12-04 10:12:26 -05:00
Jan Beich
6f5910de45 externals: disable xbyak install targets after 9509fb30a4
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
2022-12-03 23:51:18 +00:00
liamwhite
e20c5a0b7f Merge pull request #9289 from liamwhite/fruit-company
general: fix compile for Apple Clang
2022-12-03 12:09:21 -05:00
lat9nq
868c5ca1cb CMake: Directly link to SDL2-static when appropriate
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.
2022-11-28 23:21:14 -05:00
Liam
8b5172f166 externals: always use LibreSSL on Windows 2022-11-23 10:24:25 -05:00
Liam
5a712bb51a general: fix compile for Apple Clang 2022-11-22 22:22:28 -05:00
Liam
9509fb30a4 Initial ARM64 support 2022-11-09 16:58:49 -05:00
Vamsi Krishna
6fcb7b20de Fix Cmake warning for CMP0077 2022-09-04 13:45:33 +05:30
Andrea Pappacoda
89750a0ebf build(externals): rename Findopus to FindOpus
This better matches upstream's FindOpus.cmake file, and it will make
using upstream's FindOpus.cmake file easier.
2022-08-01 12:31:31 +02:00
Andrea Pappacoda
6a2efdda2f chore: make yuzu REUSE compliant
[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 b2eb103829
2022-07-27 12:53:49 +02:00
FearlessTobi
846c50dd42 Address first part of review comments 2022-07-25 21:59:30 +02:00
FearlessTobi
00526e94d1 network: Add initial files and enet dependency 2022-07-25 21:57:14 +02:00
Liam
79bf4bc3ff general: fix compilation on MinGW GCC 12 2022-06-13 20:09:32 -04:00
Andrea Pappacoda
04380c99e8 audio_core: remove time stretcher
Also drop the SoundTouch dependency
2022-04-01 19:54:58 +02:00
Alexandre Bouvier
4b791bcad7 cmake: make tests optional 2022-01-12 00:36:20 +01:00
bunnei
13f63ec38a Merge pull request #7610 from Tatsh/more-system-libs
Add support for linking against system Opus
2022-01-04 17:32:35 -08:00