Commit Graph

857 Commits

Author SHA1 Message Date
Admiral H. Curtiss
6ea7af13e8
cmake: Disable warnings for most externals on MSVC, like we do in the VS project files. 2022-05-22 00:30:56 +02:00
Admiral H. Curtiss
89fadd26a6
cmake: Use C++latest everywhere on MSVC. 2022-05-22 00:29:48 +02:00
Admiral H. Curtiss
96e2f1f95e
Externals: Update prebuilt Qt submodule to include mkspecs -- the CMake build process wants them. 2022-05-22 00:29:47 +02:00
Scott Mansell
0909e00117
cmake: fix MSVC PCH support
I'm not sure if the previous implementation ever worked.
2022-05-22 00:29:47 +02:00
Scott Mansell
d2df9afda2
cmake: Fix libusb on windows 2022-05-22 00:29:46 +02:00
Shawn Hoffman
7b8e6c5b36 fmt: do not define uint type in global namespace 2022-05-10 21:17:10 -07:00
Shawn Hoffman
357dc72f97 fmt: fix 'unused variable' warnings 2022-05-10 19:19:52 -07:00
Shawn Hoffman
5bcc11a303 fmt: update to f63afd161fb27132d394d0664ef7eb8ff38b8422 2022-05-10 16:12:29 -07:00
spycrab
004e8a80b2 Add support for building against Qt 6 2022-05-02 22:39:33 -07:00
Mai M
f8c603a2dd
Merge pull request #10618 from shuffle2/fast-test
msbuild/msvc: compile speed improvements
2022-05-02 19:11:56 -04:00
Admiral H. Curtiss
68b260746b
Externals/pugixml: Configure new version for use in Dolphin. 2022-05-02 08:38:25 +02:00
Zopolis4
8447c90378
Update pugixml to v1.12.1 2022-05-02 13:43:58 +10:00
iwubcode
6d528a72eb Externals: Update glslang.
This updates glslang to commit 9bb8cfffb0eed010e07132282c41d73064a7a609
which is the current version listed in the known_good.json file for the
version 1.3.212 of the Vulkan-ValidationLayers repo.
2022-04-30 00:37:59 -05:00
Shawn Hoffman
64cd4cc86f msbuild: use default Project attrs
maybe it makes the xml less scary :D
2022-04-27 15:26:43 -07:00
Shawn Hoffman
44951a4cbc use fmt as static library instead of headers
reportedly improves compile time
2022-04-26 16:32:29 -07:00
Shawn Hoffman
16c90329f3 SoundTouch: remove common types from global namespace 2022-04-26 12:44:47 -07:00
Mai M
4cd48e609c
Merge pull request #10609 from OatmealDome/mvk-1-1-9
MoltenVK: Update to version 1.1.9
2022-04-24 17:44:13 -04:00
OatmealDome
91fddeb09c MoltenVK: Update to version 1.1.9 2022-04-24 16:53:45 -04:00
Shawn Hoffman
0a07c76333 update libusb submodule to latest 2022-04-22 07:07:20 -07:00
Shawn Hoffman
70507c2237 update to libusb v1.0.26
moves libusb from vendored to submodule
2022-04-17 20:01:19 -07:00
Shawn Hoffman
8466d438d3 cmake: fix build of mbedtls from Externals 2022-04-11 03:55:47 -07:00
Mai M
417531f469
Merge pull request #10545 from OatmealDome/mbedtls-2.28.0
Externals: Update mbedtls to 2.28.0
2022-04-08 20:52:25 -04:00
OatmealDome
d8a5a8827e Externals: Update mbedtls to 2.28.0 2022-04-02 19:30:22 -04:00
Shawn Hoffman
09432ef098 windows: move ffmpeg bins to submodule
udpate ffmpeg to b1cbeabf5e4b3234e895a58bafa371bfb792baf0
enable ffmpeg on arm64
2022-03-29 17:27:46 -07:00
Pokechu22
72c7977c72 Externals: Use Common ASSERT for IM_ASSERT
This does introduce a dependency on common and on fmt from imgui, but gives a better experience.
2022-03-25 10:37:20 -07:00
Pokechu22
9e19d10f9d Externals: Enable IMGUI_DISABLE_OBSOLETE_FUNCTIONS 2022-03-25 10:24:07 -07:00
Mai M
bd83bdb732
Merge pull request #10437 from AdmiralCurtiss/minizip-ng
Externals: Update minizip to minizip-ng version 3.0.4.
2022-02-08 00:28:20 -05:00
Mai M
0d5786059b
Merge pull request #10438 from OatmealDome/mvk-1.1.7
MoltenVK: Update to v1.1.7 (Vulkan SDK 1.3.204)
2022-02-08 00:27:34 -05:00
OatmealDome
14be17effe MoltenVK: Update to v1.1.7 (Vulkan SDK 1.3.204) 2022-02-07 01:31:47 -05:00
Admiral H. Curtiss
ca31964833
Externals: Update minizip to minizip-ng version 3.0.4. 2022-02-06 18:43:45 +01:00
iwubcode
8e3dbe9671 Externals / Vulkan: update Vulkan headers to v1.3.204. Fix default present mode in Vulkan swap chain 2022-01-29 00:47:51 -06:00
Pokechu22
1a2e88cbf3 Externals: Update fmt to 8.1.1 2022-01-13 11:11:01 -08:00
OatmealDome
5e073cd4c9 MoltenVK: Update to version 1.1.6 2021-12-25 15:01:40 -05:00
OatmealDome
fad11e3532 MoltenVK: Add patch to turn on framebuffer fetch in SPIRV-Cross 2021-11-24 17:51:52 -05:00
OatmealDome
730df73cb3 MoltenVK: Don't run fetchDependencies unnecessarily 2021-11-24 16:56:33 -05:00
OatmealDome
f1f0853659 MoltenVK: Move version into a variable 2021-11-13 15:56:12 -08:00
OatmealDome
2209dc0355 MoltenVK: Use an external project instead of a pre-compiled dylib
Also, update MoltenVK to match Vulkan SDK 1.2.189.
2021-11-13 11:43:23 -08:00
Pokechu22
8b5c04de7b Externals/discord-rpc: Fix reference to discord_register.h 2021-10-29 12:14:05 -07:00
Pokechu22
db54e4f2b0 Externals: Update imgui to 1.85 2021-10-26 15:07:57 -07:00
Shawn Hoffman
2200658814 update mgba submodule 2021-10-04 06:18:06 -07:00
OatmealDome
b9ad174606 hidapi: Add new patches to applied patches folder 2021-08-09 21:34:02 -04:00
OatmealDome
25c85d827a hidapi: Don't leak device handle in macOS 10.10 or newer
Ported from libusb's hidapi fork. Original patch by Youw (cdc473dfe43f6432dda7ad53d7656b8ae8ff968b).
2021-08-09 21:24:10 -04:00
OatmealDome
b24599cf5b hidapi: Stop current run loop in removal callback instead of fetching from context 2021-08-09 21:15:17 -04:00
Shawn Hoffman
0e41cf392f msbuild: reduce number of cl batches for mgba 2021-07-21 04:51:41 -07:00
Bonta
44aaf108d1 Externals: Integrate mGBA as a submodule 2021-07-13 16:39:29 +02:00
Skyler Saleh
bcb3c7d80f Apple M1: Update MoltenVK
- Updated MoltenVK library in external to 1.2.170.0 (fixes swapchain crash)
2021-05-22 15:25:18 -07:00
Skyler Saleh
4ecb3084b7 Apple M1 Support for MacOS
This commit adds support for compiling Dolphin for ARM on MacOS so that it can
run natively on the M1 processors without running through Rosseta2 emulation
providing a 30-50% performance speedup and less hitches from Rosseta2.

