Publishing 2019 R3 content
[platform/upstream/dldt.git] / inference-engine / thirdparty / fluid / modules / gapi / cmake / standalone.cmake
1 if("${CMAKE_BUILD_TYPE}" STREQUAL "")
2   set(CMAKE_BUILD_TYPE "Release")
3 endif()
4
5 if (NOT TARGET ade )
6   find_package(ade 0.1.0 REQUIRED)
7 endif()
8
9 set(FLUID_TARGET fluid)
10 set(FLUID_ROOT "${CMAKE_CURRENT_LIST_DIR}/../")
11
12 file(GLOB FLUID_includes "${FLUID_ROOT}/include/opencv2/*.hpp"
13                          "${FLUID_ROOT}/include/opencv2/gapi/g*.hpp"
14                          "${FLUID_ROOT}/include/opencv2/gapi/util/*.hpp"
15                          "${FLUID_ROOT}/include/opencv2/gapi/own/*.hpp"
16                          "${FLUID_ROOT}/include/opencv2/gapi/fluid/*.hpp")
17 file(GLOB FLUID_sources  "${FLUID_ROOT}/src/api/g*.cpp"
18                          "${FLUID_ROOT}/src/compiler/*.cpp"
19                          "${FLUID_ROOT}/src/compiler/passes/*.cpp"
20                          "${FLUID_ROOT}/src/executor/*.cpp"
21                          "${FLUID_ROOT}/src/backends/fluid/*.cpp"
22                          "${FLUID_ROOT}/src/backends/common/*.cpp")
23
24 add_library(${FLUID_TARGET} STATIC ${FLUID_includes} ${FLUID_sources})
25
26 target_include_directories(${FLUID_TARGET}
27   PUBLIC          $<BUILD_INTERFACE:${FLUID_ROOT}/include>
28   PRIVATE         ${FLUID_ROOT}/src)
29
30 target_compile_definitions(${FLUID_TARGET} PUBLIC GAPI_STANDALONE
31 # This preprocessor definition resolves symbol clash when
32 # standalone fluid meets gapi ocv module in one application
33                                            PUBLIC cv=fluidcv)
34
35 set_target_properties(${FLUID_TARGET} PROPERTIES POSITION_INDEPENDENT_CODE True)
36 set_property(TARGET ${FLUID_TARGET} PROPERTY CXX_STANDARD 11)
37
38 if(MSVC)
39   target_compile_options(${FLUID_TARGET} PUBLIC "/wd4251")
40   target_compile_options(${FLUID_TARGET} PUBLIC "/wd4275")
41   target_compile_definitions(${FLUID_TARGET} PRIVATE _CRT_SECURE_NO_DEPRECATE)
42 endif()
43
44 target_link_libraries(${FLUID_TARGET} PRIVATE ade)