From e9ebc16e84a352fdbe1738085294b9469dccc857 Mon Sep 17 00:00:00 2001 From: Keith Rothman <537074+litghost@users.noreply.github.com> Date: Mon, 15 Feb 2021 09:05:52 -0800 Subject: Add CMake file to build static library. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com> --- cmake/cxx_static/CMakeLists.txt | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 cmake/cxx_static/CMakeLists.txt (limited to 'cmake/cxx_static/CMakeLists.txt') diff --git a/cmake/cxx_static/CMakeLists.txt b/cmake/cxx_static/CMakeLists.txt new file mode 100644 index 0000000..99c9482 --- /dev/null +++ b/cmake/cxx_static/CMakeLists.txt @@ -0,0 +1,35 @@ +find_package(CapnProto REQUIRED) +set(PROTOS LogicalNetlist.capnp PhysicalNetlist.capnp References.capnp) + +set(INTERCHANGE_SCHEMA_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../interchange) + +find_program(WGET wget REQUIRED) + +set(JAVA_SCHEMA ${CMAKE_CURRENT_BINARY_DIR}/schema/capnp/java.capnp) +add_custom_command( + OUTPUT ${JAVA_SCHEMA} + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/schema/capnp/ + COMMAND ${WGET} + https://raw.githubusercontent.com/capnproto/capnproto-java/master/compiler/src/main/schema/capnp/java.capnp + -O ${JAVA_SCHEMA} + ) +add_custom_target( + get_java_capnp_schema + DEPENDS ${JAVA_SCHEMA}) + +set(CAPNPC_IMPORT_DIRS) +list(APPEND CAPNPC_IMPORT_DIRS ${CMAKE_CURRENT_BINARY_DIR}/schema) + +set(CAPNPC_SRC_PREFIX ${INTERCHANGE_SCHEMA_DIR}) +set(CAPNP_SRCS) +set(CAPNP_HDRS) +foreach (proto ${PROTOS}) + capnp_generate_cpp(CAPNP_SRC CAPNP_HDR ${INTERCHANGE_SCHEMA_DIR}/${proto}) + list(APPEND CAPNP_HDRS ${CAPNP_HDR}) + list(APPEND CAPNP_SRCS ${CAPNP_SRC}) +endforeach() +add_library(fpga_interchange_capnp STATIC ${CAPNP_SRCS}) +add_dependencies(fpga_interchange_capnp get_java_capnp_schema) +target_link_libraries(fpga_interchange_capnp PRIVATE CapnProto::capnp) + +set(FPGA_INTERCHANGE_CAPNP_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/../../interchange) -- cgit v1.2.3