Skip to content

Commit

Permalink
flann: update
Browse files Browse the repository at this point in the history
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
  • Loading branch information
TimothyGu committed Aug 11, 2014
1 parent 9ed7f41 commit bc62054
Show file tree
Hide file tree
Showing 2 changed files with 126 additions and 118 deletions.
237 changes: 122 additions & 115 deletions src/flann-1-fixes.patch
@@ -1,23 +1,21 @@
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.)

Signed-off-by: Timothy Gu <timothygu99@gmail.com>

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 )
Expand All @@ -34,183 +32,192 @@ 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 <timothygu99@gmail.com>
Date: Mon, 11 Aug 2014 10:09:08 -0700
Subject: [PATCH 2/3] Fix gcc compile flags

Signed-off-by: Timothy Gu <timothygu99@gmail.com>

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 <timothygu99@gmail.com>
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 <timothygu99@gmail.com>

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
+ TARGETS flann
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

7 changes: 4 additions & 3 deletions src/flann.mk
Expand Up @@ -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)
Expand All @@ -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

0 comments on commit bc62054

Please sign in to comment.