# Generated by `boostdep --cmake numeric/odeint`
# Copyright 2020, 2021 Peter Dimov
# Distributed under the Boost Software License, Version 1.0.
# https://www.boost.org/LICENSE_1_0.txt

cmake_minimum_required(VERSION 3.5...3.20)

project(boost_numeric_odeint VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX)

add_library(boost_numeric_odeint INTERFACE)
add_library(Boost::numeric_odeint ALIAS boost_numeric_odeint)

target_include_directories(boost_numeric_odeint INTERFACE include)

if(BOOST_NUMERIC_ODEINT_NO_ADAPTORS)

  target_link_libraries(boost_numeric_odeint
    INTERFACE
      Boost::assert
      Boost::config
      Boost::core
      Boost::fusion
      Boost::iterator
      Boost::math
      Boost::mpl
      Boost::multi_array
      Boost::numeric_ublas
      Boost::preprocessor
      Boost::range
      Boost::static_assert
      Boost::throw_exception
      Boost::type_traits
      Boost::units
      Boost::utility
  )

else()

  target_link_libraries(boost_numeric_odeint
    INTERFACE
      Boost::assert
      Boost::compute
      Boost::config
      Boost::core
      Boost::fusion
      Boost::iterator
      Boost::math
      Boost::mpl
      Boost::multi_array
      Boost::numeric_ublas
      Boost::preprocessor
      Boost::range
      Boost::static_assert
      Boost::throw_exception
      Boost::type_traits
      Boost::units
      Boost::utility
  )

  # From CMake 3.30 linking against MPI when it does not exist gives errors
  if(BOOST_ENABLE_MPI)
    target_link_libraries(boost_numeric_odeint
      INTERFACE
        Boost::mpi
    )
  endif()

endif()

if(BUILD_TESTING AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt")

  add_subdirectory(test)

endif()
