# Make sure the compiler can find include files from our Bdm library.
include_directories (${BDM_SOURCE_DIR}/bdm)
include_directories (./unittest-cpp)

# Make sure the linker can find the Hello library once it is built.
link_directories (${BDM_BINARY_DIR}/bdm)
link_directories (./unittest-cpp)

SET(testutil_src egiw_harness.cpp egiw_harness.h epdf_harness.cpp epdf_harness.h mat_checks.cpp mat_checks.h 
	mpdf_harness.cpp mpdf_harness.h square_mat_point.cpp square_mat_point.h test_util.cpp test_util.h)

add_library(testutil ${testutil_src})
target_link_libraries(testutil bdm itpp unittest)

add_executable(square_mat_stress square_mat_stress.cpp)
target_link_libraries(square_mat_stress testutil unittest)
LINK_EXEC(square_mat_stress)

add_executable(square_mat_prep additive_generator.cpp additive_generator.h generator.cpp generator.h 
	size_generator.cpp size_generator.h square_mat_prep.cpp)
target_link_libraries(square_mat_prep testutil)
LINK_EXEC(square_mat_prep)

EXEC(testResample)

# ESTIM EXECS
EXEC(arx_test)
EXEC(arx_elem_test)
EXEC(merger_2d_test)
EXEC(merger_iter_test)
EXEC(mixtures_test)

EXEC(test_kalman)
EXEC(test_particle)
#EXEC(test_kalman_QR)
#EXEC(test_kalman_QRexh)

EXEC(blas_test)

# using UnitTest++
add_executable(testsuite datalink_test.cpp egiw_test.cpp emix_test.cpp epdf_test.cpp logger_test.cpp LQG_test.cpp merger_test.cpp 
	mpdf_test.cpp randun_test.cpp rectangular_support_test.cpp rv_test.cpp shared_ptr_test.cpp square_mat_test.cpp testsuite.cpp user_info_test.cpp)
target_link_libraries(testsuite testutil unittest)
LINK_EXEC(testsuite)

add_subdirectory(tutorial)
add_subdirectory(unittest-cpp)
