find_package(fmt)
find_package(spdlog)
find_package(Eigen3)


add_library(logging tools/logging.cpp)

add_library(integratoren SHARED 
	tools/LiveAgg.cpp 
	Data/Rod2d.cpp 
	Data/Simulation.cpp
	Data/Rod2dMulti.cpp        
	Force/ForceMulti.cpp
	Integratoren/Integratoren2d.cpp 
	tools/Compute.cpp 
	runner/konvergenz_runner.cpp)
target_include_directories(integratoren PUBLIC .)
target_link_libraries(
	integratoren
	PRIVATE project_options
	project_warnings
	fmt::fmt
	spdlog::spdlog
	Eigen3::Eigen3
	logging
	)

target_include_directories(logging PUBLIC .)
target_link_libraries(
	logging
	PRIVATE project_options
	project_warnings
	fmt::fmt
	spdlog::spdlog)

add_executable(main main.cpp)
find_package(OpenMP)
if(OpenMP_CXX_FOUND)
	target_link_libraries(main PUBLIC OpenMP::OpenMP_CXX)
endif()
target_link_libraries(
	main
	PRIVATE project_options
	project_warnings
	integratoren
	Eigen3::Eigen3
	fmt::fmt
	)
