## CMakeLists.txt # # Author: Daniel Krebs # SPDX-FileCopyrightText: 2018 Institute for Automation of Complex Power Systems, RWTH Aachen University # SPDX-License-Identifier: Apache-2.0 set(SOURCES vlnv.cpp card.cpp pcie_card.cpp core.cpp node.cpp utils.cpp dma.cpp ips/aurora_xilinx.cpp ips/aurora.cpp ips/bram.cpp ips/dino.cpp ips/dma.cpp ips/emc.cpp ips/fifo.cpp ips/gpio.cpp ips/intc.cpp ips/pcie.cpp ips/rtds.cpp ips/switch.cpp ips/timer.cpp ips/i2c.cpp ips/register.cpp ips/axis_cache.cpp ips/rtds2gpu/rtds2gpu.cpp ips/rtds2gpu/xrtds2gpu.c ips/rtds2gpu/gpu2rtds.cpp ) # we don't have much influence on drivers generated by Xilinx, so ignore warnings set_source_files_properties(ips/rtds2gpu/xrtds2gpu.c PROPERTIES COMPILE_FLAGS -Wno-int-to-pointer-cast) add_library(villas-fpga SHARED ${SOURCES}) target_link_libraries(villas-fpga PUBLIC villas-common) target_compile_definitions(villas-fpga PRIVATE BUILDID=\"abc\" _GNU_SOURCE ) target_include_directories(villas-fpga PUBLIC ${PROJECT_BINARY_DIR}/include ${PROJECT_SOURCE_DIR}/fpga/include ${JANSSON_INCLUDE_DIRS} ) target_link_libraries(villas-fpga PUBLIC ${CMAKE_THREAD_LIBS_INIT} ${CMAKE_DL_LIBS} m xil villas-common "$<$,$,9.0>>:stdc++fs>" ) if(CMAKE_CUDA_COMPILER) target_link_libraries(villas-fpga PUBLIC villas-gpu) endif() include(GNUInstallDirs) install(TARGETS villas-fpga RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/static ) install(DIRECTORY ../include/villas DESTINATION include)