# Build the Kokkos batched antenna-pattern + polarization-combine kernel as a
# ctypes-loadable shared lib.
#
#   cmake -S . -B build-cuda -DCMAKE_BUILD_TYPE=Release \
#         -DCMAKE_CXX_COMPILER=$HOME/soft/kokkos/4.6.0-pic/bin/nvcc_wrapper \
#         "-DCMAKE_CXX_FLAGS=-arch=sm_75 -I<nraasur>/cpp/glibc_cuda_shim" \
#         -DKokkos_ROOT=$HOME/soft/kokkos/4.6.0-pic
#   cmake --build build-cuda
#
# The .so lands next to this file (nrhjsurrogate/compute_kernels/libantenna_project.so),
# where nrhjsurrogate.execution.antenna_kernels loads it via ctypes.
cmake_minimum_required(VERSION 3.16)
project(antenna_project_kokkos CXX)

find_package(Kokkos REQUIRED)

add_library(antenna_project SHARED antenna_project.cpp)
target_link_libraries(antenna_project Kokkos::kokkos)
set_target_properties(antenna_project PROPERTIES
  POSITION_INDEPENDENT_CODE ON
  LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
