cmake_minimum_required(VERSION 3.8)
if(POLICY CMP0104)
  # DTK's nvcc-compatible wrapper owns target selection; an empty CMake CUDA
  # architecture list is valid for this compatibility build.
  cmake_policy(SET CMP0104 OLD)
endif()
project(qcu LANGUAGES C CXX CUDA)
# DTK 23.10's nvcc-compatible wrapper rejects CMake's --options-file syntax.
set(CMAKE_CUDA_USE_RESPONSE_FILE_FOR_INCLUDES 0)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CUDA_STANDARD 11)
message(STATUS "PATH is: $ENV{PATH}")
message(STATUS "LD_LIBRARY_PATH is: $ENV{LD_LIBRARY_PATH}")
find_package(MPI REQUIRED COMPONENTS C CXX)
include(GNUInstallDirs)
include_directories(./include)
aux_source_directory(./src SOURCE_FILE)
add_library(qcu SHARED ${SOURCE_FILE})
find_package(CUDA REQUIRED)
target_include_directories(qcu PRIVATE ${MPI_C_INCLUDE_DIRS})
target_link_libraries(qcu ${MPI_C_LIBRARIES})
target_link_libraries(qcu ${CUDA_LIBRARIES})
target_link_libraries(qcu curand)
target_link_libraries(qcu cublas)
