diff --git a/src/flann-1-fixes.patch b/src/flann-1-fixes.patch index d68f630aea..bbdf800bf4 100644 --- a/src/flann-1-fixes.patch +++ b/src/flann-1-fixes.patch @@ -1,12 +1,10 @@ This file is part of MXE. See index.html for further information. -Contains ad hoc patches for cross building. - -From fd5ab57afe6608de707ccdf3bc4eefa9a07117cf Mon Sep 17 00:00:00 2001 +From cdd24cfc910a9a171451ad005fbcaa5530590609 Mon Sep 17 00:00:00 2001 From: MXE Date: Sun, 10 Aug 2014 19:35:55 -0700 -Subject: [PATCH 1/2] Disable targets +Subject: [PATCH 1/3] Disable targets Disable examples, test, and documentation in the CMakeLists.txt file. (The file unfortunately does not provide switches for this purpose.) @@ -14,10 +12,10 @@ Disable examples, test, and documentation in the CMakeLists.txt file. Signed-off-by: Timothy Gu diff --git a/CMakeLists.txt b/CMakeLists.txt -index 350eb8f..6ab370c 100644 +index 3279915..c1f930a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -143,9 +143,9 @@ endif(WIN32) +@@ -155,9 +155,9 @@ endif(WIN32) add_subdirectory( cmake ) add_subdirectory( src ) @@ -34,171 +32,175 @@ index 350eb8f..6ab370c 100644 1.9.1 -From 9081c609e07642e9316bd7ba846a619539030e17 Mon Sep 17 00:00:00 2001 -From: MXE -Date: Sun, 10 Aug 2014 19:43:25 -0700 -Subject: [PATCH 2/2] Use BUILD_SHARED_LIBS to control which kind of libs to +From 2102cb0509bd4ab569be05472baaef2970129124 Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Mon, 11 Aug 2014 10:09:08 -0700 +Subject: [PATCH 2/3] Fix gcc compile flags + +Signed-off-by: Timothy Gu + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c1f930a..02928d3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -146,12 +146,12 @@ include_directories(${PROJECT_SOURCE_DIR}/src/cpp) + # require proper c++ + #add_definitions( "-Wall -ansi -pedantic" ) + # HDF5 uses long long which is not ansi +-if (WIN32) ++if (WIN32 AND NOT CMAKE_COMPILER_IS_GNUCC) + # lots of warnings with cl.exe right now, use /W1 + add_definitions("/W1 -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS /bigobj") +-else(WIN32) ++else(WIN32 AND NOT CMAKE_COMPILER_IS_GNUCC) + add_definitions( "-Wall -Wno-unknown-pragmas -Wno-unused-function" ) +-endif(WIN32) ++endif(WIN32 AND NOT CMAKE_COMPILER_IS_GNUCC) + + add_subdirectory( cmake ) + add_subdirectory( src ) +-- +1.9.1 + + +From 7f37bdf57f85753e0258be10bc7b1f98535145be Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Mon, 11 Aug 2014 09:57:42 -0700 +Subject: [PATCH 3/3] Use BUILD_SHARED_LIBS to control which kind of libs to build -Also removes the Linux-only --whole-archive trick. +Also removes the Linux-only --whole-archive trick, and CUDA libs. Signed-off-by: Timothy Gu diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt -index 0e9c544..333fb89 100644 +index 78a204a..7e6e353 100644 --- a/src/cpp/CMakeLists.txt +++ b/src/cpp/CMakeLists.txt -@@ -8,40 +8,20 @@ file(GLOB_RECURSE C_SOURCES flann.cpp) +@@ -8,58 +8,17 @@ file(GLOB_RECURSE C_SOURCES flann.cpp) file(GLOB_RECURSE CPP_SOURCES flann_cpp.cpp) file(GLOB_RECURSE CU_SOURCES *.cu) -add_library(flann_cpp_s STATIC ${CPP_SOURCES}) --if(CMAKE_COMPILER_IS_GNUCC) +-if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG) - set_target_properties(flann_cpp_s PROPERTIES COMPILE_FLAGS -fPIC) -endif() --set_property(TARGET flann_cpp_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) +-set_property(TARGET flann_cpp_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC FLANN_USE_CUDA) - - if (BUILD_CUDA_LIB) - if(CMAKE_COMPILER_IS_GNUCC) - set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS};-Xcompiler;-fPIC;-arch=sm_13;--compiler-bindir=${NVCC_COMPILER_BINDIR}" ) - else() - set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS};-arch=sm_13" ) - endif() +-if (BUILD_CUDA_LIB) +- SET(CUDA_NVCC_FLAGS -DFLANN_USE_CUDA) +- if(CMAKE_COMPILER_IS_GNUCC) +- set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS};-Xcompiler;-fPIC;-arch=sm_13" ) +- if (NVCC_COMPILER_BINDIR) +- set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS};--compiler-bindir=${NVCC_COMPILER_BINDIR}") +- endif() +- else() +- set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS};-arch=sm_13" ) +- endif() - cuda_add_library(flann_cuda_s STATIC ${CU_SOURCES}) - set_property(TARGET flann_cuda_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) - endif() +-endif() -if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC) - add_library(flann_cpp SHARED "") - set_target_properties(flann_cpp PROPERTIES LINKER_LANGUAGE CXX) - target_link_libraries(flann_cpp -Wl,-whole-archive flann_cpp_s -Wl,-no-whole-archive) -- -+ add_library(flann_cpp ${CPP_SOURCES}) - if (BUILD_CUDA_LIB) ++add_library(flann_cpp ${CPP_SOURCES}) + +- if (BUILD_CUDA_LIB) - cuda_add_library(flann_cuda SHARED "") - set_target_properties(flann_cuda PROPERTIES LINKER_LANGUAGE CXX) - target_link_libraries(flann_cuda -Wl,-whole-archive flann_cuda_s -Wl,-no-whole-archive) +- set_property(TARGET flann_cpp_s PROPERTY COMPILE_DEFINITIONS FLANN_USE_CUDA) - # target_link_libraries(flann_cuda cudpp_x86_64) -+ cuda_add_library(flann_cuda ${CPP_SOURCES}) - endif() +- endif() -else() - add_library(flann_cpp SHARED ${CPP_SOURCES}) - if (BUILD_CUDA_LIB) - cuda_add_library(flann_cuda SHARED ${CPP_SOURCES}) +- set_property(TARGET flann_cpp PROPERTY COMPILE_DEFINITIONS FLANN_USE_CUDA) - endif() -endif() - +- +-set_target_properties(flann_cpp PROPERTIES +- VERSION ${FLANN_VERSION} +- SOVERSION ${FLANN_SOVERSION} +- DEFINE_SYMBOL FLANN_EXPORTS +-) +- +-if (BUILD_CUDA_LIB) +- set_target_properties(flann_cuda PROPERTIES +if (BUILD_SHARED_LIBS) - set_target_properties(flann_cpp PROPERTIES - VERSION ${FLANN_VERSION} - SOVERSION ${FLANN_SOVERSION} -@@ -55,18 +35,25 @@ if (BUILD_CUDA_LIB) ++ set_target_properties(flann_cpp PROPERTIES + VERSION ${FLANN_VERSION} + SOVERSION ${FLANN_SOVERSION} DEFINE_SYMBOL FLANN_EXPORTS ) - endif() +else() + set_property(TARGET flann_cpp PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) -+ if (BUILD_CUDA_LIB) -+ set_property(TARGET flann_cuda PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) -+ endif() -+endif() - - - #debug libraries --add_library(flann_cpp-gd SHARED ${CPP_SOURCES}) -+add_library(flann_cpp-gd ${CPP_SOURCES}) -+if (BUILD_SHARED_LIBS) - set_target_properties(flann_cpp-gd PROPERTIES - COMPILE_FLAGS ${CMAKE_CXX_FLAGS_DEBUG} - DEFINE_SYMBOL FLANN_EXPORTS - ) -- --add_library(flann_cpp_s-gd STATIC ${CPP_SOURCES}) --set_target_properties(flann_cpp_s-gd PROPERTIES COMPILE_FLAGS ${CMAKE_CXX_FLAGS_DEBUG}) --set_property(TARGET flann_cpp_s-gd PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) -+else() -+set_target_properties(flann_cpp-gd PROPERTIES COMPILE_FLAGS ${CMAKE_CXX_FLAGS_DEBUG}) -+set_property(TARGET flann_cpp-gd PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) -+endif() - + endif() -@@ -90,37 +77,29 @@ if (HDF5_FOUND) - endif() +@@ -76,60 +35,39 @@ endif() - if (BUILD_CUDA_LIB) -- add_library(flann_cuda-gd SHARED ${CPP_SOURCES}) -+ add_library(flann_cuda-gd ${CPP_SOURCES}) -+ if (BUILD_SHARED_LIBS) - set_target_properties(flann_cuda-gd PROPERTIES - COMPILE_FLAGS ${CMAKE_CXX_FLAGS_DEBUG} - DEFINE_SYMBOL FLANN_EXPORTS - ) -- -- add_library(flann_cuda_s-gd STATIC ${CPP_SOURCES}) -- set_target_properties(flann_cuda_s-gd PROPERTIES COMPILE_FLAGS ${CMAKE_CXX_FLAGS_DEBUG}) -- set_property(TARGET flann_cuda_s-gd PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) -+ else() -+ set_target_properties(flann_cuda-gd PROPERTIES COMPILE_FLAGS ${CMAKE_CXX_FLAGS_DEBUG}) -+ set_property(TARGET flann_cuda-gd PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) -+ endif() - endif() if (BUILD_C_BINDINGS) - add_library(flann_s STATIC ${C_SOURCES}) -- if(CMAKE_COMPILER_IS_GNUCC) +- if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG) - set_target_properties(flann_s PROPERTIES COMPILE_FLAGS -fPIC) - endif() - set_property(TARGET flann_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) -- ++ add_library(flann ${C_SOURCES}) + - if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC) - add_library(flann SHARED "") - set_target_properties(flann PROPERTIES LINKER_LANGUAGE CXX) - target_link_libraries(flann -Wl,-whole-archive flann_s -Wl,-no-whole-archive) -+ add_library(flann ${C_SOURCES}) + if (NOT BUILD_SHARED_LIBS) -+ set_property(TARGET flann PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) ++ set_property(TARGET flann PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) else() - add_library(flann SHARED ${C_SOURCES}) -- endif() ++ set_target_properties(flann PROPERTIES ++ VERSION ${FLANN_VERSION} ++ SOVERSION ${FLANN_SOVERSION} ++ DEFINE_SYMBOL FLANN_EXPORTS ++ ) + endif() - - set_target_properties(flann PROPERTIES - VERSION ${FLANN_VERSION} - SOVERSION ${FLANN_SOVERSION} - DEFINE_SYMBOL FLANN_EXPORTS - ) -+ endif() - endif() - - -@@ -129,13 +108,15 @@ if (BUILD_C_BINDINGS) - install ( - TARGETS flann - RUNTIME DESTINATION share/flann/matlab -+ LIBRARY DESTINATION ${FLANN_LIB_INSTALL_DIR} -+ ARCHIVE DESTINATION ${FLANN_LIB_INSTALL_DIR} - ) +- set_target_properties(flann PROPERTIES +- VERSION ${FLANN_VERSION} +- SOVERSION ${FLANN_SOVERSION} +- DEFINE_SYMBOL FLANN_EXPORTS +- ) +-endif() +- +-if(WIN32) +-if (BUILD_C_BINDINGS) +- install ( +- TARGETS flann +- RUNTIME DESTINATION share/flann/matlab +- ) endif() - endif(WIN32) - +-endif(WIN32) +- install ( -- TARGETS flann_cpp flann_cpp_s flann_cpp-gd flann_cpp_s-gd -+ TARGETS flann_cpp flann_cpp-gd +- TARGETS flann_cpp flann_cpp_s ++ TARGETS flann_cpp RUNTIME DESTINATION bin LIBRARY DESTINATION ${FLANN_LIB_INSTALL_DIR} ARCHIVE DESTINATION ${FLANN_LIB_INSTALL_DIR} -@@ -143,7 +124,7 @@ install ( + ) - if (BUILD_CUDA_LIB) - install ( -- TARGETS flann_cuda flann_cuda_s flann_cuda-gd flann_cuda_s-gd -+ TARGETS flann_cuda flann_cuda-gd - RUNTIME DESTINATION bin - LIBRARY DESTINATION ${FLANN_LIB_INSTALL_DIR} - ARCHIVE DESTINATION ${FLANN_LIB_INSTALL_DIR} -@@ -152,7 +133,7 @@ endif() - +-if (BUILD_CUDA_LIB) +- install ( +- TARGETS flann_cuda flann_cuda_s +- RUNTIME DESTINATION bin +- LIBRARY DESTINATION ${FLANN_LIB_INSTALL_DIR} +- ARCHIVE DESTINATION ${FLANN_LIB_INSTALL_DIR} +- ) +-endif() +- if (BUILD_C_BINDINGS) install ( - TARGETS flann flann_s @@ -206,11 +208,16 @@ index 0e9c544..333fb89 100644 RUNTIME DESTINATION bin LIBRARY DESTINATION ${FLANN_LIB_INSTALL_DIR} ARCHIVE DESTINATION ${FLANN_LIB_INSTALL_DIR} -@@ -164,3 +145,4 @@ install ( - DESTINATION include - FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp" - ) -+ + ) ++ if (WIN32 AND BUILD_SHARED_LIBS) ++ install ( ++ TARGETS flann ++ RUNTIME DESTINATION share/flann/matlab ++ ) ++ endif(WIN32 AND BUILD_SHARED_LIBS) + endif() + + install ( -- 1.9.1 diff --git a/src/flann.mk b/src/flann.mk index c4e62fb8a0..af31d7337e 100644 --- a/src/flann.mk +++ b/src/flann.mk @@ -3,8 +3,8 @@ PKG := flann $(PKG)_IGNORE := -$(PKG)_VERSION := 1.7.1 -$(PKG)_CHECKSUM := 61b9858620528919ea60a2a4b085ccc2b3c2d138 +$(PKG)_VERSION := 1.8.4 +$(PKG)_CHECKSUM := e03d9d458757f70f6af1d330ff453e3621550a4f $(PKG)_SUBDIR := flann-$($(PKG)_VERSION)-src $(PKG)_FILE := flann-$($(PKG)_VERSION)-src.zip $(PKG)_URL := http://people.cs.ubc.ca/~mariusm/uploads/FLANN/$($(PKG)_FILE) @@ -26,6 +26,7 @@ define $(PKG)_BUILD -DCMAKE_BUILD_TYPE=Release \ -DBUILD_CUDA_LIB=OFF \ -DBUILD_MATLAB_BINDINGS=OFF \ - -DBUILD_PYTHON_BINDINGS=OFF + -DBUILD_PYTHON_BINDINGS=OFF \ + -DUSE_OPENMP=OFF $(MAKE) -C '$(1)' -j '$(JOBS)' install VERBOSE=1 endef