checkpoint

This commit is contained in:
2025-10-11 12:54:46 +02:00
parent 535b0078e5
commit 899bfeef41
11 changed files with 120 additions and 96 deletions

View File

@@ -5,39 +5,39 @@ set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED YES)
set(CMAKE_CXX_EXTENSIONS NO)
add_library(cardboy_sdk INTERFACE)
add_library(cardboy_backend INTERFACE)
add_library(cardboy_sdk STATIC
src/app_system.cpp
)
target_include_directories(cardboy_sdk
INTERFACE
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/include
)
target_compile_features(cardboy_sdk INTERFACE cxx_std_20)
target_compile_features(cardboy_sdk PUBLIC cxx_std_20)
target_link_libraries(cardboy_sdk PUBLIC cardboy_backend)
target_sources(cardboy_sdk
INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}/src/app_system.cpp
add_library(cardboy_apps STATIC
apps/menu_app.cpp
apps/clock_app.cpp
apps/tetris_app.cpp
apps/gameboy_app.cpp
)
add_library(cardboy_apps INTERFACE)
target_include_directories(cardboy_apps
INTERFACE
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/include
)
target_link_libraries(cardboy_apps
INTERFACE
PUBLIC
cardboy_sdk
cardboy_backend
)
target_sources(cardboy_apps
INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}/apps/menu_app.cpp
${CMAKE_CURRENT_SOURCE_DIR}/apps/clock_app.cpp
${CMAKE_CURRENT_SOURCE_DIR}/apps/tetris_app.cpp
${CMAKE_CURRENT_SOURCE_DIR}/apps/gameboy_app.cpp
)
target_compile_features(cardboy_apps PUBLIC cxx_std_20)
option(CARDBOY_BUILD_SFML "Build SFML harness" OFF)
@@ -58,6 +58,17 @@ if (CARDBOY_BUILD_SFML)
)
FetchContent_MakeAvailable(SFML)
target_include_directories(cardboy_backend
INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}/hosts/include
)
target_link_libraries(cardboy_backend
INTERFACE
SFML::Window
SFML::Graphics
SFML::System
)
add_executable(cardboy_desktop
hosts/sfml_main.cpp
)
@@ -65,20 +76,7 @@ if (CARDBOY_BUILD_SFML)
target_link_libraries(cardboy_desktop
PRIVATE
cardboy_apps
SFML::Graphics
SFML::Window
SFML::System
)
target_include_directories(cardboy_desktop
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/hosts/include
)
target_compile_definitions(cardboy_desktop
PRIVATE
CARDBOY_SDK_BACKEND_HEADER=\"cardboy/backend/desktop_backend.hpp\"
CARDBOY_SDK_ACTIVE_BACKEND_TYPE=cardboy::backend::DesktopBackend
cardboy_sdk
)
target_compile_features(cardboy_desktop PRIVATE cxx_std_20)