It consists of several key changes:

- Adding support for W^X allocation(MAP_JIT) for the ARM JIT
- Adding the machine context and config info to identify the M1 processor
- Additions to the build system and docs to support building universal binaries
- Adding code signing entitlements to access the MAP_JIT functionality
- Updating the MoltenVK libvulkan.dylib to a newer version with M1 support
2021-05-22 15:25:17 -07:00
Léo Lam
6036680376
hidapi: Use LIBUSB_LIBRARIES to link to libusb
Because we have an old-style find script that does not define a proper
CMake target for libusb, we need to use ${LIBUSB_LIBRARIES}
rather than "usb".

Ideally, we would fix the find script to define a target. However,
this issue breaks the fifoci-ogl-lin-mesa builder and I'd prefer it
to be fixed sooner rather than later.
2021-02-11 21:58:15 +01:00
Sergei Trofimovich
8cfc41fb3b Externals/rangeset: use qualified 'size_t'
On clang-11 build failed as:

```
[ 42%] Building CXX object Source/Core/Core/CMakeFiles/core.dir/PowerPC/Jit64/Jit.cpp.o
In file included from ../../../../Source/Core/Core/PowerPC/Jit64/Jit.cpp:5:
In file included from ../../../../Source/Core/Core/PowerPC/Jit64/Jit.h:21:
../../../../Externals/rangeset/include/rangeset/rangesizeset.h:325:3: error: unknown type name 'size_t'; did you mean 'std::size_t'?
  size_t size() const {
  ^
```

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2021-01-28 20:20:43 +00:00
Shawn Hoffman
500a694ca8 msbuild: bundle all dolphin "core" code into single library 2021-01-27 14:29:49 -08:00
Léo Lam
9069ad6cce
Merge pull request #9420 from MerryMage/ext
Externals: Link against required libraries
2021-01-05 15:15:15 +01:00
MerryMage
14c03388b3 Externals: Link against required libraries
* curl requires zlib
* hidapi when not using libudev requires libusb
2021-01-03 14:26:38 +00:00
Jordan Woyak
1699afff87 CMake: Update cmake_minimum_required calls using versions less than 2.8.12. CMake warns support will be removed in a future version. 2020-12-27 14:51:04 -06:00
Admiral H. Curtiss
3d8736f9d7 Update bundled libpng to version 1.6.37 2020-12-13 02:50:12 +01:00
Dentomologist
6136ac82b9 Fix liblzma config on macOS
/Externals/liblzma/config.h #defines HAVE_PTHREAD_CONDATTR_SETCLOCK
which results in /Externals/liblzma/tuklib/mythread.h calling the
function pthread_condattr_setclock.  This function doesn't exist in
macOS 10.12+, which are the only macOS versions Dolphin supports, but
inserting an include guard makes macOS use an alternate function.
2020-11-28 05:51:45 -08:00
Noah Santschi-Cooney
4d26f6ad95
Fixed non-UTF8 chars in PeakFinder.cpp 2020-11-18 19:50:40 +00:00
Lioncash
369a9e01dc Externals: Update fmt to 7.1.0
Updates fmt to the latest release from 6.1.2
2020-10-27 11:36:47 -04:00
Léo Lam
08f9ed043b
Merge pull request #8846 from nyanpasu64/fix-cmake-zlib
Fix Windows CMake builds with shared zlib
2020-10-22 01:11:27 +02:00
LC
5722c680a4
Merge pull request #8006 from JosJuice/qt-rtl
DolphinQt: Enable RTL layout
2020-10-19 07:46:40 -04:00
Stenzek
9649d13462 Externals: Update MoltenVK to v1.1 2020-10-02 22:47:51 +10:00
Admiral H. Curtiss
fdab9783c7 Externals: Add rangeset. 2020-08-24 19:31:32 +02:00
Shawn Hoffman
03a263db20 msbuild: fixup linking of discord-rpc 2020-08-22 16:17:50 -07:00
Shawn Hoffman
2f47f486af msbuild: re-enable standalone vcxproj processing 2020-08-22 16:17:50 -07:00
Shawn Hoffman
390f509bbf windows: disable C4200 directly in libusb.h 2020-08-22 16:17:50 -07:00
Shawn Hoffman
7705f7c1a3 msbuild: refactor stuff out of project files (for externals) 2020-08-22 16:17:50 -07:00
Admiral H. Curtiss
f859da112e Update Windows build to use Qt 5.15.0. 2020-08-22 20:08:38 +02:00
Shawn Hoffman
adf22c0728 vs/msbuild: fix the build generating log files in source dirs 2020-08-16 00:01:22 -07:00
R2DLiu
7bf9feae0f For windows cmake builds, build curl with schannel/winssl capability 2020-07-28 17:40:41 -04:00
nyanpasu64
1a2b6ca2d6 Fix Windows CMake builds with shared zlib
On Linux, if shared zlib is present, zlib.h is always available and -lz
links to zlib, even if you don't run find_package(ZLIB).

