63bbff6355bc1d87d368b4b4ac886009f6201f72
[platform/upstream/opencv.git] / apps / haartraining / CMakeLists.txt
1 SET(OPENCV_HAARTRAINING_DEPS opencv_core opencv_imgproc opencv_photo opencv_ml opencv_highgui opencv_objdetect opencv_calib3d opencv_video opencv_features2d opencv_flann opencv_legacy)
2 ocv_check_dependencies(${OPENCV_HAARTRAINING_DEPS})
3
4 if(NOT OCV_DEPENDENCIES_FOUND)
5   return()
6 endif()
7
8 project(haartraining)
9
10 ocv_include_directories("${CMAKE_CURRENT_SOURCE_DIR}" "${OpenCV_SOURCE_DIR}/include/opencv")
11 ocv_include_modules(${OPENCV_HAARTRAINING_DEPS})
12
13 if(WIN32)
14   link_directories(${CMAKE_CURRENT_BINARY_DIR})
15 endif()
16
17 link_libraries(${OPENCV_HAARTRAINING_DEPS} opencv_haartraining_engine)
18
19 # -----------------------------------------------------------
20 #  Library
21 # -----------------------------------------------------------
22 set(cvhaartraining_lib_src
23   _cvcommon.h
24   cvclassifier.h
25   _cvhaartraining.h
26   cvhaartraining.h
27   cvboost.cpp
28   cvcommon.cpp
29   cvhaarclassifier.cpp
30   cvhaartraining.cpp
31   cvsamples.cpp
32   )
33
34 add_library(opencv_haartraining_engine STATIC ${cvhaartraining_lib_src})
35 set_target_properties(opencv_haartraining_engine PROPERTIES
36                       DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
37                       ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
38                       RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
39                       INSTALL_NAME_DIR lib
40                      )
41
42 # -----------------------------------------------------------
43 #  haartraining
44 # -----------------------------------------------------------
45
46 add_executable(opencv_haartraining cvhaartraining.h haartraining.cpp)
47 set_target_properties(opencv_haartraining PROPERTIES
48                       DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
49                       OUTPUT_NAME "opencv_haartraining")
50
51 # -----------------------------------------------------------
52 #  createsamples
53 # -----------------------------------------------------------
54
55 add_executable(opencv_createsamples cvhaartraining.h createsamples.cpp)
56 set_target_properties(opencv_createsamples PROPERTIES
57                       DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
58                       OUTPUT_NAME "opencv_createsamples")
59
60 # -----------------------------------------------------------
61 #  performance
62 # -----------------------------------------------------------
63 add_executable(opencv_performance performance.cpp)
64 set_target_properties(opencv_performance PROPERTIES
65                       DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
66                       OUTPUT_NAME "opencv_performance")
67
68 # -----------------------------------------------------------
69 #  Install part
70 # -----------------------------------------------------------
71
72 if(INSTALL_CREATE_DISTRIB)
73   if(BUILD_SHARED_LIBS)
74     install(TARGETS opencv_haartraining RUNTIME DESTINATION ${OPENCV_BIN_INSTALL_PATH} CONFIGURATIONS Release COMPONENT dev)
75     install(TARGETS opencv_createsamples RUNTIME DESTINATION ${OPENCV_BIN_INSTALL_PATH} CONFIGURATIONS Release COMPONENT dev)
76     install(TARGETS opencv_performance RUNTIME DESTINATION ${OPENCV_BIN_INSTALL_PATH} CONFIGURATIONS Release COMPONENT dev)
77   endif()
78 else()
79   install(TARGETS opencv_haartraining RUNTIME DESTINATION ${OPENCV_BIN_INSTALL_PATH} COMPONENT dev)
80   install(TARGETS opencv_createsamples RUNTIME DESTINATION ${OPENCV_BIN_INSTALL_PATH} COMPONENT dev)
81   install(TARGETS opencv_performance RUNTIME DESTINATION ${OPENCV_BIN_INSTALL_PATH} COMPONENT dev)
82 endif()
83
84 if(ENABLE_SOLUTION_FOLDERS)
85   set_target_properties(opencv_performance PROPERTIES FOLDER "applications")
86   set_target_properties(opencv_createsamples PROPERTIES FOLDER "applications")
87   set_target_properties(opencv_haartraining PROPERTIES FOLDER "applications")
88   set_target_properties(opencv_haartraining_engine PROPERTIES FOLDER "applications")
89 endif()