cmake_minimum_required(VERSION 3.30)
project(fennec-test)

set(CMAKE_CXX_STANDARD 23)
set(CMAKE_C_STANDARD 23)

add_executable(fennec-test main.cpp
        test.h
        tests/math/test_vector.h
        tests/math/test_matrix.h
        tests/math/test_scalar.h
        tests/math/test_geometric.h
        tests/test_memory.h
        tests/test_math.h
        tests/test_lang.h
        tests/lang/test_conditional_types.h
        tests/lang/test_bits.h
        tests/lang/test_sequences.h
        tests/math/test_common.h
        tests/math/test_exponential.h
        tests/math/test_relational.h
        tests/math/test_trigonometric.h
        tests/langproc/test_strings.h
        tests/langproc/strings/test_cstring.h
        tests/test_langproc.h
        tests/langproc/test_io.h
        printing.h
        tests/math/test_ext.h
        tests/math/ext/test_quaternion.h
        tests/test_platform.h
        tests/lang/test_hashing.h
        tests/containers/test_array.h
        tests/containers/test_set.h
        tests/containers/test_map.h
        tests/containers/test_rdtree.h
        tests/containers/test_list.h
        tests/containers/test_tuple.h
)

target_compile_definitions(fennec-test PUBLIC FENNEC_TEST_CWD="${CMAKE_SOURCE_DIR}/bin/${FENNEC_BUILD_NAME}"
                                              FENNEC_BUILD_NAME="${FENNEC_BUILD_NAME}"
)

target_link_libraries(fennec-test PRIVATE
        -Wl,--whole-archive
        fennec
        -Wl,--no-whole-archive
)