cmake_minimum_required(VERSION 3.16)
project(libsyq VERSION 1.0.0 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
find_package(Qt6 REQUIRED COMPONENTS Core)
if(WIN32)
    find_package(zstd CONFIG REQUIRED)
    set(SYQ_ZSTD_TARGET zstd::libzstd)
else()
    find_package(PkgConfig REQUIRED)
    pkg_check_modules(SYQ_ZSTD REQUIRED IMPORTED_TARGET libzstd)
    set(SYQ_ZSTD_TARGET PkgConfig::SYQ_ZSTD)
endif()
add_library(syq STATIC src/syq.cpp)
target_include_directories(syq PUBLIC include)
target_link_libraries(syq PUBLIC Qt6::Core PRIVATE ${SYQ_ZSTD_TARGET})
add_executable(syqtool tools/syqtool.cpp)
target_link_libraries(syqtool PRIVATE syq)
add_executable(syq_tests tests/roundtrip.cpp)
target_link_libraries(syq_tests PRIVATE syq)
enable_testing()
add_test(NAME syq_core COMMAND syq_tests)
find_package(Python3 QUIET COMPONENTS Interpreter)
if(Python3_Interpreter_FOUND)
    add_test(NAME syq_independent_reader COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/tests/reference_reader_test.py)
endif()
