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

set(CMAKE_C_STANDARD 11)
if(MSVC_VERSION LESS 1920)
    set(CMAKE_CXX_STANDARD 17)
else()
    set(CMAKE_CXX_STANDARD 20)
endif()
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

option(DSTALK_BUILD_GUI "Build the SDL3 GUI 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_TESTS)
    enable_testing()
    add_subdirectory(tests)
endif()
