nncc_find_package(Protobuf QUIET) nncc_find_package(TensorFlowSource EXACT 1.12 QUIET) if(NOT Protobuf_FOUND) return() endif(NOT Protobuf_FOUND) if(NOT TensorFlowSource_FOUND) return() endif(NOT TensorFlowSource_FOUND) message(STATUS "Build tfkit: TRUE") # Minimal Protocol Buffer specification for GraphDef file (.pb) encoding/decoding unset(PROTO_FILES) list(APPEND PROTO_FILES tensorflow/core/framework/versions.proto) list(APPEND PROTO_FILES tensorflow/core/framework/resource_handle.proto) list(APPEND PROTO_FILES tensorflow/core/framework/types.proto) list(APPEND PROTO_FILES tensorflow/core/framework/tensor.proto) list(APPEND PROTO_FILES tensorflow/core/framework/tensor_shape.proto) list(APPEND PROTO_FILES tensorflow/core/framework/attr_value.proto) list(APPEND PROTO_FILES tensorflow/core/framework/op_def.proto) list(APPEND PROTO_FILES tensorflow/core/framework/node_def.proto) list(APPEND PROTO_FILES tensorflow/core/framework/function.proto) list(APPEND PROTO_FILES tensorflow/core/framework/graph.proto) Protobuf_Generate(TENSORFLOW_GRAPHDEF_PROTO "${CMAKE_CURRENT_BINARY_DIR}/generated" "${TensorFlowSource_DIR}" ${PROTO_FILES}) file(GLOB_RECURSE SOURCES "src/*.cpp") add_library(tfkitproto STATIC ${TENSORFLOW_GRAPHDEF_PROTO_SOURCES}) set_target_properties(tfkitproto PROPERTIES POSITION_INDEPENDENT_CODE ON) target_include_directories(tfkitproto PUBLIC ${TENSORFLOW_GRAPHDEF_PROTO_INCLUDE_DIRS}) target_link_libraries(tfkitproto PUBLIC libprotobuf) add_executable(tfkit ${SOURCES}) target_link_libraries(tfkit PRIVATE stdex) target_link_libraries(tfkit PRIVATE cli) target_link_libraries(tfkit PRIVATE tfkitproto) target_link_libraries(tfkit PRIVATE nncc_common)