Update to 2.0.0 tree from current Fremantle build
[opencv] / 3rdparty / flann / CMakeLists.txt
diff --git a/3rdparty/flann/CMakeLists.txt b/3rdparty/flann/CMakeLists.txt
new file mode 100644 (file)
index 0000000..ecd5001
--- /dev/null
@@ -0,0 +1,104 @@
+if (DEFINED OPENCV_VERSION)
+
+# ----------------------------------------------------------------------------
+#  CMake file for libflann. See root CMakeLists.txt
+#
+# ----------------------------------------------------------------------------
+project(flann)
+
+# List of C++ files:
+
+#set(CMAKE_BUILD_TYPE Debug)
+
+include_directories(
+   ${CMAKE_CURRENT_SOURCE_DIR}
+   ${CMAKE_CURRENT_SOURCE_DIR}/algorithms
+   ${CMAKE_CURRENT_SOURCE_DIR}/util
+   ${CMAKE_CURRENT_SOURCE_DIR}/nn
+   "${CMAKE_CURRENT_SOURCE_DIR}/../include/flann"
+   )
+
+# The .cpp files:
+file(GLOB_RECURSE flann_sources_cpp *.cpp)
+file(GLOB_RECURSE flann_sources_h1 "${CMAKE_CURRENT_SOURCE_DIR}/../include/flann/*.h" "${CMAKE_CURRENT_SOURCE_DIR}/../include/flann/*.hpp")
+file(GLOB_RECURSE flann_sources_h2 *.h *.hpp)
+
+source_group("Src" FILES ${flann_sources_cpp})
+source_group("Include\\External" FILES ${flann_sources_h1})
+source_group("Include\\Internal" FILES ${flann_sources_h2})
+
+set(flann_sources ${flann_sources_cpp} ${flann_sources_h1} ${flann_sources_h2})
+
+# ----------------------------------------------------------------------------------
+#           Define the library target:
+# ----------------------------------------------------------------------------------
+
+set(the_target "flann")
+
+add_library(${the_target} STATIC ${flann_sources})
+add_definitions(-Dflann_EXPORTS)
+
+if(MSVC)
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3")
+    add_definitions(-DJAS_WIN_MSVC_BUILD)
+endif()
+
+if(UNIX AND CMAKE_COMPILER_IS_GNUCXX)
+     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
+     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
+endif()
+
+set_target_properties(${the_target}
+   PROPERTIES
+   OUTPUT_NAME "${the_target}"
+   DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
+   ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/3rdparty/lib"
+   )
+
+ELSE()
+
+INCLUDE_DIRECTORIES(algorithms util nn .)
+
+ADD_SUBDIRECTORY( tests )
+
+file(GLOB_RECURSE SOURCES *.cpp)
+#SET(SOURCES flann.cpp util/Random.cpp nn/Testing.cpp algorithms/NNIndex.cpp algorithms/dist.cpp util/Logger.cpp util/Saving.cpp)
+
+ADD_LIBRARY(flann SHARED ${SOURCES})
+ADD_LIBRARY(flann_s STATIC ${SOURCES})
+
+IF(WIN32)
+INSTALL (
+    TARGETS flann
+    RUNTIME DESTINATION matlab 
+)
+INSTALL (
+    TARGETS flann
+    RUNTIME DESTINATION python/pyflann/bindings
+)
+ELSE(WIN32)
+INSTALL (
+    TARGETS flann
+    LIBRARY DESTINATION python/pyflann/bindings
+)
+ENDIF(WIN32)
+
+INSTALL (
+    TARGETS flann flann_s
+    RUNTIME DESTINATION bin
+    LIBRARY DESTINATION lib
+    ARCHIVE DESTINATION lib
+)
+
+# INSTALL (
+#     TARGETS flann flann_s
+#     ARCHIVE DESTINATION ${PROJECT_SOURCE_DIR}/python
+#     LIBRARY DESTINATION ${PROJECT_SOURCE_DIR}/python
+# )
+
+INSTALL (
+    FILES flann.h constants.h
+    DESTINATION include
+)
+
+ENDIF()