1 cmake_minimum_required(VERSION 3.22.1) 2 project(extract_cuda) 3 4 #We can assume that 'parent' has guarded us with find_package(XxxxXX) + if(XXXXXX_FOUND) 5 6 set(JEXTRACT_PACKAGE cuda) 7 set(JEXTRACT_SOURCE ${CMAKE_SOURCE_DIR}/${JEXTRACT_PACKAGE}/src/main/java) 8 set(JEXTRACT_HEADER ${JEXTRACT_SOURCE}/${JEXTRACT_PACKAGE}/${JEXTRACT_PACKAGE}_h.java) 9 10 if (Apple) 11 12 else() 13 add_custom_command(OUTPUT ${JEXTRACT_HEADER} 14 COMMAND mkdir -p ${JEXTRACT_SOURCE} 15 COMMAND jextract 16 --target-package ${JEXTRACT_PACKAGE} 17 --output ${JEXTRACT_SOURCE} 18 --library :${CUDA_cuda_driver_LIBRARY} 19 --header-class-name ${JEXTRACT_PACKAGE}_h 20 ${CUDAToolkit_INCLUDE_DIR}/cuda.h 21 WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" 22 VERBATIM 23 ) 24 #CUDAToolkit_INCLUDE_DIR=/usr/local/cuda-12.2/include 25 #CUDA_cuda_driver_LIBRARY =/usr/lib/aarch64-linux-gnu/libcuda.so 26 27 endif() 28 29 add_custom_target(extract_cuda DEPENDS ${JEXTRACT_HEADER})