Refactor build targets into AlberCore (#455)

* Ignore `.cache` folder

* Add `AlberCore` build-target

Separate the AlberCore from its frontends. Allowing two front-ends to interface
with the same core implementation.  This also allows for the core to interface
better with unit-testing.

* Modularize SDL/Qt frontend

Separates all QT/SDL build files and options into the frontend-build-target

* Fix optional OpenGL enablement

Software renderer requires OpenGL, so AlberCore requries OpenGL.

The QT frontend currently requires OpenGL due to `ScreenWidget`

* Fix Android build

* Fix LTO linking

* Fix windows build

`LoadLibrary` is a preprocessor that will use either `LoadLibraryW` or
`LoadLibraryA` depending on if `UNICODE` is defined or not.
In this case we are using an ASCII string literal and and can explicitly
specify the usage of `LoadLibraryA` with an ASCII literal.

* Bonk

* Bonk

---------

Co-authored-by: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com>
This commit is contained in:
Wunk 2024-03-11 10:51:17 -07:00 committed by GitHub
parent 57193e7944
commit 929019e76b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 178 additions and 167 deletions

View file

@ -16,7 +16,7 @@ static bool GetRefreshRateFromDWM(HWND hwnd, float* refresh_rate)
if (!load_tried)
{
load_tried = true;
dwm_module = LoadLibrary(L"dwmapi.dll");
dwm_module = LoadLibraryA("dwmapi.dll");
if (dwm_module)
{
std::atexit([]() {