New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CMake: minor Windows fixes #9668
Conversation
a701869
to
2bf820d
Compare
25c3fd2
to
e809586
Compare
3b7773a
to
caa3170
Compare
It should be enabled by default (the codegen really is quite better). But it's disabled (hidden behind DolphinRelease flag) because...:
(this is why). If the buildbot had more resources it may be a different story. The current buildbot setup is really sadly inefficient. The idea was that we would compile with ltcg (and maybe do PGO, but that is more effort than just passing a flag) for "actual releases". But dolphin doesn't really release much, so... |
|
btw, if you want to compare args being passed to msvc tools, the easiest way is probably just something like |
Required to fix unit test builds for Windows+MSVC+CMake. For more information, see: https://github.com/google/googletest/blob/23ef29555ef4789f555f1ba8c51b4c52975f0907/googletest/README.md#visual-studio-dynamic-vs-static-runtimes
CMAKE_RUNTIME_OUTPUT_DIRECTORY_<mode> overrode CMAKE_RUNTIME_OUTPUT_DIRECTORY. It's just unnecessary and it broke UnitTests's custom output directory
* no-system-d3d-compiler: d3dcompiler_47.dll * no-angle, no-opengl-sw: libEGL.dll, libGLESv2.dll
Avoids the need to copy the *.mo files manually *and* more importantly this ensures that the mo files are always recreated if the build output directory is cleared.
See https://gitlab.kitware.com/cmake/cmake/-/issues/20812 Manually redefine MSVC flags to match Visual Studio defaults and ensure that Release builds generate debug info.
LTO is supposed to be enabled by default for VS Release builds according to the VS prop files but a build log from JMC reveals that /GL and /LTCG are not actually passed to cl.exe/link.exe for some reason... LTO also leads to *extremely* and unacceptably slow build times when using link.exe, so let's disable it by default to actually match the project files.
caa3170
to
ae9ac51
Compare
TwofiveSeveral small commits to fix CMake on Windows builds.