mirror of
https://github.com/usatiuk/cardboy.git
synced 2025-10-28 23:27:49 +01:00
cleaner backend
This commit is contained in:
16
Firmware/sdk/launchers/desktop/CMakeLists.txt
Normal file
16
Firmware/sdk/launchers/desktop/CMakeLists.txt
Normal file
@@ -0,0 +1,16 @@
|
||||
add_executable(cardboy_desktop
|
||||
src/main.cpp
|
||||
)
|
||||
|
||||
set_target_properties(cardboy_desktop PROPERTIES
|
||||
EXPORT_NAME desktop_launcher
|
||||
)
|
||||
|
||||
target_link_libraries(cardboy_desktop
|
||||
PRIVATE
|
||||
cardboy_apps
|
||||
cardboy_sdk
|
||||
${CARDBOY_SDK_BACKEND_LIBRARY}
|
||||
)
|
||||
|
||||
target_compile_features(cardboy_desktop PRIVATE cxx_std_20)
|
||||
33
Firmware/sdk/launchers/desktop/src/main.cpp
Normal file
33
Firmware/sdk/launchers/desktop/src/main.cpp
Normal file
@@ -0,0 +1,33 @@
|
||||
#include "cardboy/apps/clock_app.hpp"
|
||||
#include "cardboy/apps/gameboy_app.hpp"
|
||||
#include "cardboy/apps/menu_app.hpp"
|
||||
#include "cardboy/apps/tetris_app.hpp"
|
||||
#include "cardboy/backend/desktop_backend.hpp"
|
||||
#include "cardboy/sdk/app_system.hpp"
|
||||
|
||||
#include <cstdio>
|
||||
#include <exception>
|
||||
|
||||
using cardboy::backend::desktop::DesktopRuntime;
|
||||
|
||||
int main() {
|
||||
try {
|
||||
DesktopRuntime runtime;
|
||||
|
||||
cardboy::sdk::AppContext context(runtime.framebuffer, runtime.input, runtime.clock);
|
||||
context.services = &runtime.serviceRegistry();
|
||||
cardboy::sdk::AppSystem system(context);
|
||||
|
||||
system.registerApp(apps::createMenuAppFactory());
|
||||
system.registerApp(apps::createClockAppFactory());
|
||||
system.registerApp(apps::createGameboyAppFactory());
|
||||
system.registerApp(apps::createTetrisAppFactory());
|
||||
|
||||
system.run();
|
||||
} catch (const std::exception& ex) {
|
||||
std::fprintf(stderr, "Cardboy desktop runtime failed: %s\n", ex.what());
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user