cmake_minimum_required(VERSION 3.10)

option(ENABLE_LLVM "Enable LLVM backend" OFF)
option(ENABLE_CUDA "Enable CUDA backend" OFF)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

project(drjit-example LANGUAGES CXX)

enable_testing()

find_package(drjit CONFIG REQUIRED)

add_executable(half_smoke half_smoke.cpp)
target_link_libraries(half_smoke PRIVATE drjit)
add_test(NAME half_smoke COMMAND half_smoke)

add_executable(half half.cpp)
target_link_libraries(half PRIVATE drjit)

if(ENABLE_LLVM)
  add_executable(jit_llvm jit_llvm.cpp)
  target_link_libraries(jit_llvm PRIVATE drjit-core drjit)
endif()

if(ENABLE_CUDA)
  add_executable(jit_cuda jit_cuda.cpp)
  target_link_libraries(jit_cuda PRIVATE drjit-core drjit)
endif()
