-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
83 lines (77 loc) · 2.6 KB
/
CMakeLists.txt
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
CMAKE_MINIMUM_REQUIRED(VERSION 3.10)
PROJECT(azsphere_tvm C)
azsphere_configure_tools(TOOLS_REVISION "20.04")
azsphere_configure_api(TARGET_API_SET "5+Beta2004")
if(TEST)
SET(CFILES test.c
src/bundle_static.c src/utils.c
)
SET(OBJS build/test_model.o)
elseif(CONV2D)
SET(CFILES conv2d.c
src/bundle_static.c src/utils.c
)
SET(OBJS build/conv2d_model.o)
elseif(CIFAR)
message("INFO: Building CIFAR demo!")
SET(CFILES demo_cifar.c bundle_static.c)
SET(OBJS build/cifar_model.o)
elseif(KEYWORD)
SET(CFILES kws_test.c
src/bundle_static.c src/utils.c
)
SET(OBJS build/keyword_model.o)
elseif(KWS_DEMO)
SET(CFILES kws_demo.c
src/bundle_static.c
src/utils.c src/eventloop_timer_utilities.c
src/intercore.c src/tvmruntime.c
)
SET(OBJS build/keyword_model.o)
else()
endif()
# Create executable
ADD_EXECUTABLE(${PROJECT_NAME} ${CFILES} ${OBJS})
TARGET_LINK_LIBRARIES(${PROJECT_NAME} applibs pthread gcc_s c)
# 3rdparty libraries
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PUBLIC $ENV{TVM_HOME}/include)
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PUBLIC $ENV{TVM_HOME}/src)
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PUBLIC $ENV{TVM_HOME}/3rdparty/dmlc-core/include)
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PUBLIC $ENV{TVM_HOME}/3rdparty/dlpack/include)
# Project Headers
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PUBLIC ${CMAKE_SOURCE_DIR})
azsphere_target_hardware_definition(${PROJECT_NAME} TARGET_DIRECTORY "Hardware/mt3620_rdb" TARGET_DEFINITION "my_hardware.json")
# Add MakeImage post-build command
if(TEST)
azsphere_target_add_image_package(
${PROJECT_NAME} RESOURCE_FILES
"build/test_data.bin" "build/test_output.bin" "build/test_graph.json" "build/test_params.bin"
)
elseif(CONV2D)
azsphere_target_add_image_package(
${PROJECT_NAME} RESOURCE_FILES
"build/conv2d_data.bin" "build/conv2d_output.bin" "build/conv2d_graph.json" "build/conv2d_params.bin"
)
elseif(CIFAR)
SET(ADDITIONAL_APPROOT_INCLUDES "build/cifar_data.bin;build/cifar_output.bin;build/cifar_params.bin;build/cifar_graph.bin;build/id.bin")
elseif(KEYWORD)
azsphere_target_add_image_package(
${PROJECT_NAME}
RESOURCE_FILES
"build/keyword_data.bin"
"build/keyword_output.bin"
"build/keyword_params.bin"
"build/keyword_graph.bin"
"build/id.bin"
)
elseif(KWS_DEMO)
azsphere_target_add_image_package(
${PROJECT_NAME}
RESOURCE_FILES
"build/keyword_params.bin"
"build/keyword_graph.bin"
)
else()
azsphere_target_add_image_package(
${PROJECT_NAME})
endif()