Commit Graph

207 Commits

Author SHA1 Message Date
JosJuice
51debaeb47 Revert "Android: Don't hold gameFileCache lock during updateAdditionalMetadata"
This reverts commit fb265b610d.

The optimization in that commit is safe when the executor thread is
writing and the GUI thread is reading, but I had failed to take into
account that it's unsafe when the GUI thread is writing and the executor
thread is reading. (The native UpdateAdditionalMetadata function loops
through m_cached_files, which is unsafe if another thread is adding
elements to m_cached_files simultaneously.)

Losing out on this optimization isn't too bad, because
719930bb39 makes it very unlikely that
both threads will want the lock at the same time.
2022-09-27 19:06:05 +02:00
OatmealDome
da0a89e6e6 msbuild: Add property for disabling auto updates
This will be used for our Steam builds.
2022-08-23 15:29:42 -04:00
OatmealDome
f2fad4df47 msbuild: Add property for creating Steam builds on Windows 2022-08-23 15:29:27 -04:00
Shawn Hoffman
683f7f7210 msbuild: tidy up the linked libs 2022-08-02 22:24:22 -07:00
Shawn Hoffman
c5da2877cc msbuild: refactor to reduce rebuild events
* moves dolphin-specific settings out of Base.props
* creates exports.props for externals, allowing to easily import
  individual Externals
* corrects some cruft that accumulated and probably contributed
  to msbuild overbuilding
2022-08-02 22:24:22 -07:00
Shawn Hoffman
e85da16947 msbuild: set PreferredToolArchitecture based on host OS arch 2022-07-30 11:01:47 -07:00
Shawn Hoffman
acb10f0006 replace libpng with libspng 2022-07-25 18:32:16 -07:00
Shawn Hoffman
b2f8456710 msbuild: set C standard to C17
not required but it seems nice
2022-07-24 14:33:37 -07:00
Shawn Hoffman
c3b64012d1 replace zlib with zlib-ng
since the benefits are so high, don't link with shared zlib
2022-07-24 14:33:37 -07:00
Admiral H. Curtiss
fdc327c252
Externals/FatFs: Build as part of Dolphin.
Co-authored-by: Pablo Stebler <pablo@stebler.xyz>
2022-07-11 23:11:37 +02:00
Jun Bo Bi
ceed42a0ee Add SDL as a submodule 2022-07-10 15:38:59 -07:00
iwubcode
1c90d836a5 Externals: add spirv-cross using upstream commit 50b4d5389b6a06f86fb63a2848e1a7da6d9755ca
Co-authored-by: tellowkrinkle <tellowkrinkle@gmail.com>
2022-06-24 17:52:31 -05:00
JMC47
5f04ad5c3c
Merge pull request #10559 from shuffle2/qt6
update to Qt6 on windows, support Qt6 elsewhere
2022-05-08 01:29:46 -04:00
Shawn Hoffman
a29b1ac6d3 Revert "msbuild: use pdbaltpath to strip dirname of pdb"
This reverts commit f2c5c052bc.

debuggers using path-based searching don't seem smart enough
to find a relative path if it's not relative to their pwd.
2022-05-03 11:42:45 -07:00
spycrab
004e8a80b2 Add support for building against Qt 6 2022-05-02 22:39:33 -07: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
dde2f7e637 Disable MSBuild Resource Manager 2022-04-27 15:06:04 -07:00
Mai M
e4695e329c
Merge pull request #10616 from shuffle2/fmt-lib
msbuild: fmt static library
2022-04-26 23:25:58 -04:00
Shawn Hoffman
eb87245be8 msbuild: use pathmap to unify source paths embedded in objects 2022-04-26 18:14:51 -07:00
Shawn Hoffman
f2c5c052bc msbuild: use pdbaltpath to strip dirname of pdb 2022-04-26 18:14:51 -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
5724de13b0 msbuild: brepro -> deterministic 2022-04-25 09:48:50 -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
818f6c81ed msbuild: don't explicitly set _SECURE_SCL 2022-04-02 15:25:42 -07:00
Shawn Hoffman
e6ed77b5f6 msvc: enable conformant __cplusplus macro 2022-04-02 02:46:22 -07: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
Admiral H. Curtiss
676713e036
Re-enable Auto-Update when building with VS project files. 2022-03-19 15:30:28 +01:00
Shawn Hoffman
5e1fee7dbd msbuild: remove workaround for older winsdk 2021-11-15 16:23:33 -08:00
Shawn Hoffman
a69adafdd8 msbuild: use /external:anglebrackets
Revert usage of ExternalIncludePath, as that var is specifically
for external includes which do not get scanned for changes.
2021-11-15 00:33:51 -08:00
Shawn Hoffman
4008188654 msvc: update to vs2022 and windows sdk 10.0.22000 2021-11-11 08:01:26 -08:00
JosJuice
fb265b610d Android: Don't hold gameFileCache lock during updateAdditionalMetadata
It seems like we spend a lot of the game list scanning time in
updateAdditionalMetadata, which I suppose makes sense considering
how many different files that function attempts to open.

