mirror of https://github.com/opencv/opencv.git
Open Source Computer Vision Library
https://opencv.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
3.9 KiB
121 lines
3.9 KiB
# FIXME: Rework standalone build in more generic maner |
|
# (Restructure directories, add common pass, etc) |
|
if (NOT DEFINED OPENCV_INITIAL_PASS) |
|
cmake_minimum_required(VERSION 3.3) |
|
include("cmake/standalone.cmake") |
|
return() |
|
endif() |
|
|
|
# FIXME: Remove CXX11 check after complete switch to OpenCV 4 branch |
|
# (CI, bundle, workloads, etc) |
|
if (NOT HAVE_CXX11 OR NOT TARGET ade) |
|
# can't build G-API because of the above reasons |
|
ocv_module_disable(gapi) |
|
return() |
|
endif() |
|
|
|
set(the_description "OpenCV G-API Core Module") |
|
|
|
ocv_add_module(gapi opencv_imgproc) |
|
|
|
file(GLOB gapi_ext_hdrs |
|
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/*.hpp" |
|
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/*.hpp" |
|
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/*.h" |
|
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/util/*.hpp" |
|
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/cpu/*.hpp" |
|
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/gpu/*.hpp" |
|
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/ocl/*.hpp" |
|
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/fluid/*.hpp" |
|
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/own/*.hpp" |
|
) |
|
|
|
set(gapi_srcs |
|
# Front-end part |
|
src/api/gorigin.cpp |
|
src/api/gmat.cpp |
|
src/api/garray.cpp |
|
src/api/gscalar.cpp |
|
src/api/gkernel.cpp |
|
src/api/gbackend.cpp |
|
src/api/gproto.cpp |
|
src/api/gnode.cpp |
|
src/api/gcall.cpp |
|
src/api/gcomputation.cpp |
|
src/api/operators.cpp |
|
src/api/kernels_core.cpp |
|
src/api/kernels_imgproc.cpp |
|
src/api/render.cpp |
|
src/api/ginfer.cpp |
|
|
|
# Compiler part |
|
src/compiler/gmodel.cpp |
|
src/compiler/gmodelbuilder.cpp |
|
src/compiler/gislandmodel.cpp |
|
src/compiler/gcompiler.cpp |
|
src/compiler/gcompiled.cpp |
|
src/compiler/passes/helpers.cpp |
|
src/compiler/passes/dump_dot.cpp |
|
src/compiler/passes/islands.cpp |
|
src/compiler/passes/meta.cpp |
|
src/compiler/passes/kernels.cpp |
|
src/compiler/passes/exec.cpp |
|
|
|
# Executor |
|
src/executor/gexecutor.cpp |
|
src/executor/gasync.cpp |
|
|
|
# CPU Backend (currently built-in) |
|
src/backends/cpu/gcpubackend.cpp |
|
src/backends/cpu/gcpukernel.cpp |
|
src/backends/cpu/gcpuimgproc.cpp |
|
src/backends/cpu/gcpucore.cpp |
|
|
|
# Fluid Backend (also built-in, FIXME:move away) |
|
src/backends/fluid/gfluidbuffer.cpp |
|
src/backends/fluid/gfluidbackend.cpp |
|
src/backends/fluid/gfluidimgproc.cpp |
|
src/backends/fluid/gfluidimgproc_func.dispatch.cpp |
|
src/backends/fluid/gfluidcore.cpp |
|
|
|
# OCL Backend (currently built-in) |
|
src/backends/ocl/goclbackend.cpp |
|
src/backends/ocl/goclkernel.cpp |
|
src/backends/ocl/goclimgproc.cpp |
|
src/backends/ocl/goclcore.cpp |
|
|
|
# IE Backend. FIXME: should be included by CMake |
|
# if and only if IE support is enabled |
|
src/backends/ie/giebackend.cpp |
|
|
|
# Compound |
|
src/backends/common/gcompoundbackend.cpp |
|
src/backends/common/gcompoundkernel.cpp |
|
) |
|
|
|
ocv_add_dispatched_file(backends/fluid/gfluidimgproc_func SSE4_1 AVX2) |
|
|
|
ocv_list_add_prefix(gapi_srcs "${CMAKE_CURRENT_LIST_DIR}/") |
|
|
|
# For IDE users |
|
ocv_source_group("Src" FILES ${gapi_srcs}) |
|
ocv_source_group("Include" FILES ${gapi_ext_hdrs}) |
|
|
|
ocv_set_module_sources(HEADERS ${gapi_ext_hdrs} SOURCES ${gapi_srcs}) |
|
ocv_module_include_directories("${CMAKE_CURRENT_LIST_DIR}/src") |
|
|
|
# Note `ade` is not a module name but link dependency for ${the_module} |
|
# (which is opencv_gapi) |
|
ocv_create_module(ade ${INF_ENGINE_TARGET}) |
|
ocv_add_accuracy_tests(${INF_ENGINE_TARGET}) |
|
# FIXME: test binary is linked with ADE directly since ADE symbols |
|
# are not exported from libopencv_gapi.so in any form - thus |
|
# there're two copies of ADE code in memory when tests run (!) |
|
# src/ is specified to include dirs for INTERNAL tests only. |
|
if(TARGET opencv_test_gapi) |
|
target_include_directories(opencv_test_gapi PRIVATE "${CMAKE_CURRENT_LIST_DIR}/src") |
|
target_link_libraries(opencv_test_gapi PRIVATE ade) |
|
endif() |
|
|
|
ocv_add_perf_tests() |
|
ocv_add_samples()
|
|
|