For some reason I have zlib installed on Windows (possibly from vcpkg),
so find_package(ZLIB) succeeds and ZLIB_FOUND is true.
When Dolphin uses shared zlib on Windows, the problem is that zlib.h
is not in the default include path, and the CMake target is called
ZLIB::ZLIB and there's neither a target nor a library called z.

However, both find_package(ZLIB) and add_subdirectory(Externals/zlib)
create a target called ZLIB::ZLIB, so I'll switch to that instead.
Hopefully this change doesn't break anyone's build.
2020-07-15 23:25:18 -07:00
Tillmann Karras
506ae2f6b1 Externals/zstd: fix CMake project name 2020-06-16 19:42:55 +01:00
JosJuice
19ce87fa63 Externals: Update msgfmt.exe to 0.20.2
Needed for the next commit. Downloaded from
https://mlocati.github.io/articles/gettext-iconv-windows.html
2020-06-02 22:23:05 +02:00
orbea
ba2d04b793 Externals: Fix build failures with the newer glslang.
v2: Don't include glslang project wide.
2020-05-30 18:54:21 -07:00
orbea
690dee3533 Externals: Update glslang.
This updates glslang to commit 4fc7a33910fb8e40b970d160e1b38ab3f67fe0f3
which is the current version listed in the known_good.json file for the
version 1.2.131.2 of the Vulkan-ValidationLayers repo.
2020-05-30 18:06:03 -07:00
Tillmann Karras
8b23170f13 Externals/licenses: add bzip2 link and update googletest 2020-05-18 00:15:39 +01:00
JosJuice
d7389dc287 Add bzip2, liblzma, zstd to Externals/licenses.md 2020-05-13 21:08:08 +02:00
JosJuice
2137fb7813 Externals: Add zstd
I had to rename Source/Common/Compiler.h because the VS build
confuses it with Externals/zstd/lib/common/compiler.h otherwise.
2020-05-13 20:53:10 +02:00
degasus
9fd03cda9d Externals: Add libLZMA. 2020-04-24 15:18:09 +02:00
degasus
4385afdb0a Externals: Add bzip2. 2020-04-24 15:18:09 +02:00
Stenzek
52d4756679 Externals: Update MoltenVK to SDK version 1.2.131.2 2020-04-07 18:53:26 +10:00
Léo Lam
5038ae384b
Merge pull request #8427 from CookiePLMonster/wil-submodule
Add Windows Implementation Libraries as an external library
2020-03-15 23:28:53 +01:00
spycrab
6a3bd259a7 Update to Qt 5.14.1 2020-02-09 22:30:57 +01:00
Silent
f52a0aba24
Add Windows Implementation Libraries 2020-02-09 19:01:44 +01:00
Lioncash
1873b7a398 Externals: Update fmt to 6.1.2 2020-02-04 14:50:46 -05:00
Stenzek
2a18d1beb4 Externals: Update Qt submodule for ARM64 Windows binaries 2020-01-12 15:23:32 +10:00
Stenzek
6fcb1c6c46 Add an ARM64 target to Visual Studio projects 2019-12-28 19:20:41 +10:00
Shawn Hoffman
392fc1dcdc update the rapidjson used by discord-rpc to current master dfbe1db9da455552f7a9ad5d2aea17dd9d832ac1 2019-12-18 22:20:11 -08:00
Shawn Hoffman
e3a30fbdf2 update minilzo to 2.10 2019-12-18 22:20:11 -08:00
Stenzek
dd23a1ee79 Update VS projects/solutions to VS2019 2019-11-30 13:42:52 +10:00
spycrab
ec526fee56 Externals/Qt: Update to 5.13.1 2019-10-13 16:06:56 +02:00
Connor McLaughlin
19ed64122c
Merge pull request #8371 from stenzek/vulkan-headers
Externals: Update Vulkan headers to 1.1.121.2
2019-10-07 10:46:03 +10:00
Stenzek
6ae1ddabe1 Externals: Update Vulkan headers to 1.1.121.2 2019-10-01 01:30:51 +10:00
Michael M
0f3695a14b Remove XAudio2
Audio on Windows is provided by the cubeb (shared mode) and WASAPI
(exclusive mode) backends, both of which exhibit lower latency.
2019-09-14 14:08:13 -07:00
Stenzek
9a2075f7fa MoltenVK: Update to Vulkan SDK version 1.1.108.0 2019-06-24 13:21:17 +10:00
Lioncash
d5d60c6e64
Externals: Add libfmt 5.3.0 to externals
Allows us to migrate off of printf specifiers and have more type-safe
formatting facilities. It also allows for custom type support as well.
fmt is also on track to have part of it standardized within C++2a, so
this will also lessen the transitional work necessary later on by
allowing new code to use it.

