##======================================================================================================================
##  ROTGEN - Runtime Overlay for Eigen
##  Copyright : CODE RECKONS
##  SPDX-License-Identifier: BSL-1.0
##======================================================================================================================
include(${ROTGEN_SOURCE_DIR}/cmake/unit.cmake)
rotgen_setup_test_targets()

##======================================================================================================================
## Compiler options for Unit Tests in dynamci and static mode
##======================================================================================================================
add_library(rotgen_test INTERFACE)
target_compile_options(rotgen_test INTERFACE -std=c++20 -Werror -Wall -Wextra -Wshadow -Wunused-variable)
target_include_directories( rotgen_test INTERFACE ${PROJECT_SOURCE_DIR}/test)
target_link_libraries(rotgen_test INTERFACE rotgen Eigen3::Eigen)

##======================================================================================================================
## Unit Tests registration
##======================================================================================================================
rotgen_glob_unit(QUIET PATTERN "unit/*.cpp"         INTERFACE rotgen_test)
rotgen_glob_unit(QUIET PATTERN "unit/matrix/*.cpp"  INTERFACE rotgen_test)
rotgen_glob_unit(QUIET PATTERN "unit/block/*.cpp"   INTERFACE rotgen_test)
rotgen_glob_unit(QUIET PATTERN "unit/map/*.cpp"     INTERFACE rotgen_test)

##======================================================================================================================
## Integrations Tests registration
##======================================================================================================================
rotgen_glob_unit(QUIET PATTERN "integration/*.cpp"         INTERFACE rotgen_test)
