• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1find_package(Patch)
2if(NOT Patch_FOUND)
3  message(FATAL_ERROR "Patch not found, please set environment variable MS_PATCH_PATH to path where Patch is located, "
4  "usually found in GIT_PATH/usr/bin on Windows")
5endif()
6
7include(${TOP_DIR}/cmake/external_libs/jpeg_turbo.cmake)
8
9set(MINDDATA_DIR ${CCSRC_DIR}/minddata/dataset)
10set(CMAKE_CXX_STANDARD 17)
11
12set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -g2 -ggdb -fno-inline-functions -fno-omit-frame-pointer \
13  -D_LIBCPP_INLINE_VISIBILITY='' -D_LIBCPP_DISABLE_EXTERN_TEMPLATE=1 -DHALF_ENABLE_CPP11_USER_LITERALS=0 \
14  -D_FORTIFY_SOURCE=2 -Wno-cpp")
15set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Werror -Wno-return-std-move -Wno-unused-private-field \
16  -Wno-unused-lambda-capture -Wno-sign-compare -Wno-overloaded-virtual -Wno-unneeded-internal-declaration \
17  -Wno-unused-variable -Wno-pessimizing-move -Wno-inconsistent-missing-override")
18
19set(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} -I/usr/local/include -std=c++17 -Wall -fPIC")
20
21set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OPTION_CXX_FLAGS}")
22
23if(PLATFORM_ARM)
24    set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O2 -Werror -Wno-return-std-move -Wno-unused-private-field \
25      -Wno-unused-lambda-capture -Wno-sign-compare -Wno-overloaded-virtual -Wno-unneeded-internal-declaration \
26      -Wno-unused-variable -Wno-pessimizing-move -Wno-inconsistent-missing-override \
27      -DHALF_ENABLE_CPP11_USER_LITERALS=0 -D_FORTIFY_SOURCE=2")
28else()
29    set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O2 -Wl,--allow-shlib-undefined -DHALF_ENABLE_CPP11_USER_LITERALS=0 \
30      -D_FORTIFY_SOURCE=2")
31endif()
32
33set(CMAKE_C_FLAGS "-fPIC -fPIE -D_FORTIFY_SOURCE=2 -O2 -Wall -Werror -fstack-protector-strong -Wno-attributes \
34  -Wno-deprecated-declarations -Wno-missing-braces ${CMAKE_C_FLAGS}")
35set(CMAKE_CXX_FLAGS "-fPIC -fPIE -D_FORTIFY_SOURCE=2 -O2 -Wall -Werror -fstack-protector-strong -Wno-attributes \
36  -Wno-deprecated-declarations -Wno-missing-braces -Wno-overloaded-virtual ${CMAKE_CXX_FLAGS}")
37
38set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-non-virtual-dtor")
39set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-sign-compare")
40set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-private-field")
41set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-reorder")
42set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-switch")
43set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-sequence-point")
44set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-variable")
45if(PLATFORM_ARM)
46    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-delete-non-virtual-dtor")
47    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-uninitialized")
48else()
49    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-delete-non-abstract-non-virtual-dtor")
50    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-maybe-uninitialized")
51endif()
52set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-format")
53set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-attributes")
54set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=default")
55
56set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS} -s")
57
58AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/api MINDDATA_API_SRC_FILES)
59
60AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/callback MINDDATA_CALLBACK_SRC_FILES)
61
62AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/core MINDDATA_CORE_SRC_FILES)
63
64AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/engine MINDDATA_ENGINE_SRC_FILES)
65
66# TODO: add cache
67AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/engine/cache MINDDATA_ENGINE_CACHE_SRC_FILES)
68
69AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/engine/consumers MINDDATA_ENGINE_CONSUMERS_SRC_FILES)
70AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/engine/datasetops MINDDATA_ENGINE_DATASETOPS_SRC_FILES)
71AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/engine/datasetops/map_op MINDDATA_ENGINE_DATASETOPS_MAPOP_SRC_FILES)
72AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/engine/datasetops/source MINDDATA_ENGINE_DATASETOPS_SOURCE_SRC_FILES)
73AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/engine/datasetops/source/sampler
74  MINDDATA_ENGINE_DATASETOPS_SOURCE_SAMPLER_SRC_FILES)
75AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/engine/ir/cache MINDDATA_ENGINE_IR_CACHE_SRC_FILES)
76AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/engine/ir/datasetops MINDDATA_ENGINE_IR_DATASETOPS_SRC_FILES)
77AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/engine/ir/datasetops/source MINDDATA_ENGINE_IR_DATASETOPS_SOURCE_SRC_FILES)
78
79AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/engine/opt MINDDATA_ENGINE_OPT_SRC_FILES)
80# AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/engine/opt/optional MINDDATA_ENGINE_OPT_OPTIONAL_SRC_FILES)
81AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/engine/opt/post MINDDATA_ENGINE_OPT_POST_SRC_FILES)
82AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/engine/opt/pre MINDDATA_ENGINE_OPT_PRE_SRC_FILES)
83AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/engine/opt/util MINDDATA_ENGINE_OPT_UTIL_SRC_FILES)
84
85AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/engine/perf MINDDATA_ENGINE_PERF_SRC_FILES)
86
87AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/kernels MINDDATA_KERNELS_SRC_FILES)
88
89AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/kernels/image MINDDATA_KERNELS_IMAGE_SRC_FILES)
90
91AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/kernels/data MINDDATA_KERNELS_DATA_SRC_FILES)
92
93# TODO: add text src
94AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/text MINDDATA_TEXT_SRC_FILES)
95
96AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/text/kernels MINDDATA_TEXT_KERNELS_SRC_FILES)
97
98AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/util MINDDATA_UTIL_SRC_FILES)
99
100AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/kernels/image/lite_cv  MINDDATA_KERNELS_IMAGE_LITE_CV_FILES)
101
102AUX_SOURCE_DIRECTORY(${MINDDATA_DIR}/kernels/ir MINDDATA_KERNELS_IR_SRC_FILES)
103
104if(BUILD_MINDDATA STREQUAL "full")
105    include_directories("${MINDDATA_DIR}")
106    include_directories("${MINDDATA_DIR}/kernels/image")
107    include_directories("${MINDDATA_DIR}/liteapi")
108    include_directories("${TOP_DIR}")
109
110    set(MINDDATA_FULL_SRC
111        ${TOP_DIR}/mindspore/lite/src/cxx_api/types.cc
112        ${TOP_DIR}/mindspore/lite/src/cxx_api/tensor_utils.cc
113        ${TOP_DIR}/mindspore/lite/src/cxx_api/tensor/tensor_impl.cc
114        ${TOP_DIR}/mindspore/lite/src/tensor.cc
115        ${TOP_DIR}/mindspore/lite/src/ms_tensor.cc
116        ${TOP_DIR}/mindspore/lite/src/common/string_util.cc
117        ${TOP_DIR}/mindspore/lite/src/common/lite_utils.cc
118        ${CORE_DIR}/utils/status.cc
119        ${MINDDATA_DIR}/api/datasets.cc
120        ${MINDDATA_DIR}/kernels/data/data_utils.cc
121        ${MINDDATA_DIR}/api/samplers.cc
122        ${MINDDATA_DIR}/api/iterator.cc
123        ${MINDDATA_DIR}/api/data_helper.cc
124        ${MINDDATA_DIR}/api/execute.cc
125        ${MINDDATA_DIR}/core/de_tensor.cc
126        ${MINDDATA_DIR}/core/tensor_shape.cc
127        ${MINDDATA_DIR}/util/memory_pool.cc
128        ${MINDDATA_DIR}/core/config_manager.cc
129        ${MINDDATA_DIR}/core/data_type.cc
130        ${MINDDATA_DIR}/core/tensor_helpers.cc
131        ${MINDDATA_DIR}/core/tensor.cc
132        ${MINDDATA_DIR}/core/global_context.cc
133        ${MINDDATA_DIR}/core/client.cc
134        ${MINDDATA_DIR}/engine/tree_adapter_lite.cc
135        ${MINDDATA_DIR}/engine/consumers/pull_based_tree_consumer.cc
136        ${MINDDATA_DIR}/engine/consumers/tree_consumer.cc
137        ${MINDDATA_DIR}/engine/ir/datasetops/dataset_node.cc
138        ${MINDDATA_DIR}/engine/ir/datasetops/epoch_ctrl_node.cc
139        ${MINDDATA_DIR}/engine/ir/datasetops/batch_node.cc
140        ${MINDDATA_DIR}/engine/ir/datasetops/map_node.cc
141        ${MINDDATA_DIR}/engine/ir/datasetops/root_node.cc
142        ${MINDDATA_DIR}/engine/ir/datasetops/repeat_node.cc
143        ${MINDDATA_DIR}/engine/ir/datasetops/project_node.cc
144        ${MINDDATA_DIR}/engine/ir/datasetops/shuffle_node.cc
145        ${MINDDATA_DIR}/engine/ir/datasetops/source/album_node.cc
146        ${MINDDATA_DIR}/engine/ir/datasetops/source/mnist_node.cc
147        ${MINDDATA_DIR}/engine/ir/datasetops/source/samplers/distributed_sampler_ir.cc
148        ${MINDDATA_DIR}/engine/ir/datasetops/source/samplers/pk_sampler_ir.cc
149        ${MINDDATA_DIR}/engine/ir/datasetops/source/samplers/prebuilt_sampler_ir.cc
150        ${MINDDATA_DIR}/engine/ir/datasetops/source/samplers/random_sampler_ir.cc
151        ${MINDDATA_DIR}/engine/ir/datasetops/source/samplers/samplers_ir.cc
152        ${MINDDATA_DIR}/engine/ir/datasetops/source/samplers/sequential_sampler_ir.cc
153        ${MINDDATA_DIR}/engine/ir/datasetops/source/samplers/subset_random_sampler_ir.cc
154        ${MINDDATA_DIR}/engine/ir/datasetops/source/samplers/subset_sampler_ir.cc
155        ${MINDDATA_DIR}/engine/ir/datasetops/source/samplers/weighted_random_sampler_ir.cc
156        ${MINDDATA_DIR}/engine/datasetops/dataset_op.cc
157        ${MINDDATA_DIR}/engine/datasetops/repeat_op.cc
158        ${MINDDATA_DIR}/engine/datasetops/epoch_ctrl_op.cc
159        ${MINDDATA_DIR}/engine/datasetops/device_queue_op.cc
160        ${MINDDATA_DIR}/engine/datasetops/project_op.cc
161        ${MINDDATA_DIR}/engine/datasetops/shuffle_op.cc
162        ${MINDDATA_DIR}/engine/datasetops/pipeline_op.cc
163        ${MINDDATA_DIR}/engine/datasetops/batch_op.cc
164        ${MINDDATA_DIR}/engine/datasetops/parallel_op.cc
165        ${MINDDATA_DIR}/engine/datasetops/map_op/map_op.cc
166        ${MINDDATA_DIR}/engine/datasetops/map_op/cpu_map_job.cc
167        ${MINDDATA_DIR}/engine/datasetops/source/album_op.cc
168        ${MINDDATA_DIR}/engine/datasetops/source/mnist_op.cc
169        ${MINDDATA_DIR}/engine/datasetops/source/mappable_leaf_op.cc
170
171        ${MINDDATA_DIR}/engine/datasetops/source/io_block.cc
172        ${MINDDATA_DIR}/engine/opt/pre/getter_pass.cc
173        ${MINDDATA_DIR}/engine/opt/pre/input_validation_pass.cc
174        ${MINDDATA_DIR}/engine/opt/pre/cache_validation_pass.cc
175        ${MINDDATA_DIR}/engine/opt/pre/node_removal_pass.cc
176        ${MINDDATA_DIR}/engine/opt/pre/epoch_ctrl_pass.cc
177        ${MINDDATA_DIR}/engine/opt/pre/deep_copy_pass.cc
178        ${MINDDATA_DIR}/engine/opt/post/auto_worker_pass.cc
179        ${MINDDATA_DIR}/engine/opt/pass.cc
180        ${MINDDATA_DIR}/engine/perf/profiling.cc
181        ${MINDDATA_DIR}/engine/perf/monitor.cc
182        ${MINDDATA_DIR}/engine/perf/device_queue_tracing.cc
183        ${MINDDATA_DIR}/engine/perf/connector_size.cc
184        ${MINDDATA_DIR}/engine/perf/connector_throughput.cc
185        ${MINDDATA_DIR}/engine/perf/dataset_iterator_tracing.cc
186        ${MINDDATA_DIR}/engine/datasetops/source/sampler/sampler.cc
187        ${MINDDATA_DIR}/engine/datasetops/source/sampler/subset_sampler.cc
188        ${MINDDATA_DIR}/engine/datasetops/source/sampler/distributed_sampler.cc
189        ${MINDDATA_DIR}/engine/datasetops/source/sampler/pk_sampler.cc
190        ${MINDDATA_DIR}/engine/datasetops/source/sampler/random_sampler.cc
191        ${MINDDATA_DIR}/engine/datasetops/source/sampler/sequential_sampler.cc
192        ${MINDDATA_DIR}/engine/datasetops/source/sampler/subset_random_sampler.cc
193        ${MINDDATA_DIR}/engine/datasetops/source/sampler/weighted_random_sampler.cc
194        ${MINDDATA_DIR}/engine/runtime_context.cc
195        ${MINDDATA_DIR}/engine/tree_adapter.cc
196        ${MINDDATA_DIR}/engine/execution_tree.cc
197        ${MINDDATA_DIR}/engine/dataset_iterator.cc
198        ${MINDDATA_DIR}/core/tensor_row.cc
199        ${MINDDATA_DIR}/api/vision.cc
200        ${MINDDATA_DIR}/api/transforms.cc
201        ${MINDDATA_DIR}/util/path.cc
202        ${MINDDATA_DIR}/util/status.cc
203        ${MINDDATA_DIR}/util/service.cc
204        ${MINDDATA_DIR}/util/json_helper.cc
205        ${MINDDATA_DIR}/util/cond_var.cc
206        ${MINDDATA_DIR}/engine/data_schema.cc
207        ${MINDDATA_DIR}/kernels/tensor_op.cc
208        ${MINDDATA_DIR}/kernels/image/affine_op.cc
209        ${MINDDATA_DIR}/kernels/image/lite_image_utils.cc
210        ${MINDDATA_DIR}/kernels/image/center_crop_op.cc
211        ${MINDDATA_DIR}/kernels/image/crop_op.cc
212        ${MINDDATA_DIR}/kernels/image/decode_op.cc
213        ${MINDDATA_DIR}/kernels/image/gaussian_blur_op.cc
214        ${MINDDATA_DIR}/kernels/image/normalize_op.cc
215        ${MINDDATA_DIR}/kernels/image/resize_op.cc
216        ${MINDDATA_DIR}/kernels/image/resize_preserve_ar_op.cc
217        ${MINDDATA_DIR}/kernels/image/rgb_to_bgr_op.cc
218        ${MINDDATA_DIR}/kernels/image/rgb_to_gray_op.cc
219        ${MINDDATA_DIR}/kernels/image/rotate_op.cc
220        ${MINDDATA_DIR}/kernels/image/random_affine_op.cc
221        ${MINDDATA_DIR}/kernels/image/math_utils.cc
222        ${MINDDATA_DIR}/kernels/data/compose_op.cc
223        ${MINDDATA_DIR}/kernels/data/duplicate_op.cc
224        ${MINDDATA_DIR}/kernels/data/one_hot_op.cc
225        ${MINDDATA_DIR}/kernels/data/random_apply_op.cc
226        ${MINDDATA_DIR}/kernels/data/random_choice_op.cc
227        ${MINDDATA_DIR}/kernels/data/type_cast_op.cc
228        ${MINDDATA_DIR}/kernels/image/exif_utils.cc
229        ${MINDDATA_DIR}/kernels/ir/validators.cc
230        ${MINDDATA_DIR}/kernels/ir/data/transforms_ir.cc
231        ${MINDDATA_DIR}/kernels/ir/vision/affine_ir.cc
232        ${MINDDATA_DIR}/kernels/ir/vision/auto_contrast_ir.cc
233        ${MINDDATA_DIR}/kernels/ir/vision/bounding_box_augment_ir.cc
234        ${MINDDATA_DIR}/kernels/ir/vision/center_crop_ir.cc
235        ${MINDDATA_DIR}/kernels/ir/vision/crop_ir.cc
236        ${MINDDATA_DIR}/kernels/ir/vision/cutmix_batch_ir.cc
237        ${MINDDATA_DIR}/kernels/ir/vision/cutout_ir.cc
238        ${MINDDATA_DIR}/kernels/ir/vision/decode_ir.cc
239        ${MINDDATA_DIR}/kernels/ir/vision/equalize_ir.cc
240        ${MINDDATA_DIR}/kernels/ir/vision/gaussian_blur_ir.cc
241        ${MINDDATA_DIR}/kernels/ir/vision/hwc_to_chw_ir.cc
242        ${MINDDATA_DIR}/kernels/ir/vision/invert_ir.cc
243        ${MINDDATA_DIR}/kernels/ir/vision/mixup_batch_ir.cc
244        ${MINDDATA_DIR}/kernels/ir/vision/normalize_ir.cc
245        ${MINDDATA_DIR}/kernels/ir/vision/normalize_pad_ir.cc
246        ${MINDDATA_DIR}/kernels/ir/vision/pad_ir.cc
247        ${MINDDATA_DIR}/kernels/ir/vision/random_affine_ir.cc
248        ${MINDDATA_DIR}/kernels/ir/vision/random_color_adjust_ir.cc
249        ${MINDDATA_DIR}/kernels/ir/vision/random_color_ir.cc
250        ${MINDDATA_DIR}/kernels/ir/vision/random_crop_decode_resize_ir.cc
251        ${MINDDATA_DIR}/kernels/ir/vision/random_crop_ir.cc
252        ${MINDDATA_DIR}/kernels/ir/vision/random_crop_with_bbox_ir.cc
253        ${MINDDATA_DIR}/kernels/ir/vision/random_horizontal_flip_ir.cc
254        ${MINDDATA_DIR}/kernels/ir/vision/random_horizontal_flip_with_bbox_ir.cc
255        ${MINDDATA_DIR}/kernels/ir/vision/random_posterize_ir.cc
256        ${MINDDATA_DIR}/kernels/ir/vision/random_resized_crop_ir.cc
257        ${MINDDATA_DIR}/kernels/ir/vision/random_resized_crop_with_bbox_ir.cc
258        ${MINDDATA_DIR}/kernels/ir/vision/random_resize_ir.cc
259        ${MINDDATA_DIR}/kernels/ir/vision/random_resize_with_bbox_ir.cc
260        ${MINDDATA_DIR}/kernels/ir/vision/random_rotation_ir.cc
261        ${MINDDATA_DIR}/kernels/ir/vision/random_select_subpolicy_ir.cc
262        ${MINDDATA_DIR}/kernels/ir/vision/random_sharpness_ir.cc
263        ${MINDDATA_DIR}/kernels/ir/vision/random_solarize_ir.cc
264        ${MINDDATA_DIR}/kernels/ir/vision/random_vertical_flip_ir.cc
265        ${MINDDATA_DIR}/kernels/ir/vision/random_vertical_flip_with_bbox_ir.cc
266        ${MINDDATA_DIR}/kernels/ir/vision/rescale_ir.cc
267        ${MINDDATA_DIR}/kernels/ir/vision/resize_ir.cc
268        ${MINDDATA_DIR}/kernels/ir/vision/resize_preserve_ar_ir.cc
269        ${MINDDATA_DIR}/kernels/ir/vision/resize_with_bbox_ir.cc
270        ${MINDDATA_DIR}/kernels/ir/vision/rgb_to_bgr_ir.cc
271        ${MINDDATA_DIR}/kernels/ir/vision/rgb_to_gray_ir.cc
272        ${MINDDATA_DIR}/kernels/ir/vision/rgba_to_bgr_ir.cc
273        ${MINDDATA_DIR}/kernels/ir/vision/rgba_to_rgb_ir.cc
274        ${MINDDATA_DIR}/kernels/ir/vision/rotate_ir.cc
275        ${MINDDATA_DIR}/kernels/ir/vision/softdvpp_decode_random_crop_resize_jpeg_ir.cc
276        ${MINDDATA_DIR}/kernels/ir/vision/softdvpp_decode_resize_jpeg_ir.cc
277        ${MINDDATA_DIR}/kernels/ir/vision/swap_red_blue_ir.cc
278        ${MINDDATA_DIR}/kernels/ir/vision/uniform_aug_ir.cc
279        ${MINDDATA_DIR}/callback/callback_manager.cc
280        ${MINDDATA_DIR}/util/task_manager.cc
281        ${MINDDATA_DIR}/util/services.cc
282        ${MINDDATA_DIR}/util/wait_post.cc
283        ${MINDDATA_DIR}/util/task.cc
284        ${MINDDATA_DIR}/util/circular_pool.cc
285        ${MINDDATA_DIR}/util/lock.cc
286        ${MINDDATA_DIR}/util/wait_post.cc
287        ${MINDDATA_DIR}/util/intrp_service.cc
288        ${MINDDATA_DIR}/util/arena.cc
289        )
290
291    add_library(minddata-lite-obj OBJECT
292            ${MINDDATA_KERNELS_IMAGE_LITE_CV_FILES}
293            ${CMAKE_CURRENT_SOURCE_DIR}/../src/common/log.cc
294            ${CORE_DIR}/utils/ms_utils.cc
295            ${MINDDATA_FULL_SRC}
296            )
297    add_dependencies(minddata-lite-obj fbs_src)
298
299    add_library(minddata-lite SHARED $<TARGET_OBJECTS:minddata-lite-obj>)
300    add_library(minddata-lite_static STATIC $<TARGET_OBJECTS:minddata-lite-obj>)
301    set_target_properties(minddata-lite_static PROPERTIES OUTPUT_NAME "minddata-lite")
302
303    find_package(Threads REQUIRED)
304    target_link_libraries(minddata-lite
305        securec
306        mindspore::jpeg_turbo
307        mindspore::turbojpeg
308        mindspore::json
309        Threads::Threads
310        )
311    target_link_libraries(minddata-lite_static
312        securec
313        mindspore::jpeg_turbo
314        mindspore::turbojpeg
315        mindspore::json
316        Threads::Threads
317        )
318
319    # ref: https://github.com/android/ndk/issues/1202
320    if(PLATFORM_ARM32)
321    file(GLOB_RECURSE LIBCLANG_RT_LIB $ENV{ANDROID_NDK}/libclang_rt.builtins-arm-android.a)
322    if(LIBCLANG_RT_LIB STREQUAL "")
323    MESSAGE(FATAL_ERROR "Cannot find libclang_rt.builtins-arm-androi2d.a in $ENV{ANDROID_NDK}")
324    endif()
325    target_link_libraries(minddata-lite ${LIBCLANG_RT_LIB})
326    target_link_libraries(minddata-lite_static ${LIBCLANG_RT_LIB})
327    endif()
328
329    if(PLATFORM_ARM32 OR PLATFORM_ARM64)
330        target_link_libraries(minddata-lite log)
331        target_link_libraries(minddata-lite_static log)
332    elseif()
333endif()
334elseif(BUILD_MINDDATA STREQUAL "wrapper")
335    include_directories("${MINDDATA_DIR}/kernels/image")
336    include_directories("${MINDDATA_DIR}/util")
337    include_directories(${CMAKE_CURRENT_SOURCE_DIR}/wrapper)
338    set(MINDDATA_TODAPI_SRC
339            ${MINDDATA_DIR}/core/tensor_shape.cc
340            ${MINDDATA_DIR}/core/tensor.cc
341            ${MINDDATA_DIR}/core/config_manager.cc
342            ${MINDDATA_DIR}/core/data_type.cc
343            ${MINDDATA_DIR}/core/tensor_helpers.cc
344            ${MINDDATA_DIR}/core/global_context.cc
345            ${MINDDATA_DIR}/core/tensor_row.cc
346            ${MINDDATA_DIR}/core/de_tensor.cc
347            ${MINDDATA_DIR}/api/vision.cc
348            ${MINDDATA_DIR}/api/data_helper.cc
349            ${MINDDATA_DIR}/api/execute.cc
350            ${MINDDATA_DIR}/api/transforms.cc
351            ${MINDDATA_DIR}/util/path.cc
352            ${MINDDATA_DIR}/util/status.cc
353            ${MINDDATA_DIR}/util/json_helper.cc
354            ${MINDDATA_DIR}/util/memory_pool.cc
355            ${MINDDATA_DIR}/engine/data_schema.cc
356            ${MINDDATA_DIR}/kernels/tensor_op.cc
357            ${MINDDATA_DIR}/kernels/image/lite_image_utils.cc
358            ${MINDDATA_DIR}/kernels/image/center_crop_op.cc
359            ${MINDDATA_DIR}/kernels/image/crop_op.cc
360            ${MINDDATA_DIR}/kernels/image/normalize_op.cc
361            ${MINDDATA_DIR}/kernels/image/resize_op.cc
362            ${MINDDATA_DIR}/kernels/image/resize_preserve_ar_op.cc
363            ${MINDDATA_DIR}/kernels/image/rgb_to_gray_op.cc
364            ${MINDDATA_DIR}/kernels/image/rotate_op.cc
365            ${MINDDATA_DIR}/kernels/data/compose_op.cc
366            ${MINDDATA_DIR}/kernels/data/duplicate_op.cc
367            ${MINDDATA_DIR}/kernels/data/one_hot_op.cc
368            ${MINDDATA_DIR}/kernels/data/random_apply_op.cc
369            ${MINDDATA_DIR}/kernels/data/random_choice_op.cc
370            ${MINDDATA_DIR}/kernels/data/type_cast_op.cc
371            ${MINDDATA_DIR}/kernels/data/data_utils.cc
372            ${MINDDATA_DIR}/kernels/image/exif_utils.cc
373            ${MINDDATA_DIR}/kernels/ir/validators.cc
374            ${MINDDATA_DIR}/kernels/ir/data/transforms_ir.cc
375            ${MINDDATA_DIR}/kernels/ir/vision/affine_ir.cc
376            ${MINDDATA_DIR}/kernels/ir/vision/auto_contrast_ir.cc
377            ${MINDDATA_DIR}/kernels/ir/vision/bounding_box_augment_ir.cc
378            ${MINDDATA_DIR}/kernels/ir/vision/center_crop_ir.cc
379            ${MINDDATA_DIR}/kernels/ir/vision/crop_ir.cc
380            ${MINDDATA_DIR}/kernels/ir/vision/cutmix_batch_ir.cc
381            ${MINDDATA_DIR}/kernels/ir/vision/cutout_ir.cc
382            ${MINDDATA_DIR}/kernels/ir/vision/decode_ir.cc
383            ${MINDDATA_DIR}/kernels/ir/vision/equalize_ir.cc
384            ${MINDDATA_DIR}/kernels/ir/vision/hwc_to_chw_ir.cc
385            ${MINDDATA_DIR}/kernels/ir/vision/invert_ir.cc
386            ${MINDDATA_DIR}/kernels/ir/vision/mixup_batch_ir.cc
387            ${MINDDATA_DIR}/kernels/ir/vision/normalize_ir.cc
388            ${MINDDATA_DIR}/kernels/ir/vision/normalize_pad_ir.cc
389            ${MINDDATA_DIR}/kernels/ir/vision/pad_ir.cc
390            ${MINDDATA_DIR}/kernels/ir/vision/random_affine_ir.cc
391            ${MINDDATA_DIR}/kernels/ir/vision/random_color_adjust_ir.cc
392            ${MINDDATA_DIR}/kernels/ir/vision/random_color_ir.cc
393            ${MINDDATA_DIR}/kernels/ir/vision/random_crop_decode_resize_ir.cc
394            ${MINDDATA_DIR}/kernels/ir/vision/random_crop_ir.cc
395            ${MINDDATA_DIR}/kernels/ir/vision/random_crop_with_bbox_ir.cc
396            ${MINDDATA_DIR}/kernels/ir/vision/random_horizontal_flip_ir.cc
397            ${MINDDATA_DIR}/kernels/ir/vision/random_horizontal_flip_with_bbox_ir.cc
398            ${MINDDATA_DIR}/kernels/ir/vision/random_posterize_ir.cc
399            ${MINDDATA_DIR}/kernels/ir/vision/random_resized_crop_ir.cc
400            ${MINDDATA_DIR}/kernels/ir/vision/random_resized_crop_with_bbox_ir.cc
401            ${MINDDATA_DIR}/kernels/ir/vision/random_resize_ir.cc
402            ${MINDDATA_DIR}/kernels/ir/vision/random_resize_with_bbox_ir.cc
403            ${MINDDATA_DIR}/kernels/ir/vision/random_rotation_ir.cc
404            ${MINDDATA_DIR}/kernels/ir/vision/random_select_subpolicy_ir.cc
405            ${MINDDATA_DIR}/kernels/ir/vision/random_sharpness_ir.cc
406            ${MINDDATA_DIR}/kernels/ir/vision/random_solarize_ir.cc
407            ${MINDDATA_DIR}/kernels/ir/vision/random_vertical_flip_ir.cc
408            ${MINDDATA_DIR}/kernels/ir/vision/random_vertical_flip_with_bbox_ir.cc
409            ${MINDDATA_DIR}/kernels/ir/vision/rescale_ir.cc
410            ${MINDDATA_DIR}/kernels/ir/vision/resize_ir.cc
411            ${MINDDATA_DIR}/kernels/ir/vision/resize_preserve_ar_ir.cc
412            ${MINDDATA_DIR}/kernels/ir/vision/resize_with_bbox_ir.cc
413            ${MINDDATA_DIR}/kernels/ir/vision/rgba_to_bgr_ir.cc
414            ${MINDDATA_DIR}/kernels/ir/vision/rgba_to_rgb_ir.cc
415            ${MINDDATA_DIR}/kernels/ir/vision/rgb_to_gray_ir.cc
416            ${MINDDATA_DIR}/kernels/ir/vision/rotate_ir.cc
417            ${MINDDATA_DIR}/kernels/ir/vision/softdvpp_decode_random_crop_resize_jpeg_ir.cc
418            ${MINDDATA_DIR}/kernels/ir/vision/softdvpp_decode_resize_jpeg_ir.cc
419            ${MINDDATA_DIR}/kernels/ir/vision/swap_red_blue_ir.cc
420            ${MINDDATA_DIR}/kernels/ir/vision/uniform_aug_ir.cc
421            ${CMAKE_CURRENT_SOURCE_DIR}/wrapper/MDToDApi.cc
422            ${CMAKE_CURRENT_SOURCE_DIR}/wrapper/album_op_android.cc
423            )
424
425    set(MINDSPORE_LITE_CXXAPI_SRC
426            ${CORE_DIR}/utils/status.cc
427            ${CMAKE_CURRENT_SOURCE_DIR}/../src/cxx_api/types.cc
428            ${CMAKE_CURRENT_SOURCE_DIR}/../src/tensor.cc
429            )
430
431    add_library(minddata-lite SHARED
432            ${MINDDATA_KERNELS_IMAGE_LITE_CV_FILES}
433            ${CMAKE_CURRENT_SOURCE_DIR}/../src/common/log.cc
434            ${CORE_DIR}/utils/ms_utils.cc
435            ${MINDDATA_TODAPI_SRC}
436            ${MINDSPORE_LITE_CXXAPI_SRC}
437            )
438
439    add_dependencies(minddata-lite fbs_src)
440
441    find_package(Threads REQUIRED)
442    target_link_libraries(minddata-lite
443            securec
444            mindspore::jpeg_turbo
445            mindspore::turbojpeg
446            mindspore::json
447            Threads::Threads
448            )
449
450    # ref: https://github.com/android/ndk/issues/1202
451    if(PLATFORM_ARM32)
452        file(GLOB_RECURSE LIBCLANG_RT_LIB $ENV{ANDROID_NDK}/libclang_rt.builtins-arm-android.a)
453        if(LIBCLANG_RT_LIB STREQUAL "")
454            MESSAGE(FATAL_ERROR "Cannot find libclang_rt.builtins-arm-androi2d.a in $ENV{ANDROID_NDK}")
455        endif()
456        target_link_libraries(minddata-lite ${LIBCLANG_RT_LIB})
457    endif()
458
459    if(PLATFORM_ARM32 OR PLATFORM_ARM64)
460        target_link_libraries(minddata-lite log)
461    endif()
462elseif(BUILD_MINDDATA STREQUAL "lite")
463    list(REMOVE_ITEM MINDDATA_CORE_SRC_FILES "${MINDDATA_DIR}/core/client.cc")
464    list(REMOVE_ITEM MINDDATA_KERNELS_SRC_FILES "${MINDDATA_DIR}/kernels/py_func_op.cc")
465    add_library(minddata_eager_mid OBJECT
466        ${MINDDATA_DIR}/core/de_tensor.cc
467        ${MINDDATA_DIR}/api/execute.cc
468        )
469    list(REMOVE_ITEM MINDDATA_CORE_SRC_FILES
470        "${MINDDATA_DIR}/core/cv_tensor.cc"
471        )
472
473    list(REMOVE_ITEM MINDDATA_KERNELS_IMAGE_SRC_FILES
474        "${MINDDATA_DIR}/kernels/image/affine_op.cc"
475        "${MINDDATA_DIR}/kernels/image/auto_contrast_op.cc"
476        "${MINDDATA_DIR}/kernels/image/bounding_box_op.cc"
477        "${MINDDATA_DIR}/kernels/image/bounding_box_augment_op.cc"
478        "${MINDDATA_DIR}/kernels/image/center_crop_op.cc"
479        "${MINDDATA_DIR}/kernels/image/concatenate_op.cc"
480        "${MINDDATA_DIR}/kernels/image/cut_out_op.cc"
481        "${MINDDATA_DIR}/kernels/image/cutmix_batch_op.cc"
482        "${MINDDATA_DIR}/kernels/image/equalize_op.cc"
483        "${MINDDATA_DIR}/kernels/image/hwc_to_chw_op.cc"
484        "${MINDDATA_DIR}/kernels/image/image_utils.cc"
485        "${MINDDATA_DIR}/kernels/image/invert_op.cc"
486        "${MINDDATA_DIR}/kernels/image/mixup_batch_op.cc"
487        "${MINDDATA_DIR}/kernels/image/pad_op.cc"
488        "${MINDDATA_DIR}/kernels/image/posterize_op.cc"
489        "${MINDDATA_DIR}/kernels/image/random_affine_op.cc"
490        "${MINDDATA_DIR}/kernels/image/random_color_adjust_op.cc"
491        "${MINDDATA_DIR}/kernels/image/random_crop_and_resize_with_bbox_op.cc"
492        "${MINDDATA_DIR}/kernels/image/random_crop_decode_resize_op.cc"
493        "${MINDDATA_DIR}/kernels/image/random_crop_and_resize_op.cc"
494        "${MINDDATA_DIR}/kernels/image/random_crop_op.cc"
495        "${MINDDATA_DIR}/kernels/image/random_crop_with_bbox_op.cc"
496        "${MINDDATA_DIR}/kernels/image/random_horizontal_flip_op.cc"
497        "${MINDDATA_DIR}/kernels/image/random_horizontal_flip_with_bbox_op.cc"
498        "${MINDDATA_DIR}/kernels/image/random_posterize_op.cc"
499        "${MINDDATA_DIR}/kernels/image/random_resize_op.cc"
500        "${MINDDATA_DIR}/kernels/image/random_rotation_op.cc"
501        "${MINDDATA_DIR}/kernels/image/random_select_subpolicy_op.cc"
502        "${MINDDATA_DIR}/kernels/image/random_solarize_op.cc"
503        "${MINDDATA_DIR}/kernels/image/random_vertical_flip_op.cc"
504        "${MINDDATA_DIR}/kernels/image/random_vertical_flip_with_bbox_op.cc"
505        "${MINDDATA_DIR}/kernels/image/random_sharpness_op.cc"
506        "${MINDDATA_DIR}/kernels/image/rescale_op.cc"
507        "${MINDDATA_DIR}/kernels/image/resize_preserve_ar_op.cc"
508        "${MINDDATA_DIR}/kernels/image/rgb_to_gray_op.cc"
509        "${MINDDATA_DIR}/kernels/image/rgba_to_bgr_op.cc"
510        "${MINDDATA_DIR}/kernels/image/rgba_to_rgb_op.cc"
511        "${MINDDATA_DIR}/kernels/image/sharpness_op.cc"
512        "${MINDDATA_DIR}/kernels/image/solarize_op.cc"
513        "${MINDDATA_DIR}/kernels/image/swap_red_blue_op.cc"
514        "${MINDDATA_DIR}/kernels/image/uniform_aug_op.cc"
515        "${MINDDATA_DIR}/kernels/image/resize_with_bbox_op.cc"
516        "${MINDDATA_DIR}/kernels/image/random_resize_with_bbox_op.cc"
517        "${MINDDATA_DIR}/kernels/image/random_color_op.cc"
518        )
519
520    add_library(minddata-lite SHARED
521        ${MINDDATA_CORE_SRC_FILES}
522        ${MINDDATA_KERNELS_SRC_FILES}
523        ${MINDDATA_KERNELS_IMAGE_LITE_CV_FILES}
524        ${MINDDATA_KERNELS_IMAGE_SRC_FILES}
525        ${MINDDATA_KERNELS_DATA_SRC_FILES}
526        ${MINDDATA_DIR}/util/status.cc
527        ${MINDDATA_DIR}/util/memory_pool.cc
528        ${MINDDATA_DIR}/util/path.cc
529        ${MINDDATA_DIR}/api/transforms.cc
530        ${CMAKE_CURRENT_SOURCE_DIR}/../src/common/log.cc
531        ${CORE_DIR}/utils/ms_utils.cc
532        ${MINDDATA_DIR}/kernels/ir/validators.cc
533        ${MINDDATA_DIR}/kernels/ir/data/transforms_ir.cc
534        ${MINDDATA_DIR}/kernels/ir/vision/affine_ir.cc
535        ${MINDDATA_DIR}/kernels/ir/vision/auto_contrast_ir.cc
536        ${MINDDATA_DIR}/kernels/ir/vision/bounding_box_augment_ir.cc
537        ${MINDDATA_DIR}/kernels/ir/vision/center_crop_ir.cc
538        ${MINDDATA_DIR}/kernels/ir/vision/crop_ir.cc
539        ${MINDDATA_DIR}/kernels/ir/vision/cutmix_batch_ir.cc
540        ${MINDDATA_DIR}/kernels/ir/vision/cutout_ir.cc
541        ${MINDDATA_DIR}/kernels/ir/vision/decode_ir.cc
542        ${MINDDATA_DIR}/kernels/ir/vision/equalize_ir.cc
543        ${MINDDATA_DIR}/kernels/ir/vision/gaussian_blur_ir.cc
544        ${MINDDATA_DIR}/kernels/ir/vision/hwc_to_chw_ir.cc
545        ${MINDDATA_DIR}/kernels/ir/vision/invert_ir.cc
546        ${MINDDATA_DIR}/kernels/ir/vision/mixup_batch_ir.cc
547        ${MINDDATA_DIR}/kernels/ir/vision/normalize_ir.cc
548        ${MINDDATA_DIR}/kernels/ir/vision/normalize_pad_ir.cc
549        ${MINDDATA_DIR}/kernels/ir/vision/pad_ir.cc
550        ${MINDDATA_DIR}/kernels/ir/vision/random_affine_ir.cc
551        ${MINDDATA_DIR}/kernels/ir/vision/random_color_adjust_ir.cc
552        ${MINDDATA_DIR}/kernels/ir/vision/random_color_ir.cc
553        ${MINDDATA_DIR}/kernels/ir/vision/random_crop_decode_resize_ir.cc
554        ${MINDDATA_DIR}/kernels/ir/vision/random_crop_ir.cc
555        ${MINDDATA_DIR}/kernels/ir/vision/random_crop_with_bbox_ir.cc
556        ${MINDDATA_DIR}/kernels/ir/vision/random_horizontal_flip_ir.cc
557        ${MINDDATA_DIR}/kernels/ir/vision/random_horizontal_flip_with_bbox_ir.cc
558        ${MINDDATA_DIR}/kernels/ir/vision/random_posterize_ir.cc
559        ${MINDDATA_DIR}/kernels/ir/vision/random_resized_crop_ir.cc
560        ${MINDDATA_DIR}/kernels/ir/vision/random_resized_crop_with_bbox_ir.cc
561        ${MINDDATA_DIR}/kernels/ir/vision/random_resize_ir.cc
562        ${MINDDATA_DIR}/kernels/ir/vision/random_resize_with_bbox_ir.cc
563        ${MINDDATA_DIR}/kernels/ir/vision/random_rotation_ir.cc
564        ${MINDDATA_DIR}/kernels/ir/vision/random_select_subpolicy_ir.cc
565        ${MINDDATA_DIR}/kernels/ir/vision/random_sharpness_ir.cc
566        ${MINDDATA_DIR}/kernels/ir/vision/random_solarize_ir.cc
567        ${MINDDATA_DIR}/kernels/ir/vision/random_vertical_flip_ir.cc
568        ${MINDDATA_DIR}/kernels/ir/vision/random_vertical_flip_with_bbox_ir.cc
569        ${MINDDATA_DIR}/kernels/ir/vision/rescale_ir.cc
570        ${MINDDATA_DIR}/kernels/ir/vision/resize_ir.cc
571        ${MINDDATA_DIR}/kernels/ir/vision/resize_preserve_ar_ir.cc
572        ${MINDDATA_DIR}/kernels/ir/vision/resize_with_bbox_ir.cc
573        ${MINDDATA_DIR}/kernels/ir/vision/rgba_to_bgr_ir.cc
574        ${MINDDATA_DIR}/kernels/ir/vision/rgba_to_rgb_ir.cc
575        ${MINDDATA_DIR}/kernels/ir/vision/rgb_to_gray_ir.cc
576        ${MINDDATA_DIR}/kernels/ir/vision/rotate_ir.cc
577        ${MINDDATA_DIR}/kernels/ir/vision/softdvpp_decode_random_crop_resize_jpeg_ir.cc
578        ${MINDDATA_DIR}/kernels/ir/vision/softdvpp_decode_resize_jpeg_ir.cc
579        ${MINDDATA_DIR}/kernels/ir/vision/swap_red_blue_ir.cc
580        ${MINDDATA_DIR}/kernels/ir/vision/uniform_aug_ir.cc
581        )
582
583    target_link_libraries(minddata-lite
584        securec
585        jpeg-turbo
586        jpeg
587        mindspore::json
588        )
589
590    # ref: https://github.com/android/ndk/issues/1202
591    if(PLATFORM_ARM32)
592        file(GLOB_RECURSE LIBCLANG_RT_LIB $ENV{ANDROID_NDK}/libclang_rt.builtins-arm-android.a)
593        if(LIBCLANG_RT_LIB STREQUAL "")
594            MESSAGE(FATAL_ERROR "Cannot find libclang_rt.builtins-arm-androi2d.a in $ENV{ANDROID_NDK}")
595        endif()
596        target_link_libraries(minddata-lite ${LIBCLANG_RT_LIB})
597    endif()
598elseif(BUILD_MINDDATA STREQUAL "lite_cv")
599    include_directories(${MINDDATA_DIR}/kernels/image)
600    message(STATUS ${MINDDATA_DIR}/kernels/image)
601    add_library(minddata-lite SHARED
602        ${MINDDATA_KERNELS_IMAGE_LITE_CV_FILES}
603        )
604
605    # ref: https://github.com/android/ndk/issues/1202
606    if(PLATFORM_ARM32)
607        file(GLOB_RECURSE LIBCLANG_RT_LIB $ENV{ANDROID_NDK}/libclang_rt.builtins-arm-android.a)
608        if(LIBCLANG_RT_LIB STREQUAL "")
609            MESSAGE(FATAL_ERROR "Cannot find libclang_rt.builtins-arm-androi2d.a in $ENV{ANDROID_NDK}")
610        endif()
611        target_link_libraries(minddata-lite ${LIBCLANG_RT_LIB})
612    endif()
613endif()
614