diff --git a/fpga/lib/CMakeLists.txt b/fpga/lib/CMakeLists.txt index fff01b8e1..5ff3a50ba 100644 --- a/fpga/lib/CMakeLists.txt +++ b/fpga/lib/CMakeLists.txt @@ -1,5 +1,4 @@ add_subdirectory(common) -add_subdirectory(gpu) set(SOURCES vlnv.cpp @@ -36,7 +35,16 @@ find_package(Threads) add_library(villas-fpga SHARED ${SOURCES}) target_link_libraries(villas-fpga PUBLIC villas-common) -target_link_libraries(villas-fpga PUBLIC villas-gpu) + +# GPU library is optional, check for CUDA presence +include(CheckLanguage) +check_language(CUDA) +if(CMAKE_CUDA_COMPILER) + add_subdirectory(gpu) + target_link_libraries(villas-fpga PUBLIC villas-gpu) +else() + message("No CUDA support, not building GPU library") +endif() target_compile_definitions(villas-fpga PRIVATE BUILDID=\"abc\" diff --git a/fpga/tests/CMakeLists.txt b/fpga/tests/CMakeLists.txt index f36647ab3..c7b762ac3 100644 --- a/fpga/tests/CMakeLists.txt +++ b/fpga/tests/CMakeLists.txt @@ -4,7 +4,6 @@ set(SOURCES logging.cpp dma.cpp fifo.cpp - gpu.cpp # hls.c # intc.c # rtds_rtt.c @@ -13,6 +12,10 @@ set(SOURCES graph.cpp ) +if(CMAKE_CUDA_COMPILER) + list(APPEND SOURCES gpu.cpp) +endif() + add_executable(unit-tests ${SOURCES}) find_package(Criterion REQUIRED)