From d2384abb9df0c8517fcc5765bb342859d15b9d87 Mon Sep 17 00:00:00 2001 From: Daniel Krebs Date: Wed, 16 May 2018 10:58:18 +0200 Subject: [PATCH] cmake: only build GPU library if CUDA is present --- fpga/lib/CMakeLists.txt | 12 ++++++++++-- fpga/tests/CMakeLists.txt | 5 ++++- 2 files changed, 14 insertions(+), 3 deletions(-) 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)