summaryrefslogtreecommitdiff
path: root/compiler/mio-tf/CMakeLists.txt
blob: d670f6bab547053d16a28c2bf17ee143c20cd907 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
nnas_find_package(Protobuf QUIET)
# TensorFlowSource package is used to use ~.proto files
nnas_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 mio-tf: 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(GRAPHDEF_PROTO
                  "${CMAKE_CURRENT_BINARY_DIR}/generated"
                  "${TensorFlowSource_DIR}"
                  ${PROTO_FILES})

add_library(mio_tf STATIC ${GRAPHDEF_PROTO_SOURCES})
set_target_properties(mio_tf PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_include_directories(mio_tf PUBLIC ${GRAPHDEF_PROTO_INCLUDE_DIRS})
target_link_libraries(mio_tf PUBLIC ${GRAPHDEF_PROTO_LIBRARIES})

if(NOT ENABLE_TEST)
  return()
endif(NOT ENABLE_TEST)

nnas_find_package(GTest REQUIRED)

file(GLOB_RECURSE TESTS "src/*.test.cpp")

GTest_AddTest(mio_tf_test ${TESTS})
target_include_directories(mio_tf_test PRIVATE src)
target_link_libraries(mio_tf_test mio_tf)