# Тесты ядра. Структура зеркалит src: tests/ayla — протоколная часть, # tests/aircon — конверсии/шаблоны (появятся в M3). # # Тесты собираются с исключениями (фреймворк), сама библиотека — без. include(FetchContent) FetchContent_Declare( doctest GIT_REPOSITORY https://github.com/doctest/doctest.git GIT_TAG v2.4.12 GIT_SHALLOW TRUE ) FetchContent_MakeAvailable(doctest) function(fgl_add_test name) add_executable(test_${name} ${ARGN}) target_compile_features(test_${name} PRIVATE cxx_std_20) target_link_libraries(test_${name} PRIVATE fgl-aircon doctest_with_main) target_include_directories(test_${name} PRIVATE "${CMAKE_SOURCE_DIR}/src") add_test(NAME ${name} COMMAND test_${name}) endfunction() fgl_add_test(ayla_platform ayla/test_platform.cpp) fgl_add_test(ayla_httpd ayla/test_httpd.cpp)