cmake_minimum_required (VERSION 3.4)

# CMake utils
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")

# Forbids in-source builds
include(CheckNotInSources)

#------------------------------------------------------
#----------------- Main configuration -----------------
#------------------------------------------------------

project (Pastis
  VERSION 0.0.2)

set(PASTIS_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")

# Rang (colors? Useless thus necessary!)
include_directories(${PASTIS_SOURCE_DIR}/packages/rang/include)

# CLI11
include_directories(${PASTIS_SOURCE_DIR}/packages/CLI11/include)

# Kokkos
set(KOKKOS_ENABLE_OPENMP ON CACHE BOOL "")
add_subdirectory(${CMAKE_SOURCE_DIR}/packages/kokkos)
include_directories(${Kokkos_INCLUDE_DIRS_RET})

# Pastis utils
add_subdirectory(utils)
include_directories(utils)

# Compiler flags
include(GetKokkosCompilerFlags)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")

# ------------------- Source files --------------------
# Pastis binary
add_executable(
  pastis
  main.cpp)

# Libraries
target_link_libraries(
  pastis
  kokkos
  PastisUtils)