INCLUDE(TribitsLibraryMacros)
INCLUDE(TribitsAddOptionAndDefine)

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})

SET(HEADERS "")
SET(SOURCES "")
SET(CUDA_SOURCES "")

FILE(GLOB HEADERS *.hpp)
FILE(GLOB CUDA_SOURCES *.cu)

#set nvcc behavior
set(CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE OFF)

CUDA_COMPILE(CUDA_OBJECTS ${CUDA_SOURCES})

SET(SOURCES ${SOURCES} ${CUDA_OBJECTS})

TRIBITS_ADD_LIBRARY(
  kokkosarray_devicecuda
  NOINSTALLHEADERS ${HEADERS}
  SOURCES ${SOURCES}
  DEPLIBS kokkosarray_impl
  CUDALIBRARY
)

SET(TRILINOS_INCDIR ${CMAKE_INSTALL_PREFIX}/${Trilinos_INSTALL_INCLUDE_DIR})

INSTALL(FILES ${HEADERS} DESTINATION ${TRILINOS_INCDIR}/Cuda/)


