Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Tetragramm
GitHub Repository: Tetragramm/opencv
Path: blob/master/apps/CMakeLists.txt
16334 views
1
add_definitions(-D__OPENCV_BUILD=1)
2
add_definitions(-D__OPENCV_APPS=1)
3
4
# Unified function for creating OpenCV applications:
5
# ocv_add_application(tgt [MODULES <m1> [<m2> ...]] SRCS <src1> [<src2> ...])
6
function(ocv_add_application the_target)
7
cmake_parse_arguments(APP "" "" "MODULES;SRCS" ${ARGN})
8
ocv_check_dependencies(${APP_MODULES})
9
if(NOT OCV_DEPENDENCIES_FOUND)
10
return()
11
endif()
12
13
project(${the_target})
14
ocv_target_include_modules_recurse(${the_target} ${APP_MODULES})
15
ocv_target_include_directories(${the_target} PRIVATE "${OpenCV_SOURCE_DIR}/include/opencv")
16
ocv_add_executable(${the_target} ${APP_SRCS})
17
ocv_target_link_libraries(${the_target} ${APP_MODULES})
18
set_target_properties(${the_target} PROPERTIES
19
DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
20
ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
21
RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
22
OUTPUT_NAME "${the_target}")
23
24
if(ENABLE_SOLUTION_FOLDERS)
25
set_target_properties(${the_target} PROPERTIES FOLDER "applications")
26
endif()
27
28
if(INSTALL_CREATE_DISTRIB)
29
if(BUILD_SHARED_LIBS)
30
install(TARGETS ${the_target} RUNTIME DESTINATION ${OPENCV_BIN_INSTALL_PATH} CONFIGURATIONS Release COMPONENT dev)
31
endif()
32
else()
33
install(TARGETS ${the_target} RUNTIME DESTINATION ${OPENCV_BIN_INSTALL_PATH} COMPONENT dev)
34
endif()
35
endfunction()
36
37
link_libraries(${OPENCV_LINKER_LIBS})
38
39
macro(ocv_add_app directory)
40
if(DEFINED BUILD_APPS_LIST)
41
list(FIND BUILD_APPS_LIST ${directory} _index)
42
if (${_index} GREATER -1)
43
add_subdirectory(${directory})
44
else()
45
message(STATUS "Skip OpenCV app: ${directory}")
46
endif()
47
else()
48
add_subdirectory(${directory})
49
endif()
50
endmacro()
51
52
ocv_add_app(traincascade)
53
ocv_add_app(createsamples)
54
ocv_add_app(annotation)
55
ocv_add_app(visualisation)
56
ocv_add_app(interactive-calibration)
57
ocv_add_app(version)
58
59