1 if (DEFINED OPENCV_VERSION)
3 # ----------------------------------------------------------------------------
4 # CMake file for libflann. See root CMakeLists.txt
6 # ----------------------------------------------------------------------------
11 #set(CMAKE_BUILD_TYPE Debug)
14 ${CMAKE_CURRENT_SOURCE_DIR}
15 ${CMAKE_CURRENT_SOURCE_DIR}/algorithms
16 ${CMAKE_CURRENT_SOURCE_DIR}/util
17 ${CMAKE_CURRENT_SOURCE_DIR}/nn
18 "${CMAKE_CURRENT_SOURCE_DIR}/../include/flann"
22 file(GLOB_RECURSE flann_sources_cpp *.cpp)
23 file(GLOB_RECURSE flann_sources_h1 "${CMAKE_CURRENT_SOURCE_DIR}/../include/flann/*.h" "${CMAKE_CURRENT_SOURCE_DIR}/../include/flann/*.hpp")
24 file(GLOB_RECURSE flann_sources_h2 *.h *.hpp)
26 source_group("Src" FILES ${flann_sources_cpp})
27 source_group("Include\\External" FILES ${flann_sources_h1})
28 source_group("Include\\Internal" FILES ${flann_sources_h2})
30 set(flann_sources ${flann_sources_cpp} ${flann_sources_h1} ${flann_sources_h2})
32 # ----------------------------------------------------------------------------------
33 # Define the library target:
34 # ----------------------------------------------------------------------------------
36 set(the_target "flann")
38 add_library(${the_target} STATIC ${flann_sources})
39 add_definitions(-Dflann_EXPORTS)
42 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3")
43 add_definitions(-DJAS_WIN_MSVC_BUILD)
46 if(UNIX AND CMAKE_COMPILER_IS_GNUCXX)
47 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
48 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
51 set_target_properties(${the_target}
53 OUTPUT_NAME "${the_target}"
54 DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
55 ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/3rdparty/lib"
60 INCLUDE_DIRECTORIES(algorithms util nn .)
62 ADD_SUBDIRECTORY( tests )
64 file(GLOB_RECURSE SOURCES *.cpp)
65 #SET(SOURCES flann.cpp util/Random.cpp nn/Testing.cpp algorithms/NNIndex.cpp algorithms/dist.cpp util/Logger.cpp util/Saving.cpp)
67 ADD_LIBRARY(flann SHARED ${SOURCES})
68 ADD_LIBRARY(flann_s STATIC ${SOURCES})
73 RUNTIME DESTINATION matlab
77 RUNTIME DESTINATION python/pyflann/bindings
82 LIBRARY DESTINATION python/pyflann/bindings
88 RUNTIME DESTINATION bin
89 LIBRARY DESTINATION lib
90 ARCHIVE DESTINATION lib
94 # TARGETS flann flann_s
95 # ARCHIVE DESTINATION ${PROJECT_SOURCE_DIR}/python
96 # LIBRARY DESTINATION ${PROJECT_SOURCE_DIR}/python
100 FILES flann.h constants.h