Update to 2.0.0 tree from current Fremantle build
[opencv] / src / ml / CMakeLists.txt
1 # ----------------------------------------------------------------------------\r
2 #  CMake file for ml. See root CMakeLists.txt\r
3 # ----------------------------------------------------------------------------\r
4 project(ml)\r
5 \r
6 file(GLOB lib_srcs "*.cpp")\r
7 source_group("Src" FILES ${lib_srcs})\r
8 set(lib_hdrs ${CMAKE_CURRENT_SOURCE_DIR}/../../include/opencv/ml.h)\r
9 source_group("Include\\External" FILES ${lib_hdrs})\r
10 file(GLOB lib_int_hdrs "*.h*")\r
11 source_group("Include\\Internal" FILES ${lib_int_hdrs})\r
12 \r
13 add_definitions(-DCVAPI_EXPORTS)\r
14 \r
15 include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../../include/opencv"\r
16                     "${CMAKE_CURRENT_SOURCE_DIR}"\r
17                     "${CMAKE_CURRENT_BINARY_DIR}")\r
18 \r
19 set(the_target "ml")\r
20 \r
21 add_library(${the_target} SHARED ${lib_srcs} ${lib_hdrs} ${lib_int_hdrs})\r
22 \r
23 if(PCHSupport_FOUND)\r
24     set(pch_header ${CMAKE_CURRENT_SOURCE_DIR}/_ml.h)\r
25     if(${CMAKE_GENERATOR} MATCHES "Visual*" OR ${CMAKE_GENERATOR} MATCHES "Xcode*")\r
26         if(${CMAKE_GENERATOR} MATCHES "Visual*")\r
27             set(${the_target}_pch "ml.cpp")\r
28         endif()            \r
29         add_native_precompiled_header(${the_target} ${pch_header})\r
30     elseif(CMAKE_COMPILER_IS_GNUCXX AND ${CMAKE_GENERATOR} MATCHES ".*Makefiles")\r
31         add_precompiled_header(${the_target} ${pch_header})\r
32     endif()\r
33 endif()\r
34 \r
35 # For dynamic link numbering convenions\r
36 set_target_properties(${the_target} PROPERTIES\r
37     VERSION ${OPENCV_VERSION}\r
38     SOVERSION ${OPENCV_SOVERSION}\r
39     OUTPUT_NAME "${the_target}${OPENCV_DLLVERSION}"\r
40     )\r
41 \r
42 # Additional target properties\r
43 set_target_properties(${the_target} PROPERTIES\r
44         DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"\r
45         ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib/"\r
46         RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/"\r
47         )\r
48 \r
49 # Linker flag needed for Windows Mobile 5 and 6 SDKs\r
50 if(MSVC AND CMAKE_CROSSCOMPILING)\r
51         set_target_properties(${the_target} PROPERTIES\r
52                 LINK_FLAGS "/NODEFAULTLIB:secchk"\r
53                 )\r
54 endif()\r
55 \r
56 # Add the required libraries for linking:\r
57 target_link_libraries(${the_target} ${OPENCV_LINKER_LIBS} cxcore)\r
58 \r
59 # Dependencies of this target:\r
60 add_dependencies(${the_target} cxcore)\r
61 \r
62 install(TARGETS ${the_target}\r
63         RUNTIME DESTINATION bin COMPONENT main\r
64         LIBRARY DESTINATION lib COMPONENT main\r
65         ARCHIVE DESTINATION lib COMPONENT main)\r
66 \r
67 install(FILES ${lib_hdrs}\r
68         DESTINATION include/opencv\r
69         COMPONENT main)\r