CMAKE_MINIMUM_REQUIRED(VERSION 3.16 FATAL_ERROR)

PROJECT(Kokkos-Python-Example LANGUAGES C CXX)

SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
SET(CMAKE_INCLUDE_CURRENT_DIR      ON)
SET(CMAKE_UNITY_BUILD              OFF)

ADD_LIBRARY(user SHARED user.cpp)
TARGET_LINK_LIBRARIES(user PUBLIC Kokkos::kokkos)

IF(TARGET libpykokkos-build-options)
    GET_TARGET_PROPERTY(EXTRA_FLAGS libpykokkos-build-options INTERFACE_COMPILE_OPTIONS)
    TARGET_COMPILE_OPTIONS(user PUBLIC ${EXTRA_FLAGS})
endif()

pybind11_add_module(ex_generate NO_EXTRAS
    ${PROJECT_SOURCE_DIR}/ex-generate.cpp)

TARGET_LINK_LIBRARIES(ex_generate PRIVATE user)
CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/ex-numpy.py
    ${CMAKE_BINARY_DIR}/ex-numpy.py @ONLY)
