Age | Commit message (Collapse) | Author |
|
|
|
|
|
This requires bumping up to a minimum of CMake 3.1. The benefit
of using the imported target is that you can switch to the -pthread
compiler flag on request, which may be necessary for some systems if
available.
|
|
|
|
|
|
citra: Remove GLFW, Add SDL2
FindSDL2: Do not CACHE SDL2_* variables if library is not found
EmuWindow_SDL2: Set minimal client area at initialisation time
EmuWindow_SDL2: Corrections
EmuWindow_SDL2: Fix no decorations on startup on OS X
cmake: windows_copy_files
|
|
|
|
|
|
The `option` commands have been moved to the top of the file, so that
the relevant options are registered in the CMake cache even if one of
the required libraries is not found. This solves an ergonomic problem
when using bundled libraries where you have to first download GLFW
before being able to select the option to also download Qt.
|
|
|
|
Using this variable is problematic is the user has several versions of
Qt installed on their system. There is no way to know ahead of time if
the Qt version pointed to by QTDIR matches the toolchain that is being
targeted.
The Qt installation path can still be easily specified if it's not found
by CMake by setting the Qt5_DIR cache variable after the initial
configuration run, so this shouldn't present an usability issue.
|
|
|
|
|
|
|
|
CMAKE_SYSTEM_ARCHICTETURE always returns the *host* not target arch
when using the MSVC generators. (CMake bugs 15170 and 14342.)
|
|
The main advantage of switching to glad from glLoadGen is that, apart
from being actively maintained, it supports a customizable entrypoint
loader function, which makes it possible to also support OpenGL ES.
|
|
This brings goodies such as a configurable user interface and
multi-threaded timeline view.
|
|
|
|
|
|
|
|
Apparently /DEBUG implicitly disables linker optimizations. This
explicitly re-enables them, giving a 40% reduction in binary sizes and
a very slight runtime speed improvement.
|
|
|
|
library to externals
|
|
Debug was missing compiler flags, causing MSVC to default it to building
with optimizations enabled (making for a not very useful binary for
actual debugging...). Additionally, the variables were re-organized to
remove some redundancy, the old Release build type was removed, and
RelWithDebInfo was renamed to take its place instead.
|
|
Enforce the "no tab, use spaces" policy with a pre-commit hook.
|
|
Remove unneeded stuff from pre-commit script
The check against an empty commit was not needed (it is only a security for the 1st commit after git init).
It could also possibly pose problems because of the redirection to /dev/null on some windows systems.
newline at EOF & fixed indent
|
|
|
|
It may be necessary to fix the CMake paths manually for an exsting CMake
cache after this change.
|
|
Windows build fixes
|
|
|
|
|
|
to simplify the code as well
|
|
request. Made the debug build a true debug build with no optimizxations and the RelWithDebInfo is what it says it is too. Changed the copying of the dlls to the build directories to happen at configuration time instead of build time
|
|
RelWithDebInfo target and setup copying the Qt 5 Dlls to the output directories.
|
|
|
|
CMake: Inform the user when architecture auto-detection fails
|
|
|
|
|
|
|
|
|
|
|
|
Build improvements
|
|
`/Oi` is included in `/Ox` already
|
|
|
|
Passing -pthread to GCC as a flag makes it both link to libpthread, and make C standard library routines reentrant. This makes the additional explicit links unnecessary.
Additionally, on OSX, this is the default behavior, and clang will print a message about it being unused if it's present there.
|
|
These are implicitly linked by Xcode, but with this, you can also build it with any other generator, which does not have this behavior.
CoreFoundation is included as a part of Cocoa (which is an umbrella framework), and Cocoa is generally recommended to link against, rather than its individual components (CoreFoundation, Foundation, libobjc, ...).
|
|
This both reduces redundancy in add_executable definitions, and makes it easier to link additional libraries. In particular, extra libraries are needed on OSX - see next commit.
|
|
This enables the /MP compiler flag, which parallelizes builds of by
distributing compilation of individual object files across workes
processes, instead of being limited to per-project parallelism.
Reduces the time for a full compile from 72 s to 45 s on my machine.
|
|
|
|
Clean up CMake library specification
|