cmake_minimum_required(VERSION 3.20.0)

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED True)

# set the project name and version
project(lppl_tests VERSION 0.0.1)

# unit and integration tests
add_executable(distribution_test test/test_distributions.cpp)
add_executable(record_test test/test_record.cpp)
add_executable(lw_test test/test_likelihood.cpp)
add_executable(metro_base_test test/test_metropolis_base.cpp)
add_executable(proposal_test test/test_proposal.cpp)
add_executable(filter_test test/test_filter.cpp)
add_executable(graph_test test/test_graph_basic.cpp)

target_include_directories(distribution_test PUBLIC
                          "${PROJECT_BINARY_DIR}"
                          "${PROJECT_SOURCE_DIR}/lib"
                          "${PROJECT_SOURCE_DIR}/include"
                          )
target_include_directories(record_test PUBLIC
                          "${PROJECT_BINARY_DIR}"
                          "${PROJECT_SOURCE_DIR}/lib"
                          "${PROJECT_SOURCE_DIR}/include"
                          )
target_include_directories(lw_test PUBLIC
                          "${PROJECT_BINARY_DIR}"
                          "${PROJECT_SOURCE_DIR}/lib"
                          "${PROJECT_SOURCE_DIR}/include"
                          )
target_include_directories(metro_base_test PUBLIC
                          "${PROJECT_BINARY_DIR}"
                          "${PROJECT_SOURCE_DIR}/lib"
                          "${PROJECT_SOURCE_DIR}/include"
                          )
target_include_directories(proposal_test PUBLIC
                          "${PROJECT_BINARY_DIR}"
                          "${PROJECT_SOURCE_DIR}/lib"
                          "${PROJECT_SOURCE_DIR}/include"
                          )
target_include_directories(filter_test PUBLIC
                          "${PROJECT_BINARY_DIR}"
                          "${PROJECT_SOURCE_DIR}/lib"
                          "${PROJECT_SOURCE_DIR}/include"
                          )
target_include_directories(graph_test PUBLIC
                          "${PROJECT_BINARY_DIR}"
                          "${PROJECT_SOURCE_DIR}/lib"
                          "${PROJECT_SOURCE_DIR}/include"
                          )

                                          