set(simple_tests
    buffer_manager_test.cpp
    callback_interpreter_system.cpp
    memory-pool_test.cpp
    server_dsp_thread_queue_test.cpp
    server_dsp_thread_test.cpp
    server_node_graph_test.cpp
    server_scheduler_test.cpp
    server_synth_factory_test.cpp
    simple_pool_test.cpp
    sized_array_test.cpp
    static_pool_test.cpp
    timetag_test.cpp
)
if(NOT NO_LIBSNDFILE)
	list(APPEND simple_tests
		sndfile_backend_test.cpp
	)
else()
	add_definitions("-DNO_LIBSNDFILE")
endif()

if(!APPLE)
    set(simple_tests
        ${simple_tests}
        static_allocator_test.cpp
        tl_allocator_test.cpp
    )
endif()

# run simple tests
foreach(test ${simple_tests})
  string(REPLACE .cpp "" test_name ${test} )
  add_executable(${test_name} ${test})

  target_link_libraries(${test_name} boost_test libsupernova Boost::thread)

  if(LINUX AND CMAKE_COMPILER_IS_CLANG)
    target_link_libraries(${test_name} atomic)
  endif()

  add_test(supernova__${test_name}_run ${test_name})

  set_property(TARGET ${test_name} PROPERTY FOLDER Test/Supernova)
endforeach(test)
