Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Tetragramm
GitHub Repository: Tetragramm/opencv
Path: blob/master/modules/gapi/CMakeLists.txt
16337 views
1
# FIXME: Remove CXX11 check after complete switch to OpenCV 4 branch
2
# (CI, bundle, workloads, etc)
3
if (NOT HAVE_CXX11 OR NOT TARGET ade)
4
# can't build G-API because of the above reasons
5
ocv_module_disable(gapi)
6
return()
7
endif()
8
9
set(the_description "OpenCV G-API Core Module")
10
ocv_add_module(gapi opencv_imgproc)
11
12
file(GLOB gapi_ext_hdrs
13
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/*.hpp"
14
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/*.hpp"
15
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/*.h"
16
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/util/*.hpp"
17
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/cpu/*.hpp"
18
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/fluid/*.hpp"
19
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/own/*.hpp"
20
)
21
22
set(gapi_srcs
23
# Front-end part
24
src/api/gapi_priv.cpp
25
src/api/gmat.cpp
26
src/api/garray.cpp
27
src/api/gscalar.cpp
28
src/api/gkernel.cpp
29
src/api/gbackend.cpp
30
src/api/gproto.cpp
31
src/api/gnode.cpp
32
src/api/gcall.cpp
33
src/api/gcomputation.cpp
34
src/api/operators.cpp
35
src/api/kernels_core.cpp
36
src/api/kernels_imgproc.cpp
37
38
# Compiler part
39
src/compiler/gmodel.cpp
40
src/compiler/gmodelbuilder.cpp
41
src/compiler/gislandmodel.cpp
42
src/compiler/gcompiler.cpp
43
src/compiler/gcompiled.cpp
44
src/compiler/passes/helpers.cpp
45
src/compiler/passes/dump_dot.cpp
46
src/compiler/passes/islands.cpp
47
src/compiler/passes/meta.cpp
48
src/compiler/passes/kernels.cpp
49
src/compiler/passes/exec.cpp
50
51
# Executor
52
src/executor/gexecutor.cpp
53
54
# CPU Backend (currently built-in)
55
src/backends/cpu/gcpubackend.cpp
56
src/backends/cpu/gcpukernel.cpp
57
src/backends/cpu/gcpuimgproc.cpp
58
src/backends/cpu/gcpucore.cpp
59
60
# Fluid Backend (also built-in, FIXME:move away)
61
src/backends/fluid/gfluidbuffer.cpp
62
src/backends/fluid/gfluidbackend.cpp
63
src/backends/fluid/gfluidimgproc.cpp
64
src/backends/fluid/gfluidcore.cpp
65
66
# Compound
67
src/backends/common/gcompoundbackend.cpp
68
src/backends/common/gcompoundkernel.cpp
69
)
70
71
ocv_list_add_prefix(gapi_srcs "${CMAKE_CURRENT_LIST_DIR}/")
72
73
# For IDE users
74
ocv_source_group("Src" FILES ${gapi_srcs})
75
ocv_source_group("Include" FILES ${gapi_ext_hdrs})
76
77
ocv_set_module_sources(HEADERS ${gapi_ext_hdrs} SOURCES ${gapi_srcs})
78
ocv_module_include_directories("${CMAKE_CURRENT_LIST_DIR}/src")
79
80
# Note `ade` is not a module name but link dependency for ${the_module}
81
# (which is opencv_gapi)
82
ocv_create_module(ade)
83
84
ocv_add_accuracy_tests()
85
# FIXME: test binary is linked with ADE directly since ADE symbols
86
# are not exported from libopencv_gapi.so in any form - thus
87
# there're two copies of ADE code in memory when tests run (!)
88
# src/ is specified to include dirs for INTERNAL tests only.
89
if(TARGET opencv_test_gapi)
90
target_include_directories(opencv_test_gapi PRIVATE "${CMAKE_CURRENT_LIST_DIR}/src")
91
target_link_libraries(opencv_test_gapi PRIVATE ade)
92
endif()
93
94
ocv_add_perf_tests()
95
ocv_add_samples()
96
97