With the addition of just one little atomic operation, we can make
it safe to call updateAdditionalMetadata without holding a lock.
2021-08-24 15:35:39 +02:00
JMC47
a1e806ed76
Merge pull request #9600 from Bonta0/mgba-pr
Full GBA Controllers Integration with mGBA
2021-07-21 02:36:43 -04:00
Shawn Hoffman
7117bd5772 msbuild: remove deprecated MinimalRebuild
we were explicitly disabling it, which is
effectively the new behavior
2021-07-17 14:29:03 -07:00
Bonta
44aaf108d1 Externals: Integrate mGBA as a submodule 2021-07-13 16:39:29 +02:00
Shawn Hoffman
d19d2ce2bd msvc: use external header feature solution-wide
Add external include paths to ExternalIncludePath instead of
AdditionalIncludeDirectories. msbuild appends these paths to
EXTERNAL_INCLUDE env var, which is passed to /external:env:.

Specify /external:W0 and /external:templates-, with override for
DolphinQt for the template flag, since Qt 5.15.0 causes some warnings
in qmap.h
2021-06-03 15:42:23 -07:00
Dentomologist
433b857695 DolphinQt: Add quotes around QtIncludeDir on Windows
If the path $(QtIncludeDir) has a space in it Visual Studio interprets
the first part as the full path and chokes on the second part. Quote the
path to fix the problem.
2021-05-16 20:45:19 -07:00
iwubcode
99a724361a DolphinQt: update visual studio qt props to ignore warnings in headers 2021-05-15 14:39:03 -05:00
Shawn Hoffman
6829775fac msbuild: re-enable HAS_OPENGL and HAS_VULKAN 2021-01-27 19:10:53 -08:00
Shawn Hoffman
49b9deeb03 msvc: add asan support (disabled by default) 2021-01-10 15:11:18 -08:00
Shawn Hoffman
f0a6244768 msbuild: enable USE_GDBSTUB
this does nothing about it actually being usable
2021-01-09 22:26:55 -08:00
JosJuice
17e02838b0 DolphinQt: Stop using qtmain 2020-09-21 17:27:10 +02:00
JMC47
a31c204ca8
Merge pull request #8765 from AdmiralCurtiss/jit-reuse-memory
Jit64 codegen space reuse.
2020-09-09 08:16:09 -04:00
Shawn Hoffman
24e8ed8e27 msbuild: add experimental:deterministic for safety 2020-08-28 01:39:38 -07:00
Shawn Hoffman
5d334d4756 msbuild: explicitly disable incremental linking
Previously the default was used, which would
enable incremental linking for debug builds.
2020-08-27 23:59:22 -07:00
Shawn Hoffman
969ea6e4f5 msvc: enable /Zc:preprocessor and make build compile cleanly 2020-08-27 21:58:48 -07:00
Shawn Hoffman
8068ff92bf msbuild: use x64-hosted toolchain 2020-08-27 15:15:52 -07:00
Shawn Hoffman
9888adad54 msbuild: always enable /Gy and /Gw 2020-08-27 15:15:52 -07:00
Shawn Hoffman
9717a418b9 msbuild: properly enable /Brepro 2020-08-27 15:15:52 -07:00
Shawn Hoffman
7279f31b24 msbuild: re-enable C4996 and C4351
C4996 enables warnings about deprecated items
C4351 was phased out (thus a no-op) years ago
2020-08-27 15:15:52 -07:00
Shawn Hoffman
ae061276d6 msbuild: enable /Zc:externConstexpr,lambda note about preprocessor 2020-08-27 15:15:34 -07:00