Update to 2.0.0 tree from current Fremantle build
[opencv] / src / cxcore / CMakeLists.txt
diff --git a/src/cxcore/CMakeLists.txt b/src/cxcore/CMakeLists.txt
new file mode 100644 (file)
index 0000000..7d36c6c
--- /dev/null
@@ -0,0 +1,75 @@
+# ----------------------------------------------------------------------------\r
+#  CMake file for cxcore. See root CMakeLists.txt\r
+# ----------------------------------------------------------------------------\r
+project(cxcore)\r
+\r
+file(GLOB lib_srcs "*.cpp")\r
+source_group("Src" FILES ${lib_srcs})\r
+\r
+add_definitions(-DCVAPI_EXPORTS)\r
+\r
+include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/include"\r
+                    "${CMAKE_CURRENT_SOURCE_DIR}/../../include/opencv"\r
+                                       "${CMAKE_CURRENT_BINARY_DIR}")\r
+\r
+set(lib_hdr_names cxcore.h cxcore.hpp cxerror.h cxmat.hpp cxmisc.h cxoperations.hpp cxtypes.h cvver.h cvwimage.h cxflann.h)\r
+set(lib_hdrs)\r
+foreach(h ${lib_hdr_names})\r
+    list(APPEND lib_hdrs "${CMAKE_CURRENT_SOURCE_DIR}/../../include/opencv/${h}")\r
+endforeach()\r
+source_group("Include\\External" FILES ${lib_hdrs})\r
+\r
+file(GLOB lib_int_hdrs "*.h*")\r
+source_group("Include\\Internal" FILES ${lib_int_hdrs})\r
+\r
+set(the_target "cxcore")\r
+\r
+add_library(${the_target} SHARED ${lib_srcs} ${lib_hdrs} ${lib_int_hdrs})\r
+\r
+if(PCHSupport_FOUND)\r
+    set(pch_header ${CMAKE_CURRENT_SOURCE_DIR}/_cxcore.h)\r
+    if(${CMAKE_GENERATOR} MATCHES "Visual*" OR ${CMAKE_GENERATOR} MATCHES "Xcode*")\r
+        if(${CMAKE_GENERATOR} MATCHES "Visual*")\r
+            set(${the_target}_pch "cxprecomp.cpp")\r
+        endif()            \r
+        add_native_precompiled_header(${the_target} ${pch_header})\r
+    elseif(CMAKE_COMPILER_IS_GNUCXX AND ${CMAKE_GENERATOR} MATCHES ".*Makefiles")\r
+        add_precompiled_header(${the_target} ${pch_header})\r
+    endif()\r
+endif()\r
+\r
+# For dynamic link numbering convenions\r
+set_target_properties(${the_target} PROPERTIES\r
+    VERSION ${OPENCV_VERSION}\r
+    SOVERSION ${OPENCV_SOVERSION}\r
+    OUTPUT_NAME "${the_target}${OPENCV_DLLVERSION}"\r
+    )\r
+\r
+# Additional target properties\r
+set_target_properties(${the_target} PROPERTIES\r
+    DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"\r
+       ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib/"\r
+       RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/"\r
+       )\r
+\r
+# Add the required libraries for linking:\r
+target_link_libraries(${the_target} ${OPENCV_LINKER_LIBS} ${IPP_LIBS} opencv_lapack zlib flann)\r
+\r
+# Linker flag needed for Windows Mobile 5 and 6 SDKs\r
+if(MSVC AND CMAKE_CROSSCOMPILING)\r
+       set_target_properties(${the_target} PROPERTIES\r
+               LINK_FLAGS "/NODEFAULTLIB:secchk"\r
+               )\r
+endif()\r
+\r
+add_dependencies(${the_target} opencv_lapack zlib)\r
+\r
+install(TARGETS ${the_target}\r
+    RUNTIME DESTINATION bin COMPONENT main\r
+       LIBRARY DESTINATION lib COMPONENT main\r
+       ARCHIVE DESTINATION lib COMPONENT main)\r
+\r
+# install each module headers separately\r
+install(FILES ${lib_hdrs}\r
+        DESTINATION include/opencv\r
+        COMPONENT main)\r