Commit Graph

306 Commits

Author SHA1 Message Date
SachinVin
41f13456c0
Chore: Enable warnings as errors on MSVC (#6456)
* tests: add Sanity test for SplitFilename83

fix test

fix test

* disable `C4715:not all control paths return a value` for nihstro includes

nihstro: no warn

* Chore: Enable warnings as errors on msvc + fix warnings

fixes

some more warnings

clang-format

* more fixes

* Externals: Add target_compile_options `/W0` nihstro-headers and ...

Revert "disable `C4715:not all control paths return a value` for nihstro includes"
This reverts commit 606d79b55d3044b744fb835025b8eb0f4ea5b757.

* src\citra\config.cpp: ReadSetting: simplify type casting

* settings.cpp: Get*Name: remove superflous logs
2023-05-01 22:38:58 +03:00
Steveice10
055a58f01e
audio_core: Implement OpenAL backend (#6450) 2023-05-01 21:17:45 +02:00
Steveice10
ea649263b7
build: Improvements to bundled libraries support. (#6435) 2023-04-28 13:02:53 -07:00
Steveice10
81d24dd7fb
input_common: Allow disabling GCAdapter on platforms without libusb. (#6448) 2023-04-22 17:10:12 +02:00
Vitor K
c9b2bd9077
msvc: copy openssl dlls (#6428) 2023-04-21 19:09:40 +02:00
Tobias
54385a54eb
citra_qt: Prevent OS sleep on Linux when a game is running (#6249) 2023-03-23 19:37:10 +01:00
hank121314
8d563d37b4
citra_android: Storage Access Framework implementation (#6313) 2023-03-23 14:30:52 +01:00
Steveice10
8b116aaa04
externals: Fix mismatched CryptoPP definitions between compile time and header use. (#6314) 2023-02-25 12:58:38 +02:00
Steveice10
6bef34852c
Add option to configure to download system files from Nintendo Update Service (#6269)
Co-authored-by: B3n30 <benediktthomas@gmail.com>
2023-02-09 21:58:08 +02:00
Steveice10
a8848cce43 build: Update to support multi-arch builds. 2023-01-07 01:09:32 -08:00
Tobias
ccb50e7f2c
Port yuzu-emu/yuzu#9300: "CMake: Use precompiled headers to improve compile times" (#6213)
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
2022-12-17 16:06:38 +01:00
Venkat Rao
94d0399876
fix clang format on mingw/msys2 (#6188) 2022-11-13 09:22:05 +02:00
Ameer J
c7e259366d
CMake: Use qt-5.15.7 bundled externals for VS 2019/2022 (#6176) 2022-11-07 10:09:23 +05:30
Tobias
92ad651890
Port yuzu-emu/yuzu#4290 and yuzu-emu/yuzu#4318: Changes for C++20 support (#5459)
Co-authored-by: Lioncash <mathew1800@gmail.com>
2022-11-06 03:35:20 +01:00
SachinVin
fbe06234b1 Core: Port Exclusive memory impl from yuzu
core\arm\dynarmic\arm_dynarmic.cpp: fix build

core\arm\dynarmic\arm_dynarmic.cpp: Fixes

CPP 20
2022-10-23 13:19:33 +05:30
liushuyu
c6153bb32e
CI: fix recent build issues (#6148)
Co-authored-by: Vitor K <vitor-kiguchi@hotmail.com>
2022-10-05 18:43:07 +02:00
GPUCode
b5872ea79e
cmake: Add SDL2 alias when using system library 2022-09-23 20:55:51 +03:00
GPUCode
cbd5d1c15c
Upgrade codebase to C++ 20 + fix warnings + update submodules (#6115) 2022-09-21 18:36:12 +02:00
SachinVin
a273892744 Github Actions: Build android 2022-04-14 20:44:58 +05:30
SachinVin
ff857f0585 CMakeLists.txt: Bump MSVC_VERSION for bundled deps 2022-03-25 23:52:03 +05:30
bunnei
bae1c31406
Merge pull request #5718 from liushuyu/httpc
externals: update httplib and libressl
2022-02-05 02:59:18 -07:00
bunnei
e3804a4c06
Merge pull request #5786 from vitor-k/macos-perms
Request Camera Permission on MacOS
2022-02-05 02:58:38 -07:00
liushuyu
af24f75c18
externals: update httplib and libressl ...
* In older `httplib`, SSL connections were not handled correctly and
  will have issues with proxy servers. Also, keep alive directives were
  not available back then, which is probably necessary to implement
  HTTP_C service correctly.
* Another 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.
2022-01-13 19:32:50 -07:00
Vitor Kiguchi
d5a4988f9e clang format: add objective c++ formatting 2022-01-10 13:52:39 +01:00
Ethan Lee
853909996b Add support for SDL controller accelerometer/gyro events 2021-09-18 12:24:38 -04:00
liushuyu
324e88d6e0
Linux: Flatpak-related changes (#5772)
* cmake: allow supplying local compatibility list

* dist/desktop: add prefer non-default GPU hint ...

* On compatible systems, this will make the system to use more powerful
  GPU instead of the default one (usually the integrated one)
2021-06-21 17:38:52 +08:00
Vitor Kiguchi
940ec70f13 Apple: request authorization for camera usage 2021-05-15 19:18:01 -03:00
ameerj
05e28a53e8 input_common: Add support for GameCube Adapter
This is a port of the initial GameCube adapter input support i added into yuzu emulator.
It requires the same setup as when it was first introduced in yuzu, requiring the Zadig driver be installed for the adapter to allow it to interface with libusb.
2021-04-24 02:02:45 -04:00
Tobias
4135a12cb5
CMakeLists: Download Clang-Format from the Citra repo instead of yuzus (#5534)
This problem seems to have slipped through the cracks in the original PR. (https://github.com/citra-emu/citra/pull/3410)
2020-08-29 21:58:20 +02:00
Lioncash
1255d82b67 General: Tidy up clang-format warnings 2020-08-28 21:10:42 +02:00
FearlessTobi
09ebfebc91 CMakeLists: Update CLANG_FORMAT_POSTFIX to 10.0
This was forgotten to be changed in previous PRs.
2020-08-08 18:56:58 +02:00
Marshall Mohror
d88d22080d
Merge pull request #5453 from FearlessTobi/port-4221
Port yuzu-emu/yuzu#4221: "cmake: stop linking against QGL"
2020-07-14 09:26:43 -05:00
Marshall Mohror
897e473da4
Merge pull request #5332 from Dragios/fix-exe-path
Correct output paths for executable binaries in CMakeLists.txt
2020-07-14 09:10:11 -05:00
FearlessTobi
88edf9d62c cmake: stop linking against QGL
Co-Authored-By: Jan Beich <jbeich@users.noreply.github.com>
2020-07-11 19:06:31 +02:00
Marshall Mohror
c4a4b40b2d
Fix using system boost (#5424)
closes #5234
2020-06-23 21:30:35 -05:00
Dragios
bf1166d0ee Correct output paths for executable binaries 2020-05-02 22:24:28 +08:00
Ben
ed304e2877
Merge pull request #5179 from vitor-k/reenable-hidapi
Reenable hidapi for SDL2.0.12 and up
2020-04-27 16:35:51 +02:00
Vitor Kiguchi
e6b4052b04 MSVC: set SDL_VER to 2.0.12 2020-04-23 00:07:10 -03:00
Hamish Milne
824453b133 Remove the build type from the bin path 2020-04-16 19:04:04 +01:00
Hamish Milne
828f88d20a Merge branch 'master' into feature/savestates-2 2020-04-12 11:24:06 +01:00
Marshall Mohror
3b1b8b7e1f
Merge pull request #5123 from vitor-k/disable-hidapi
SDL: Disable hidapi drivers due to compatibility problems with certain controllers
2020-04-03 23:23:03 -05:00
Hamish Milne
8f164a16ce Review changes 2020-03-28 17:08:27 +00:00
Hamish Milne
da3ab3d56e Merge branch 'master' into feature/savestates-2 2020-03-07 21:23:08 +00:00
Vitor Kiguchi
aa43399011 Bump bundled sdl2 and appveyor to sdl2.0.10 2020-03-05 15:25:02 -03:00
liushuyu
cff00f38c5
Implements fdk_aac decoder (#4764)
* audio_core: dsp_hle: implements fdk_aac decoder

* audio_core: dsp_hle: clean up and add comments

* audio_core: dsp_hle: move fdk include to cpp file

* audio_core: dsp_hle: detects broken fdk_aac...

... and refuses to initialize if that's the case

* audio_core: dsp_hle: fdk_aac: address comments...

... and rebase commits

* fdk_decoder: move fdk header to cpp file
2020-02-23 11:01:21 +01:00
Hamish Milne
f2de70c3fb Fix crash bugs 2020-02-13 17:42:06 +08:00
Hamish Milne
754f63af1a Don't require cmake 3.15 2020-02-13 17:41:21 +08:00
Hamish Milne
9877bf7d48 Change how the boost target works; disable external warnings in MSVC 2020-02-13 17:41:20 +08:00
Hamish Milne
a0ac302a93 Definitely disable using system boost if version doesn't match 2020-02-13 17:41:20 +08:00
Hamish Milne
d041901a30 Some more CI fixes 2020-02-13 17:41:20 +08:00
Hamish Milne
6940c99ed6 Added boost serialization 2020-02-13 17:27:50 +08:00
zhupengfei
977ccda30f
CMakeLists: Fix find_package call
Fixes #4959

Previously options for video dumper and audio decoder is separated, but I forgot to split this `find_package` call so that the other libraries won't be necessary when only using the audio decoder.
2019-10-03 09:35:08 +08:00
zhupengfei
609bd71da3
Fix dependent options 2019-08-20 15:26:59 +08:00
zhupengfei
f8b3950829
CMake: separate options for FFmpeg decoder/dumper
Separate options are now provided for FFmpeg AAC audio decoder and FFmpeg video dumper. This allows users to configure Citra with greater freedom.

Also, previously for Linux builds, AAC decoder is accidentally enabled along with the dumper, which could potentially cause patent issues (?). This commit fixes it by only enabling video dumper.
2019-08-20 14:45:39 +08:00
vvanelslande
1437c4a01a Add MinGW CMake option to disable DWARF debugging information
Also, I disabled it for the Linux MinGW build.
2019-08-14 10:29:04 -05:00
zhupengfei
cf2c354fb9
CMake, CI: Add FFmpeg library dependency 2019-08-14 09:27:03 +08:00
Tobias
a11bc03d4a
Port yuzu-emu/yuzu#2253: "Migrate off directly modifying CMAKE_* compilation-related flags directly" (#4714)
* CMakeLists: Move compilation flags into the src directory

We generally shouldn't be hijacking CMAKE_CXX_FLAGS, etc as a means to
append flags to the targets, since this adds the compilation flags to
everything, including our externals, which can result in weird issues
and makes the build hierarchy fragile.

Instead, we want to just apply these compilation flags to our targets,
and let those managing external libraries to properly specify their
compilation flags.

This also results in us not getting as many warnings, as we don't raise
the warning level on every external target.

* CMakeLists: Move off of modifying CMAKE_*-related flags

Modifying CMAKE_* related flags directly applies those changes to every
single CMake target. This includes even the targets we have in the
externals directory.

So, if we ever increased our warning levels, or enabled particular ones,
or enabled any other compilation setting, then this would apply to
externals as well, which is often not desirable.

This makes our compilation flag setup less error prone by only applying
our settings to our targets and leaving the externals alone entirely.

This also means we don't end up clobbering any provided flags on the
command line either, allowing users to specifically use the flags they
want.
2019-06-18 12:12:32 +02:00
Lioncash
7b3c4b05c6 CMakeLists: Handle VS 2019 in a less annoying manner
VS 2019 is binary compatible with VS 2017, so we can safely use
the prebuilt libraries for VS 2017 with VS 2019. This makes it less
annoying to build yuzu with the most up to date toolchain.
2019-05-19 18:29:58 +02:00
khang06
7842decde6 fix clang-format target when using a path with spaces on windows 2019-04-02 21:02:43 -04:00
B3N30
80b4dd21d2 audio_core: dsp_hle: add Media Foundation decoder...
* appveyor: switch to Media Foundation API
* Travis CI MinGW build needs an update with the container image
2019-02-09 11:56:51 +01:00
liushuyu
8fe3e37df5 audio_core: fix msvc include issue 2019-02-09 11:55:12 +01:00
B3N30
bd9984b5f8 Addressed reviews 2019-02-09 11:55:12 +01:00
B3N30
c521f3b7d6 CoreAudio::HLE: Add FFmpeg aac decoder 2019-02-09 11:52:31 +01:00
Weiyi Wang
008197a569 Remove scripting switch in cmake 2019-02-02 15:25:23 -05:00
BreadFish64
6609ff83a7 android: set up cmake 2018-11-20 14:24:19 -05:00
Weiyi Wang
724b458a83
Merge pull request #4373 from FearlessTobi/port-1553
Port yuzu-emu/yuzu#1553: "common: Remove memory_util.h/.cpp"
2018-10-26 22:38:18 -04:00
Lioncash
9f6c1b058a CMakeLists: Use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR
This is more localized to what we want to enforce directory-wise with
the project. CMAKE_SOURCE_DIR indicates the root of the source tree, but
this would cause the wrong behavior if someone included yuzu as part of
a larger buildsystem (for whatever reason). Instead, we want to use the
directory where the "project(yuzu)" command was declared as the root
path reference.
2018-10-27 00:20:52 +02:00
Lioncash
24b931eca1 CMakeLists: Remove EMU_ARCH_BITS definition
This was only ever used by the now-removed memory_util functions. Also,
given we don't plan to support 32-bit architectures, this is just a
leftover from citra at this point.
2018-10-26 23:40:08 +02:00
Weiyi Wang
57ce5079bc
Merge pull request #4336 from wwylele/file-util-mingw
Only redefine some 64-bit file operation for MSVC
2018-10-21 20:34:48 -04:00
fearlessTobi
9901b289b6 Review comments -part 4 2018-10-20 10:35:55 -04:00
Weiyi Wang
380b83e9bd cmake: mingw also needs _FILE_OFFSET_BITS=64 2018-10-16 13:23:07 -04:00
Weiyi Wang
fc46bba4f2 CMake: disable scripting on default 2018-10-15 12:23:47 -04:00
bunnei
4a5a97ab88
Merge pull request #4253 from wwylele/string-util-cleanup
common/string_util cleanup
2018-10-01 17:52:58 -04:00
Weiyi Wang
1f9f220a3e
Merge pull request #4262 from EverOddish/master
Added CMake option to enable/disable scripting support
2018-09-25 22:57:07 -04:00
EverOddish
86ea9d3b1b Adding description to CMake option 2018-09-25 21:13:02 -04:00
spycrab
fb3af43444 cmake: Output binaries to bin on every platform 2018-09-24 16:36:14 +02:00
EverOddish
fce7afb8dc Added CMake option to enable/disable scripting support 2018-09-23 19:16:18 -04:00
Weiyi Wang
e087cb9a28 string_util: unify UTF8<->UTF16 conversion to codecvt 2018-09-22 17:23:48 -04:00
Frederic Laing
d8f09f69eb Addressed feedback 2018-09-21 14:48:55 +02:00
Frederic Laing
596700cb3a Merge branch 'citra-qt-startup-project' of https://github.com/FreddyFunk/citra into citra-qt-startup-project 2018-09-21 14:48:00 +02:00
Frederic Laing
c4bf626b88 Addressed feedback 2018-09-21 14:47:43 +02:00
Frederic Laing
cc3404a097 Set citra-qt project as default StartUp Project in Visual Studio
Set citra-qt project as default StartUp Project in Visual Studio
2018-09-21 14:46:20 +02:00
Frederic L
d26b363562
Set citra-qt project as default StartUp Project in Visual Studio
Set citra-qt project as default StartUp Project in Visual Studio
2018-09-14 02:27:33 +02:00
Weiyi Wang
2396e58ee4
Merge pull request #4170 from FearlessTobi/port-stupid-fixes
citra_qt: Backport some review fixes of Lioncash
2018-09-04 01:47:03 +03:00
fearlessTobi
2f6f232965 Backport some review fixes of Lioncash 2018-09-01 15:41:46 +02:00
Pengfei Zhu
3b3b0bbdf5
Merge pull request #4152 from citra-emu/port-1030
Port yuzu-emu/yuzu#1030 from yuzu: "externals: Update to SDL2-2.0.8"
2018-09-01 12:08:13 +08:00
Tobias
c8bcd35b7a
Port #1030 from yuzu: "externals: Update to SDL2-2.0.8" 2018-09-01 08:12:06 +08:00
Lioncash
ce472144ff CMakeLists: Add architecture detection for AArch64
We already have an equivalent in place for the 32-bit ARM architecture, so we
should also have one for the newer 64-bit ARM architecture as well.
2018-08-31 00:07:01 +02:00
Merry
b49d042200
Merge pull request #4101 from Hedges/GDBClean
GDB Modernization
2018-08-25 13:58:38 +01:00
Merry
c292a9e2f5
Merge pull request #4080 from zhaowenlan1779/port-yuzu-922
Port "CMakeLists: Change MSVC14 variable to MSVC_VERSION" from yuzu
2018-08-24 19:14:51 +01:00
Vamsi Krishna
6cb9a45154 Add Discord Rich Presence Support (#3883)
* Initial Discord RPC support

Build with Discord Presence ON

Fix RPC detection

Fix Time elapsed on pause; will now continue to count.

* Fix CI builds with compile flag

Addressed reviews

Fix silly mistakes

Fix 'Not in-game' display

class instead of namespace

Fix

Revamped

remove redundant code

Using Pimpl pattern

* Implement Null class

* Fix config updation

* Addressed All Reviews

* externals/discord-rpc : Updated to latest commit
2018-08-20 11:20:33 +02:00
Jarek Syrylak
bd658a8801 GDB Modernization:
- Can be used in either DynCom or Dynarmic mode
- Added support for threads
- Proper support for FPU registers
- Fix for NibbleToHex conversion that used to produce false error codes
- Fix for clang-format failing under Windows
2018-08-16 10:40:52 +01:00
Lioncash
f5ddcef340 CMakeLists: lowercase find_library usage
The rest of the CMake script uses lowercase for commands (which is the
general CMake style), making it more consistent with surrounding code.
2018-08-12 13:39:22 +08:00
Lioncash
b399186f18
CMakeLists: Change MSVC14 variable to MSVC_VERSION
Use of the MSVC14 variable is discouraged in the CMake documentation
(which makes sense, since MSVC_VERSION is the more general appliable
variable).
2018-08-12 13:38:42 +08:00
James Rowe
6bcbda5ab2 Input: UDP Client to provide motion and touch controls
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.
2018-08-07 21:05:09 -06:00
zhupengfei
bebe04d58e
Revert "CMake: Avoid non-compliant standard library extensions in MSVC" 2018-07-13 19:54:00 +08:00
James Rowe
a3acb5129b
Merge pull request #3773 from kdex/master
CMake: Avoid non-compliant standard library extensions in MSVC
2018-05-31 23:07:28 -06:00
darkf
af73dd45f0 audio_core: Implement a cubeb audio sink 2018-05-31 21:01:48 -05:00
kdex
513fffc96b
CMake: Avoid non-compliant standard library extensions in MSVC 2018-05-24 06:23:06 +02:00
James Rowe
80bfd87270
Merge pull request #3730 from FearlessTobi/game-compat-fixes
citra_qt: Refactor game list compatibility system
2018-05-11 11:59:53 -06:00