cmake_minimum_required(VERSION 4.3.4)
project(Sabalty)

set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
include(FetchContent)

option(BUILD_TESTING "Build tests" OFF)
if(BUILD_TESTING)
	enable_testing()

	FetchContent_Declare(
		Catch2
      		GIT_REPOSITORY https://github.com/catchorg/Catch2.git
      		GIT_TAG        v3.15.3
    	)
    	FetchContent_MakeAvailable(Catch2)

    	include(CTest)
    	include(Catch)
endif()

FetchContent_Declare(Sodium
	GIT_REPOSITORY https://github.com/robinlinden/libsodium-cmake.git
    	GIT_TAG cfebfd3da486d5a86c644c8b47067e5411c7599c # HEAD, last updated at 2026-02-28
)
set(SODIUM_DISABLE_TESTS ON)
FetchContent_MakeAvailable(Sodium)

add_subdirectory(Server)
add_subdirectory(Protocol)
