2018-10-31 20:53:01 +08:00
|
|
|
# FIXME: Rework standalone build in more generic maner
|
|
|
|
# (Restructure directories, add common pass, etc)
|
2019-12-06 21:36:42 +08:00
|
|
|
if(NOT DEFINED OPENCV_INITIAL_PASS)
|
2019-03-01 16:28:49 +08:00
|
|
|
cmake_minimum_required(VERSION 3.3)
|
2019-09-09 21:23:04 +08:00
|
|
|
project(gapi_standalone)
|
2018-10-31 20:53:01 +08:00
|
|
|
include("cmake/standalone.cmake")
|
|
|
|
return()
|
|
|
|
endif()
|
|
|
|
|
2019-12-06 21:36:42 +08:00
|
|
|
if(NOT TARGET ade)
|
2018-09-27 02:50:39 +08:00
|
|
|
# can't build G-API because of the above reasons
|
|
|
|
ocv_module_disable(gapi)
|
|
|
|
return()
|
|
|
|
endif()
|
|
|
|
|
|
|
|
set(the_description "OpenCV G-API Core Module")
|
2019-08-05 22:56:34 +08:00
|
|
|
|
2018-09-27 02:50:39 +08:00
|
|
|
ocv_add_module(gapi opencv_imgproc)
|
|
|
|
|
2019-10-29 02:53:14 +08:00
|
|
|
if(MSVC)
|
|
|
|
# Disable obsollete warning C4503 popping up on MSVC <<2017
|
|
|
|
# https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4503?view=vs-2019
|
|
|
|
ocv_warnings_disable(CMAKE_CXX_FLAGS /wd4503)
|
|
|
|
endif()
|
Merge pull request #15216 from dmatveev:dm/ng-0010-g-api-streaming-api
* G-API-NG/Streaming: Introduced a Streaming API
Now a GComputation can be compiled in a special "streaming" way
and then "played" on a video stream.
Currently only VideoCapture is supported as an input source.
* G-API-NG/Streaming: added threading & real streaming
* G-API-NG/Streaming: Added tests & docs on Copy kernel
- Added very simple pipeline tests, not all data types are covered yet
(in fact, only GMat is tested now);
- Started testing non-OCV backends in the streaming mode;
- Added required fixes to Fluid backend, likely it works OK now;
- Added required fixes to OCL backend, and now it is likely broken
- Also added a UMat-based (OCL) version of Copy kernel
* G-API-NG/Streaming: Added own concurrent queue class
- Used only if TBB is not available
* G-API-NG/Streaming: Fixing various issues
- Added missing header to CMakeLists.txt
- Fixed various CI issues and warnings
* G-API-NG/Streaming: Fixed a compile-time GScalar queue deadlock
- GStreamingExecutor blindly created island's input queues for
compile-time (value-initialized) GScalars which didn't have any
producers, making island actor threads wait there forever
* G-API-NG/Streaming: Dropped own version of Copy kernel
One was added into master already
* G-API-NG/Streaming: Addressed GArray<T> review comments
- Added tests on mov()
- Removed unnecessary changes in garray.hpp
* G-API-NG/Streaming: Added Doxygen comments to new public APIs
Also fixed some other comments in the code
* G-API-NG/Streaming: Removed debug info, added some comments & renamed vars
* G-API-NG/Streaming: Fixed own-vs-cv abstraction leak
- Now every island is triggered with own:: (instead of cv::)
data objects as inputs;
- Changes in Fluid backend required to support cv::Mat/Scalar were
reverted;
* G-API-NG/Streaming: use holds_alternative<> instead of index/index_of test
- Also fixed regression test comments
- Also added metadata check comments for GStreamingCompiled
* G-API-NG/Streaming: Made start()/stop() more robust
- Fixed various possible deadlocks
- Unified the shutdown code
- Added more tests covering different corner cases on start/stop
* G-API-NG/Streaming: Finally fixed Windows crashes
In fact the problem hasn't been Windows-only.
Island thread popped data from queues without preserving the Cmd
objects and without taking the ownership over data acquired so when
islands started to process the data, this data may be already freed.
Linux version worked only by occasion.
* G-API-NG/Streaming: Fixed (I hope so) Windows warnings
* G-API-NG/Streaming: fixed typos in internal comments
- Also added some more explanation on Streaming/OpenCL status
* G-API-NG/Streaming: Added more unit tests on streaming
- Various start()/stop()/setSource() call flow combinations
* G-API-NG/Streaming: Added tests on own concurrent bounded queue
* G-API-NG/Streaming: Added more tests on various data types, + more
- Vector/Scalar passed as input;
- Vector/Scalar passed in-between islands;
- Some more assertions;
- Also fixed a deadlock problem when inputs are mixed (1 constant, 1 stream)
* G-API-NG/Streaming: Added tests on output data types handling
- Vector
- Scalar
* G-API-NG/Streaming: Fixed test issues with IE + Windows warnings
* G-API-NG/Streaming: Decoupled G-API from videoio
- Now the core G-API doesn't use a cv::VideoCapture directly,
it comes in via an abstract interface;
- Polished a little bit the setSource()/start()/stop() semantics,
now setSource() is mandatory before ANY call to start().
* G-API-NG/Streaming: Fix STANDALONE build (errors brought by render)
2019-10-19 00:29:58 +08:00
|
|
|
|
2018-09-27 02:50:39 +08:00
|
|
|
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}/cpu/*.hpp"
|
2019-11-07 19:03:46 +08:00
|
|
|
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/fluid/*.hpp"
|
2018-11-09 03:14:53 +08:00
|
|
|
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/gpu/*.hpp"
|
2019-11-07 19:03:46 +08:00
|
|
|
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/infer/*.hpp"
|
2018-11-29 21:29:11 +08:00
|
|
|
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/ocl/*.hpp"
|
2018-09-27 02:50:39 +08:00
|
|
|
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/own/*.hpp"
|
2019-11-07 19:03:46 +08:00
|
|
|
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/render/*.hpp"
|
Merge pull request #15216 from dmatveev:dm/ng-0010-g-api-streaming-api
* G-API-NG/Streaming: Introduced a Streaming API
Now a GComputation can be compiled in a special "streaming" way
and then "played" on a video stream.
Currently only VideoCapture is supported as an input source.
* G-API-NG/Streaming: added threading & real streaming
* G-API-NG/Streaming: Added tests & docs on Copy kernel
- Added very simple pipeline tests, not all data types are covered yet
(in fact, only GMat is tested now);
- Started testing non-OCV backends in the streaming mode;
- Added required fixes to Fluid backend, likely it works OK now;
- Added required fixes to OCL backend, and now it is likely broken
- Also added a UMat-based (OCL) version of Copy kernel
* G-API-NG/Streaming: Added own concurrent queue class
- Used only if TBB is not available
* G-API-NG/Streaming: Fixing various issues
- Added missing header to CMakeLists.txt
- Fixed various CI issues and warnings
* G-API-NG/Streaming: Fixed a compile-time GScalar queue deadlock
- GStreamingExecutor blindly created island's input queues for
compile-time (value-initialized) GScalars which didn't have any
producers, making island actor threads wait there forever
* G-API-NG/Streaming: Dropped own version of Copy kernel
One was added into master already
* G-API-NG/Streaming: Addressed GArray<T> review comments
- Added tests on mov()
- Removed unnecessary changes in garray.hpp
* G-API-NG/Streaming: Added Doxygen comments to new public APIs
Also fixed some other comments in the code
* G-API-NG/Streaming: Removed debug info, added some comments & renamed vars
* G-API-NG/Streaming: Fixed own-vs-cv abstraction leak
- Now every island is triggered with own:: (instead of cv::)
data objects as inputs;
- Changes in Fluid backend required to support cv::Mat/Scalar were
reverted;
* G-API-NG/Streaming: use holds_alternative<> instead of index/index_of test
- Also fixed regression test comments
- Also added metadata check comments for GStreamingCompiled
* G-API-NG/Streaming: Made start()/stop() more robust
- Fixed various possible deadlocks
- Unified the shutdown code
- Added more tests covering different corner cases on start/stop
* G-API-NG/Streaming: Finally fixed Windows crashes
In fact the problem hasn't been Windows-only.
Island thread popped data from queues without preserving the Cmd
objects and without taking the ownership over data acquired so when
islands started to process the data, this data may be already freed.
Linux version worked only by occasion.
* G-API-NG/Streaming: Fixed (I hope so) Windows warnings
* G-API-NG/Streaming: fixed typos in internal comments
- Also added some more explanation on Streaming/OpenCL status
* G-API-NG/Streaming: Added more unit tests on streaming
- Various start()/stop()/setSource() call flow combinations
* G-API-NG/Streaming: Added tests on own concurrent bounded queue
* G-API-NG/Streaming: Added more tests on various data types, + more
- Vector/Scalar passed as input;
- Vector/Scalar passed in-between islands;
- Some more assertions;
- Also fixed a deadlock problem when inputs are mixed (1 constant, 1 stream)
* G-API-NG/Streaming: Added tests on output data types handling
- Vector
- Scalar
* G-API-NG/Streaming: Fixed test issues with IE + Windows warnings
* G-API-NG/Streaming: Decoupled G-API from videoio
- Now the core G-API doesn't use a cv::VideoCapture directly,
it comes in via an abstract interface;
- Polished a little bit the setSource()/start()/stop() semantics,
now setSource() is mandatory before ANY call to start().
* G-API-NG/Streaming: Fix STANDALONE build (errors brought by render)
2019-10-19 00:29:58 +08:00
|
|
|
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/streaming/*.hpp"
|
2019-11-27 23:21:00 +08:00
|
|
|
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/plaidml/*.hpp"
|
2019-11-07 19:03:46 +08:00
|
|
|
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/util/*.hpp"
|
2018-09-27 02:50:39 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
set(gapi_srcs
|
|
|
|
# Front-end part
|
2019-04-18 02:54:47 +08:00
|
|
|
src/api/gorigin.cpp
|
2018-09-27 02:50:39 +08:00
|
|
|
src/api/gmat.cpp
|
|
|
|
src/api/garray.cpp
|
2020-01-31 02:08:11 +08:00
|
|
|
src/api/gopaque.cpp
|
2018-09-27 02:50:39 +08:00
|
|
|
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
|
2019-06-14 23:29:50 +08:00
|
|
|
src/api/render.cpp
|
2019-09-10 17:23:16 +08:00
|
|
|
src/api/render_ocv.cpp
|
2019-08-05 22:56:34 +08:00
|
|
|
src/api/ginfer.cpp
|
2019-12-03 18:13:06 +08:00
|
|
|
src/api/ft_render.cpp
|
2018-09-27 02:50:39 +08:00
|
|
|
|
|
|
|
# Compiler part
|
|
|
|
src/compiler/gmodel.cpp
|
|
|
|
src/compiler/gmodelbuilder.cpp
|
|
|
|
src/compiler/gislandmodel.cpp
|
|
|
|
src/compiler/gcompiler.cpp
|
|
|
|
src/compiler/gcompiled.cpp
|
Merge pull request #15216 from dmatveev:dm/ng-0010-g-api-streaming-api
* G-API-NG/Streaming: Introduced a Streaming API
Now a GComputation can be compiled in a special "streaming" way
and then "played" on a video stream.
Currently only VideoCapture is supported as an input source.
* G-API-NG/Streaming: added threading & real streaming
* G-API-NG/Streaming: Added tests & docs on Copy kernel
- Added very simple pipeline tests, not all data types are covered yet
(in fact, only GMat is tested now);
- Started testing non-OCV backends in the streaming mode;
- Added required fixes to Fluid backend, likely it works OK now;
- Added required fixes to OCL backend, and now it is likely broken
- Also added a UMat-based (OCL) version of Copy kernel
* G-API-NG/Streaming: Added own concurrent queue class
- Used only if TBB is not available
* G-API-NG/Streaming: Fixing various issues
- Added missing header to CMakeLists.txt
- Fixed various CI issues and warnings
* G-API-NG/Streaming: Fixed a compile-time GScalar queue deadlock
- GStreamingExecutor blindly created island's input queues for
compile-time (value-initialized) GScalars which didn't have any
producers, making island actor threads wait there forever
* G-API-NG/Streaming: Dropped own version of Copy kernel
One was added into master already
* G-API-NG/Streaming: Addressed GArray<T> review comments
- Added tests on mov()
- Removed unnecessary changes in garray.hpp
* G-API-NG/Streaming: Added Doxygen comments to new public APIs
Also fixed some other comments in the code
* G-API-NG/Streaming: Removed debug info, added some comments & renamed vars
* G-API-NG/Streaming: Fixed own-vs-cv abstraction leak
- Now every island is triggered with own:: (instead of cv::)
data objects as inputs;
- Changes in Fluid backend required to support cv::Mat/Scalar were
reverted;
* G-API-NG/Streaming: use holds_alternative<> instead of index/index_of test
- Also fixed regression test comments
- Also added metadata check comments for GStreamingCompiled
* G-API-NG/Streaming: Made start()/stop() more robust
- Fixed various possible deadlocks
- Unified the shutdown code
- Added more tests covering different corner cases on start/stop
* G-API-NG/Streaming: Finally fixed Windows crashes
In fact the problem hasn't been Windows-only.
Island thread popped data from queues without preserving the Cmd
objects and without taking the ownership over data acquired so when
islands started to process the data, this data may be already freed.
Linux version worked only by occasion.
* G-API-NG/Streaming: Fixed (I hope so) Windows warnings
* G-API-NG/Streaming: fixed typos in internal comments
- Also added some more explanation on Streaming/OpenCL status
* G-API-NG/Streaming: Added more unit tests on streaming
- Various start()/stop()/setSource() call flow combinations
* G-API-NG/Streaming: Added tests on own concurrent bounded queue
* G-API-NG/Streaming: Added more tests on various data types, + more
- Vector/Scalar passed as input;
- Vector/Scalar passed in-between islands;
- Some more assertions;
- Also fixed a deadlock problem when inputs are mixed (1 constant, 1 stream)
* G-API-NG/Streaming: Added tests on output data types handling
- Vector
- Scalar
* G-API-NG/Streaming: Fixed test issues with IE + Windows warnings
* G-API-NG/Streaming: Decoupled G-API from videoio
- Now the core G-API doesn't use a cv::VideoCapture directly,
it comes in via an abstract interface;
- Polished a little bit the setSource()/start()/stop() semantics,
now setSource() is mandatory before ANY call to start().
* G-API-NG/Streaming: Fix STANDALONE build (errors brought by render)
2019-10-19 00:29:58 +08:00
|
|
|
src/compiler/gstreaming.cpp
|
2018-09-27 02:50:39 +08:00
|
|
|
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
|
2019-09-25 23:19:45 +08:00
|
|
|
src/compiler/passes/transformations.cpp
|
2019-08-09 23:57:56 +08:00
|
|
|
src/compiler/passes/pattern_matching.cpp
|
2019-09-25 23:19:45 +08:00
|
|
|
src/compiler/passes/perform_substitution.cpp
|
Merge pull request #15216 from dmatveev:dm/ng-0010-g-api-streaming-api
* G-API-NG/Streaming: Introduced a Streaming API
Now a GComputation can be compiled in a special "streaming" way
and then "played" on a video stream.
Currently only VideoCapture is supported as an input source.
* G-API-NG/Streaming: added threading & real streaming
* G-API-NG/Streaming: Added tests & docs on Copy kernel
- Added very simple pipeline tests, not all data types are covered yet
(in fact, only GMat is tested now);
- Started testing non-OCV backends in the streaming mode;
- Added required fixes to Fluid backend, likely it works OK now;
- Added required fixes to OCL backend, and now it is likely broken
- Also added a UMat-based (OCL) version of Copy kernel
* G-API-NG/Streaming: Added own concurrent queue class
- Used only if TBB is not available
* G-API-NG/Streaming: Fixing various issues
- Added missing header to CMakeLists.txt
- Fixed various CI issues and warnings
* G-API-NG/Streaming: Fixed a compile-time GScalar queue deadlock
- GStreamingExecutor blindly created island's input queues for
compile-time (value-initialized) GScalars which didn't have any
producers, making island actor threads wait there forever
* G-API-NG/Streaming: Dropped own version of Copy kernel
One was added into master already
* G-API-NG/Streaming: Addressed GArray<T> review comments
- Added tests on mov()
- Removed unnecessary changes in garray.hpp
* G-API-NG/Streaming: Added Doxygen comments to new public APIs
Also fixed some other comments in the code
* G-API-NG/Streaming: Removed debug info, added some comments & renamed vars
* G-API-NG/Streaming: Fixed own-vs-cv abstraction leak
- Now every island is triggered with own:: (instead of cv::)
data objects as inputs;
- Changes in Fluid backend required to support cv::Mat/Scalar were
reverted;
* G-API-NG/Streaming: use holds_alternative<> instead of index/index_of test
- Also fixed regression test comments
- Also added metadata check comments for GStreamingCompiled
* G-API-NG/Streaming: Made start()/stop() more robust
- Fixed various possible deadlocks
- Unified the shutdown code
- Added more tests covering different corner cases on start/stop
* G-API-NG/Streaming: Finally fixed Windows crashes
In fact the problem hasn't been Windows-only.
Island thread popped data from queues without preserving the Cmd
objects and without taking the ownership over data acquired so when
islands started to process the data, this data may be already freed.
Linux version worked only by occasion.
* G-API-NG/Streaming: Fixed (I hope so) Windows warnings
* G-API-NG/Streaming: fixed typos in internal comments
- Also added some more explanation on Streaming/OpenCL status
* G-API-NG/Streaming: Added more unit tests on streaming
- Various start()/stop()/setSource() call flow combinations
* G-API-NG/Streaming: Added tests on own concurrent bounded queue
* G-API-NG/Streaming: Added more tests on various data types, + more
- Vector/Scalar passed as input;
- Vector/Scalar passed in-between islands;
- Some more assertions;
- Also fixed a deadlock problem when inputs are mixed (1 constant, 1 stream)
* G-API-NG/Streaming: Added tests on output data types handling
- Vector
- Scalar
* G-API-NG/Streaming: Fixed test issues with IE + Windows warnings
* G-API-NG/Streaming: Decoupled G-API from videoio
- Now the core G-API doesn't use a cv::VideoCapture directly,
it comes in via an abstract interface;
- Polished a little bit the setSource()/start()/stop() semantics,
now setSource() is mandatory before ANY call to start().
* G-API-NG/Streaming: Fix STANDALONE build (errors brought by render)
2019-10-19 00:29:58 +08:00
|
|
|
src/compiler/passes/streaming.cpp
|
2018-09-27 02:50:39 +08:00
|
|
|
|
|
|
|
# Executor
|
|
|
|
src/executor/gexecutor.cpp
|
Merge pull request #15216 from dmatveev:dm/ng-0010-g-api-streaming-api
* G-API-NG/Streaming: Introduced a Streaming API
Now a GComputation can be compiled in a special "streaming" way
and then "played" on a video stream.
Currently only VideoCapture is supported as an input source.
* G-API-NG/Streaming: added threading & real streaming
* G-API-NG/Streaming: Added tests & docs on Copy kernel
- Added very simple pipeline tests, not all data types are covered yet
(in fact, only GMat is tested now);
- Started testing non-OCV backends in the streaming mode;
- Added required fixes to Fluid backend, likely it works OK now;
- Added required fixes to OCL backend, and now it is likely broken
- Also added a UMat-based (OCL) version of Copy kernel
* G-API-NG/Streaming: Added own concurrent queue class
- Used only if TBB is not available
* G-API-NG/Streaming: Fixing various issues
- Added missing header to CMakeLists.txt
- Fixed various CI issues and warnings
* G-API-NG/Streaming: Fixed a compile-time GScalar queue deadlock
- GStreamingExecutor blindly created island's input queues for
compile-time (value-initialized) GScalars which didn't have any
producers, making island actor threads wait there forever
* G-API-NG/Streaming: Dropped own version of Copy kernel
One was added into master already
* G-API-NG/Streaming: Addressed GArray<T> review comments
- Added tests on mov()
- Removed unnecessary changes in garray.hpp
* G-API-NG/Streaming: Added Doxygen comments to new public APIs
Also fixed some other comments in the code
* G-API-NG/Streaming: Removed debug info, added some comments & renamed vars
* G-API-NG/Streaming: Fixed own-vs-cv abstraction leak
- Now every island is triggered with own:: (instead of cv::)
data objects as inputs;
- Changes in Fluid backend required to support cv::Mat/Scalar were
reverted;
* G-API-NG/Streaming: use holds_alternative<> instead of index/index_of test
- Also fixed regression test comments
- Also added metadata check comments for GStreamingCompiled
* G-API-NG/Streaming: Made start()/stop() more robust
- Fixed various possible deadlocks
- Unified the shutdown code
- Added more tests covering different corner cases on start/stop
* G-API-NG/Streaming: Finally fixed Windows crashes
In fact the problem hasn't been Windows-only.
Island thread popped data from queues without preserving the Cmd
objects and without taking the ownership over data acquired so when
islands started to process the data, this data may be already freed.
Linux version worked only by occasion.
* G-API-NG/Streaming: Fixed (I hope so) Windows warnings
* G-API-NG/Streaming: fixed typos in internal comments
- Also added some more explanation on Streaming/OpenCL status
* G-API-NG/Streaming: Added more unit tests on streaming
- Various start()/stop()/setSource() call flow combinations
* G-API-NG/Streaming: Added tests on own concurrent bounded queue
* G-API-NG/Streaming: Added more tests on various data types, + more
- Vector/Scalar passed as input;
- Vector/Scalar passed in-between islands;
- Some more assertions;
- Also fixed a deadlock problem when inputs are mixed (1 constant, 1 stream)
* G-API-NG/Streaming: Added tests on output data types handling
- Vector
- Scalar
* G-API-NG/Streaming: Fixed test issues with IE + Windows warnings
* G-API-NG/Streaming: Decoupled G-API from videoio
- Now the core G-API doesn't use a cv::VideoCapture directly,
it comes in via an abstract interface;
- Polished a little bit the setSource()/start()/stop() semantics,
now setSource() is mandatory before ANY call to start().
* G-API-NG/Streaming: Fix STANDALONE build (errors brought by render)
2019-10-19 00:29:58 +08:00
|
|
|
src/executor/gstreamingexecutor.cpp
|
2019-04-30 18:11:56 +08:00
|
|
|
src/executor/gasync.cpp
|
2018-09-27 02:50:39 +08:00
|
|
|
|
|
|
|
# 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
|
2018-11-13 22:48:10 +08:00
|
|
|
src/backends/fluid/gfluidimgproc_func.dispatch.cpp
|
2018-09-27 02:50:39 +08:00
|
|
|
src/backends/fluid/gfluidcore.cpp
|
|
|
|
|
2018-11-29 21:29:11 +08:00
|
|
|
# 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
|
2018-11-09 03:14:53 +08:00
|
|
|
|
2019-08-05 22:56:34 +08:00
|
|
|
# IE Backend. FIXME: should be included by CMake
|
|
|
|
# if and only if IE support is enabled
|
|
|
|
src/backends/ie/giebackend.cpp
|
|
|
|
|
2019-10-18 02:04:03 +08:00
|
|
|
# Render Backend.
|
|
|
|
src/backends/render/grenderocvbackend.cpp
|
|
|
|
src/backends/render/grenderocv.cpp
|
|
|
|
|
2019-11-27 23:21:00 +08:00
|
|
|
#PlaidML Backend
|
|
|
|
src/backends/plaidml/gplaidmlcore.cpp
|
|
|
|
src/backends/plaidml/gplaidmlbackend.cpp
|
|
|
|
|
2018-09-27 02:50:39 +08:00
|
|
|
# Compound
|
|
|
|
src/backends/common/gcompoundbackend.cpp
|
|
|
|
src/backends/common/gcompoundkernel.cpp
|
|
|
|
)
|
|
|
|
|
2018-11-13 22:48:10 +08:00
|
|
|
ocv_add_dispatched_file(backends/fluid/gfluidimgproc_func SSE4_1 AVX2)
|
|
|
|
|
2018-09-27 02:50:39 +08:00
|
|
|
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")
|
|
|
|
|
2019-12-06 21:36:42 +08:00
|
|
|
ocv_create_module()
|
|
|
|
|
|
|
|
ocv_target_link_libraries(${the_module} PRIVATE ade ${INF_ENGINE_TARGET})
|
|
|
|
if(HAVE_TBB)
|
|
|
|
ocv_target_link_libraries(${the_module} PRIVATE tbb)
|
|
|
|
endif()
|
|
|
|
|
2019-08-05 22:56:34 +08:00
|
|
|
ocv_add_accuracy_tests(${INF_ENGINE_TARGET})
|
2018-09-27 02:50:39 +08:00
|
|
|
# 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()
|
|
|
|
|
2019-12-06 21:36:42 +08:00
|
|
|
if(HAVE_FREETYPE)
|
2020-02-03 21:41:31 +08:00
|
|
|
ocv_target_compile_definitions(${the_module} PRIVATE -DHAVE_FREETYPE)
|
|
|
|
if(TARGET opencv_test_gapi)
|
|
|
|
ocv_target_compile_definitions(opencv_test_gapi PRIVATE -DHAVE_FREETYPE)
|
|
|
|
endif()
|
|
|
|
ocv_target_link_libraries(${the_module} PRIVATE ${FREETYPE_LIBRARIES})
|
|
|
|
ocv_target_include_directories(${the_module} PRIVATE ${FREETYPE_INCLUDE_DIRS})
|
2019-12-03 18:13:06 +08:00
|
|
|
endif()
|
|
|
|
|
2019-11-27 23:21:00 +08:00
|
|
|
if(HAVE_PLAIDML)
|
2020-02-03 21:41:31 +08:00
|
|
|
ocv_target_compile_definitions(${the_module} PRIVATE -DHAVE_PLAIDML)
|
|
|
|
if(TARGET opencv_test_gapi)
|
|
|
|
ocv_target_compile_definitions(opencv_test_gapi PRIVATE -DHAVE_PLAIDML)
|
|
|
|
endif()
|
|
|
|
ocv_target_link_libraries(${the_module} PRIVATE ${PLAIDML_LIBRARIES})
|
|
|
|
ocv_target_include_directories(${the_module} SYSTEM PRIVATE ${PLAIDML_INCLUDE_DIRS})
|
2019-11-27 23:21:00 +08:00
|
|
|
endif()
|
|
|
|
|
2018-09-27 02:50:39 +08:00
|
|
|
ocv_add_perf_tests()
|
2018-10-24 12:47:56 +08:00
|
|
|
ocv_add_samples()
|