From 664407089b51e1c66d91ff1ee4aa4d4148bb8f1b Mon Sep 17 00:00:00 2001 From: Keith Rothman <537074+litghost@users.noreply.github.com> Date: Fri, 12 Feb 2021 16:12:16 -0800 Subject: Add FPGA interchange frontend and backend. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com> --- fpga_interchange/family.cmake | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'fpga_interchange/family.cmake') diff --git a/fpga_interchange/family.cmake b/fpga_interchange/family.cmake index c3fefaba..3f3b5a93 100644 --- a/fpga_interchange/family.cmake +++ b/fpga_interchange/family.cmake @@ -3,7 +3,25 @@ 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_link_libraries(${target} LINK_PUBLIC ${TCL_LIBRARY}) - include_directories (${TCL_INCLUDE_PATH}) + 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() -- cgit v1.2.3 From 2c7ee440462099ee89a78b2bbb8aae26445a9e46 Mon Sep 17 00:00:00 2001 From: Keith Rothman <537074+litghost@users.noreply.github.com> Date: Mon, 15 Feb 2021 09:07:23 -0800 Subject: Move CMake logic into fpga-interchange-schema. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com> --- fpga_interchange/family.cmake | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) (limited to 'fpga_interchange/family.cmake') diff --git a/fpga_interchange/family.cmake b/fpga_interchange/family.cmake index 3f3b5a93..e62ab458 100644 --- a/fpga_interchange/family.cmake +++ b/fpga_interchange/family.cmake @@ -4,24 +4,12 @@ if(NOT ${TCL_FOUND}) 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}) +add_subdirectory(3rdparty/fpga-interchange-schema/cmake/cxx_static) 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() -- cgit v1.2.3