add CUDA stub building

newmatdist
Luca Pepè Sciarria 1 year ago
parent 7b92174c37
commit 3735ab09d0

@ -785,6 +785,68 @@ message(STATUS "Copied .h files to ${CMAKE_BINARY_DIR}/include")
#########################################
####### BUILD CUDA LIBRARY ##############
#########################################
# Optionally check for CUDA requirement
option(BUILD_CUDA "Build CUDA code" OFF)
if(BUILD_CUDA)
# Include the CMakeLists for the cbind library
include(${CMAKE_CURRENT_LIST_DIR}/cuda/CMakeLists.txt)
find_package(CUDA REQUIRED)
# Define the CUDA library
#if(WIN32)
#add_library(psb_cuda_C STATIC ${cuda_source_files})
#target_compile_definitions(psb_cuda_C
# PRIVATE -DWIN32 -D_LIB -DWIN64)
#set_target_properties(psb_cuda_C
# PROPERTIES
# LINKER_LANGUAGE C
# POSITION_INDEPENDENT_CODE TRUE)
#target_link_libraries(psb_cuda_C
# PUBLIC kernel32 user32 shell32)
#else()
#add_library(psb_cuda_C OBJECT ${cuda_source_files})
#endif()
add_library(psb_cuda_C OBJECT ${cuda_source_c_files})
# Create the main CUDA library
add_library(cuda ${cuda_source_files})
# Set properties for the CUDA library
set_target_properties(cuda
PROPERTIES
POSITION_INDEPENDENT_CODE TRUE
OUTPUT_NAME psb_cuda
LINKER_LANGUAGE C)
# Include directories for the CUDA library
target_include_directories(cuda PUBLIC
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/modules> # Path for building
$<INSTALL_INTERFACE:modules> # Path for installation
)
# Link with other necessary libraries
target_link_libraries(cuda PUBLIC base prec linsolve ext util)
endif()
if(MPI_FOUND)
# Copy mpi.mod from the first available path in MPI_Fortran_INCLUDE_PATH
set(MPI_MOD_COPIED FALSE)

Loading…
Cancel
Save