module_build.cmake
7.2 KB
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# 模组构建文件,用于加载源代码 与 配置代码中的开关
# ${ROOT_DIRS}为cmakelist文件提供的工程根目录
message("\n*************************开始模块构建***********************\n")
set(IFLAY_TTS_MODULE VERSION_SWITCH_OFF)
set(ESPEAK_TTS_MODULE VERSION_SWITCH_OFF)
set(ALSALIB_MODULE VERSION_SWITCH_OFF)
set(OPUS_MODULE VERSION_SWITCH_OFF)
set(LIB_RK_MMP VERSION_SWITCH_OFF)
set(LIB_RK_RGB VERSION_SWITCH_OFF)
set(LIB_USB VERSION_SWITCH_OFF)
set(LIB_KT_IRC VERSION_SWITCH_OFF)
add_definitions(-D COMPILE_MODE_MODULE) #设置代码为编译模式
#加载基础库JZSDK库基础代码
file(GLOB_RECURSE JZSDK_COMMON_SRC ${ROOT_DIRS}JZsdk_Common/*.c)
list(APPEND ALL_SRC_FILES ${JZSDK_COMMON_SRC})
list(APPEND ALL_INC_FILES ${ROOT_DIRS}JZsdk_Common)
file(GLOB_RECURSE JZSDK_CONFIG_SRC_baseConfig ${ROOT_DIRS}JZsdk_Config/BaseConfig.c)
file(GLOB_RECURSE JZSDK_CONFIG_SRC_Paramterpar ${ROOT_DIRS}JZsdk_Config/ParamterParsing.c)
list(APPEND ALL_SRC_FILES ${JZSDK_CONFIG_SRC_baseConfig})
list(APPEND ALL_SRC_FILES ${JZSDK_CONFIG_SRC_Paramterpar})
list(APPEND ALL_INC_FILES ${ROOT_DIRS}JZsdk_Config)
file(GLOB_RECURSE JZSDK_HAL_SRC ${ROOT_DIRS}JZsdk_hal/*.c)
list(APPEND ALL_SRC_FILES ${JZSDK_HAL_SRC})
list(APPEND ALL_INC_FILES ${ROOT_DIRS}JZsdk_hal)
message("\nJZSDK基础代码加载完毕\n")
#如果要加载设备信息模块,需要加载以下附属内容
if(${DEVICE_INFO_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\n设备信息模块源码加载中")
file(GLOB_RECURSE DEVICE_MESSAGE_SRC ${ROOT_DIRS}Module/DeviceInfo/*.c)
list(APPEND ALL_SRC_FILES ${DEVICE_MESSAGE_SRC})
endif()
#如果要加载云台模块,需要加载以下附属内容
if(${GIMBAL_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\n云台模块源码加载中")
file(GLOB_RECURSE GIMBAL_SRC ${ROOT_DIRS}Module/Gimbal/*.c)
list(APPEND ALL_SRC_FILES ${GIMBAL_SRC})
endif()
#如果要加载引脚模块,需要加载以下附属内容
if(${IRCUT_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\n引脚模块源码加载中")
file(GLOB_RECURSE MODULE_IRCUT_SRC ${ROOT_DIRS}Module/Ircut/*.c)
list(APPEND ALL_SRC_FILES ${MODULE_IRCUT_SRC})
endif()
#如果要加载光源模块,需要加载以下附属内容
if(${LIGHTING_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\n光源模块加载中")
#打开光源的代码编译部分
add_definitions(-DMACRO_LIGHTING_MODULE)
#将光源的源代码加入编译中
file(GLOB_RECURSE LIGHTING_SRC ${ROOT_DIRS}Module/Lighting/*.c)
list(APPEND ALL_SRC_FILES ${LIGHTING_SRC})
endif()
#如果要加载媒体管理模块,需要加载以下附属内容
if(${MEDIA_PROC_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\n媒体管理模块加载中")
#将媒体管理模块的源代码加入编译中
add_definitions(-DMACRO_MEDIA_PROC_MODULE)
file(GLOB_RECURSE MEDIA_PROC_SRC ${ROOT_DIRS}Module/MediaProc/*.c)
file(GLOB_RECURSE MEDIA_PROC_SRC_CPP ${ROOT_DIRS}Module/MediaProc/*.cpp)
list(APPEND ALL_SRC_FILES ${MEDIA_PROC_SRC})
list(APPEND ALL_SRC_FILES ${MEDIA_PROC_SRC_CPP})
#如果要加载红外相机模块,额外加载以下附属内容
if(${IRC_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("加载红外相机模块")
add_definitions(-DMACRO_IRC_MODULE)
message("加载RK MMP模块")
set(LIB_RK_MMP VERSION_SWITCH_ON)
message("加载RK RGA模块")
set(LIB_RK_RGB VERSION_SWITCH_ON)
message("加载USB模块")
set(LIB_USB VERSION_SWITCH_ON)
if(${IRC_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("加载昆腾红外相机模块")
set(LIB_KT_IRC VERSION_SWITCH_ON)
endif()
endif()
endif()
#如果要加载喊话器模块,需要加载以下附属内容
if(${MEGAPHONE_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\n喊话器模块加载中")
message("加载喊话器")
add_definitions(-DMACRO_MEGAPHONE_MODULE) #加载喊话器模块
file(GLOB_RECURSE MEGAPHONE_SRC ${ROOT_DIRS}Module/Megaphone/*.c)
list(APPEND ALL_SRC_FILES ${MEGAPHONE_SRC})
message("加载音频库")
file(GLOB_RECURSE AUDIODEAL_SRC ${ROOT_DIRS}Module/AudioDeal/*.c)
list(APPEND ALL_SRC_FILES ${AUDIODEAL_SRC})
message("加载讯飞TTS模块")
set(IFLAY_TTS_MODULE VERSION_SWITCH_ON)
message("加载espeak模块")
set(ESPEAK_TTS_MODULE VERSION_SWITCH_ON)
message("加载alsalib模块")
set(ALSALIB_MODULE VERSION_SWITCH_ON)
message("加载OPUS模块")
set(OPUS_MODULE VERSION_SWITCH_ON)
endif()
#如果要加载通用模块,需要加载以下附属内容
if(${COMMON_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\n通用模块加载中")
file(GLOB_RECURSE COMMON_MODULE_SRC ${ROOT_DIRS}Module/CommonMod/*.c)
list(APPEND ALL_SRC_FILES ${COMMON_MODULE_SRC})
endif()
#如果要加载侧面激光模块,需要加载以下附属内容
if(${SIDE_LASER_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\n侧面激光模块加载中")
#打开侧面激光的代码编译部分
add_definitions(-DMACRO_SIDE_LASER_MODULE)
file(GLOB_RECURSE MODULE_SIDE_LASER_SRC ${ROOT_DIRS}Module/SideLaser/*.c)
list(APPEND ALL_SRC_FILES ${MODULE_SIDE_LASER_SRC})
endif()
#如果要加载UI模块,需要加载以下附属内容
if(${UI_CONTROL_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\nUI模块源码加载中")
file(GLOB_RECURSE MODULE_UICONTROL_SRC ${ROOT_DIRS}Module/UI_control/*.c)
list(APPEND ALL_SRC_FILES ${MODULE_UICONTROL_SRC})
endif()
# wiringPi
if(${WIRINGPI_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\nwiringPi模块加载中")
file(GLOB_RECURSE WIRINGPI_SRC ${ROOT_DIRS}ThirdParty/wiringPi/*.c)
list(APPEND ALL_SRC_FILES ${WIRINGPI_SRC})
list(APPEND ALL_INC_FILES ${ROOT_DIRS}ThirdParty/wiringPi)
#打开wiringPi的代码编译部分
add_definitions(-DMACRO_WIRINGPI_MODULE)
endif()
# 如果要加入特殊图像处理模块,需要加载以下附属内容
if(${IMAGEPROCESSING_MODULE} STREQUAL "VERSION_SWITCH_ON")
message("\n特殊图像处理模块加载中")
file(GLOB_RECURSE MODULE_IMAGEPROCESSING_SRC ${ROOT_DIRS}Module/ImageProcessing/*.c)
file(GLOB_RECURSE MODULE_IMAGEPROCESSING_cpp_SRC ${ROOT_DIRS}Module/ImageProcessing/*.cpp)
list(APPEND ALL_SRC_FILES ${MODULE_IMAGEPROCESSING_SRC})
list(APPEND ALL_SRC_FILES ${MODULE_IMAGEPROCESSING_cpp_SRC})
endif()
message("\n模组加载完毕\n")
# 头文件加载,后续再进行优化
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/Megaphone)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/Ircut)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/Gimbal)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/Lighting)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/UI_control)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/Camera)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/COMMONManager)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/TestAPP)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/ImageProcessing)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module/SerialManagement)
list(APPEND ALL_INC_FILES ${ROOT_DIRS}Module)
message("**************************库构建完毕***************************\n")