mirror of
https://github.com/usatiuk/cardboy.git
synced 2025-10-28 23:27:49 +01:00
50 lines
1.4 KiB
CMake
50 lines
1.4 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
|
project(cardboy_sdk LANGUAGES CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED YES)
|
|
set(CMAKE_CXX_EXTENSIONS NO)
|
|
|
|
add_subdirectory(backend_interface)
|
|
|
|
set(CARDBOY_SDK_BACKEND_LIBRARY "" CACHE STRING "Backend implementation library for Cardboy SDK")
|
|
set(_cardboy_backend_default "${CARDBOY_SDK_BACKEND_LIBRARY}")
|
|
|
|
option(CARDBOY_BUILD_SFML "Build desktop SFML backend and launcher" ON)
|
|
|
|
if (CARDBOY_BUILD_SFML)
|
|
add_subdirectory(backends/desktop)
|
|
if (DEFINED CARDBOY_DESKTOP_BACKEND_TARGET AND NOT CARDBOY_DESKTOP_BACKEND_TARGET STREQUAL "")
|
|
set(_cardboy_backend_default "${CARDBOY_DESKTOP_BACKEND_TARGET}")
|
|
endif ()
|
|
endif ()
|
|
|
|
if (_cardboy_backend_default STREQUAL "")
|
|
message(FATAL_ERROR "CARDBOY_SDK_BACKEND_LIBRARY is not set. Provide a backend implementation library or enable one of the available backends.")
|
|
endif ()
|
|
|
|
set(CARDBOY_SDK_BACKEND_LIBRARY "${_cardboy_backend_default}" CACHE STRING "Backend implementation library for Cardboy SDK" FORCE)
|
|
|
|
add_library(cardboy_sdk STATIC
|
|
src/app_system.cpp
|
|
)
|
|
|
|
target_include_directories(cardboy_sdk
|
|
PUBLIC
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
|
)
|
|
|
|
target_compile_features(cardboy_sdk PUBLIC cxx_std_20)
|
|
|
|
target_link_libraries(cardboy_sdk
|
|
PUBLIC
|
|
cardboy_backend_interface
|
|
${CARDBOY_SDK_BACKEND_LIBRARY}
|
|
)
|
|
|
|
add_subdirectory(apps)
|
|
|
|
if (CARDBOY_BUILD_SFML)
|
|
add_subdirectory(launchers/desktop)
|
|
endif ()
|