This simply adds the library but doesn't do anything with it yet.
2019-06-10 15:26:43 -04:00
Lioncash
3053fea160 Externals: Update mbedtls to 2.16.1
On a few of our buildbot instances, we get warnings about the usage of
deprecated functions. We should correct these, especially if we're
delegating to system versions of the libraries if they're available.
However, in order to do that, we need to update our library variant from
2.1.1 so that the non-deprecated alternatives are actually available.
2019-06-07 21:56:28 -04:00
Alex James
24226419ed zlib/CMakeLists: Fix check for unistd.h
The CMakeLists file for the static zlib checks for presence of
unistd.h, but it doesn't properly define HAVE_UNISTD_H if it's found.

This change adds the necessary preprocessor definition if unistd.h is
found.

Upstream zlib handles this with by configuring zconf.h with CMake:
cacf7f1d4e/zconf.h.cmakein (L11)

Dolphin's static version of zlib doesn't do this, which is why setting
Z_HAVE_UNISTD_H in zlib's CMakeLists.txt isn't enough.

This probably wasn't noticed since because most *nix systems will use
the shared zlib. Force use of the static zlib (comment out
find_package(ZLIB) in the root CMakeLists.txt) and you'll see implicit
function declaration warnings during its compilation.
2019-05-29 15:03:37 +02:00
Léo Lam
054b1172e3 Externals/libusb: Set policy ISO_ALWAYS_START_ASAP for libusbK
In some cases, this is required to avoid eventually getting a
USBD_STATUS_BAD_START_FRAME error back from the Windows USB stack.

This makes the libusbK code match the behaviour of the Linux backend.

It appears that the libusbK backend tried to get this behaviour by
setting StartFrame to 0. However, libusbK docs state that:

"Specifing 0 for KISO_CONTEXT::StartFrame (start transfer ASAP) is
restricted to the first transaction on a newly opened or reset pipe."
2019-05-27 20:09:55 +02:00
Léo Lam
20770fe22b Externals/libusb: Bounds check the interface number 2019-05-27 20:09:55 +02:00
Léo Lam
99b340a6d0 Externals/libusb: Mask index for control transfers correctly 2019-05-27 20:09:55 +02:00
Léo Lam
8ea197357c Externals: remove unused libusb files and add them to gitignore
This prevents them from being re-added in the future whenever someone
updates libusb. Also removes the need to manually remove those files.
2019-05-27 20:09:55 +02:00