cmake_minimum_required(VERSION 3.21)
project(dstalk VERSION 0.1.0 LANGUAGES C CXX)

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)

set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)

option(DSTALK_BUILD_GUI "Build the SDL3 GUI frontend" OFF)
option(DSTALK_BUILD_WEB "Build the web UI frontend" OFF)
option(DSTALK_BUILD_TESTS "Build dstalk tests" ON)

add_subdirectory(dstalk-core)
add_subdirectory(dstalk-cli)
add_subdirectory(plugins)

if(DSTALK_BUILD_GUI)
    add_subdirectory(dstalk-gui)
endif()

if(DSTALK_BUILD_WEB)
    add_subdirectory(dstalk-web)
endif()

if(DSTALK_BUILD_TESTS)
    enable_testing()
    add_subdirectory(tests)
endif()
