28 lines
1.0 KiB
CMake
28 lines
1.0 KiB
CMake
find_package(TCL)
|
|
if(NOT ${TCL_FOUND})
|
|
message(FATAL_ERROR "Tcl is required for FPGA interchange Arch.")
|
|
endif()
|
|
|
|
find_package(ZLIB REQUIRED)
|
|
find_package(CapnProto REQUIRED)
|
|
|
|
set(PROTOS LogicalNetlist.capnp PhysicalNetlist.capnp References.capnp)
|
|
|
|
set(CAPNP_SRCS)
|
|
set(CAPNP_HDRS)
|
|
foreach (proto ${PROTOS})
|
|
capnp_generate_cpp(CAPNP_SRC CAPNP_HDR 3rdparty/fpga-interchange-schema/interchange/${proto})
|
|
list(APPEND CAPNP_HDRS ${CAPNP_HDR})
|
|
list(APPEND CAPNP_SRCS ${CAPNP_SRC})
|
|
endforeach()
|
|
add_library(fpga_interchange_capnp STATIC ${CAPNP_SRCS})
|
|
|
|
foreach (target ${family_targets})
|
|
target_include_directories(${target} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/3rdparty/fpga-interchange-schema/interchange)
|
|
target_include_directories(${target} PRIVATE ${TCL_INCLUDE_PATH})
|
|
target_link_libraries(${target} PRIVATE ${TCL_LIBRARY})
|
|
target_link_libraries(${target} PRIVATE fpga_interchange_capnp)
|
|
target_link_libraries(${target} PRIVATE CapnProto::capnp)
|
|
target_link_libraries(${target} PRIVATE z)
|
|
endforeach()
|