build: Refactor CMake build system

This new architecture decomposes the project into several distict static
libraries: common, host, kvm, and frontend.

By using static libraries, changes within one module will only require
that library to be re-linked, rather than recompiling and re-linking the
entire executable.

The third party library ImGui is now built as a static library target.

Signed-off-by: Ronald Caesar <github43132@proton.me>
This commit is contained in:
Ronald Caesar 2025-09-14 13:28:09 -04:00
parent 8b483849f4
commit a3ed44003b
16 changed files with 133 additions and 302 deletions

View file

@ -1,12 +1,12 @@
// Copyright 2025 Xenon Emulator Project. All rights reserved.
#include "common/Assert.h"
#include "common/Config.h"
#include "TextFormatter.h"
#include "Filter.h"
#include "LogEntry.h"
#include <algorithm>
namespace Base {
namespace Log {
@ -57,7 +57,7 @@ void PrintColoredMessage(const Entry &entry) {
color = ESC "[0;92m";
break;
case Level::Count:
UNREACHABLE();
break;
}
PrintMessage(color, entry);