>From 6cf99670d52eedcba6b184f3e4fb7d9ebf96e7ef Mon Sep 17 00:00:00 2001 From: Martin Lambers Date: Thu, 6 Dec 2012 13:26:53 +0100 Subject: [PATCH 4/5] Add package flann. This is a prerequisite for PCL (Point Cloud Library). --- index.html | 5 ++ src/flann-1-fix-pkgconfig.patch | 16 ++++ src/flann-2-disable-targets.patch | 22 ++++++ src/flann-3-disable-sharedlibs.patch | 144 ++++++++++++++++++++++++++++++++++ src/flann.mk | 24 ++++++ 5 files changed, 211 insertions(+) create mode 100644 src/flann-1-fix-pkgconfig.patch create mode 100644 src/flann-2-disable-targets.patch create mode 100644 src/flann-3-disable-sharedlibs.patch create mode 100644 src/flann.mk diff --git a/index.html b/index.html index 911a8d3..58e60a7 100644 --- a/index.html +++ b/index.html @@ -1064,6 +1064,11 @@ USE_OSGPLUGIN(<plugin2>) FLAC + flann + 1.7.1 + FLANN + + fltk 1.3.1 FLTK diff --git a/src/flann-1-fix-pkgconfig.patch b/src/flann-1-fix-pkgconfig.patch new file mode 100644 index 0000000..b180d0d --- /dev/null +++ b/src/flann-1-fix-pkgconfig.patch @@ -0,0 +1,16 @@ +This file is part of MXE. +See index.html for further information. + +Fix flann.pc to link with the static libraries. +diff -uNr flann-1.7.1-src/cmake/flann.pc.in flann-1.7.1-src.patched/cmake/flann.pc.in +--- flann-1.7.1-src/cmake/flann.pc.in 2011-12-23 12:16:09.000000000 +0100 ++++ flann-1.7.1-src.patched/cmake/flann.pc.in 2012-10-01 12:46:31.617169719 +0200 +@@ -8,6 +8,6 @@ + Description: @PKG_DESC@ + Version: @FLANN_VERSION@ + Requires: @PKG_EXTERNAL_DEPS@ +-Libs: -L${libdir} -lflann_cpp -lflann_cpp-gd ++Libs: -L${libdir} -lflann_cpp_s -lflann_cpp_s-gd + Cflags: -I${includedir} + + diff --git a/src/flann-2-disable-targets.patch b/src/flann-2-disable-targets.patch new file mode 100644 index 0000000..b5cea03 --- /dev/null +++ b/src/flann-2-disable-targets.patch @@ -0,0 +1,22 @@ +This file is part of MXE. +See index.html for further information. + +Disable examples, test, and documentation in the CMakeLists.txt file. +(The file unfortunately does not provide switches for this purpose.) +diff -uNr flann-1.7.1-src/CMakeLists.txt flann-1.7.1-src.patched/CMakeLists.txt +--- flann-1.7.1-src/CMakeLists.txt 2011-12-23 12:16:09.000000000 +0100 ++++ flann-1.7.1-src.patched/CMakeLists.txt 2012-10-01 12:32:59.865199865 +0200 +@@ -143,9 +143,9 @@ + + add_subdirectory( cmake ) + add_subdirectory( src ) +-add_subdirectory( examples ) +-add_subdirectory( test ) +-add_subdirectory( doc ) ++#add_subdirectory( examples ) ++#add_subdirectory( test ) ++#add_subdirectory( doc ) + + + # CPACK options + diff --git a/src/flann-3-disable-sharedlibs.patch b/src/flann-3-disable-sharedlibs.patch new file mode 100644 index 0000000..f54ccda --- /dev/null +++ b/src/flann-3-disable-sharedlibs.patch @@ -0,0 +1,144 @@ +This file is part of MXE. +See index.html for further information. + +Disable building and installing dynamic libraries in the CMakeLists.txt file. +(The file unfortunately does not provide switches for this purpose.) +diff -uNr flann-1.7.1-src/src/cpp/CMakeLists.txt flann-1.7.1-src.patched/src/cpp/CMakeLists.txt +--- flann-1.7.1-src/src/cpp/CMakeLists.txt 2011-12-23 12:16:09.000000000 +0100 ++++ flann-1.7.1-src.patched/src/cpp/CMakeLists.txt 2012-10-01 12:36:59.013191056 +0200 +@@ -24,29 +24,29 @@ + set_property(TARGET flann_cuda_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) + 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) +- +- 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) +- # target_link_libraries(flann_cuda cudpp_x86_64) +- endif() +-else() +- add_library(flann_cpp SHARED ${CPP_SOURCES}) +- if (BUILD_CUDA_LIB) +- cuda_add_library(flann_cuda SHARED ${CPP_SOURCES}) +- endif() +-endif() +- +-set_target_properties(flann_cpp PROPERTIES +- VERSION ${FLANN_VERSION} +- SOVERSION ${FLANN_SOVERSION} +- DEFINE_SYMBOL FLANN_EXPORTS +-) ++#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) ++# ++# 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) ++# # target_link_libraries(flann_cuda cudpp_x86_64) ++# endif() ++#else() ++# add_library(flann_cpp SHARED ${CPP_SOURCES}) ++# if (BUILD_CUDA_LIB) ++# cuda_add_library(flann_cuda SHARED ${CPP_SOURCES}) ++# 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 +@@ -57,12 +57,12 @@ + endif() + + +-#debug libraries +-add_library(flann_cpp-gd SHARED ${CPP_SOURCES}) +-set_target_properties(flann_cpp-gd PROPERTIES +- COMPILE_FLAGS ${CMAKE_CXX_FLAGS_DEBUG} +- DEFINE_SYMBOL FLANN_EXPORTS +-) ++##debug libraries ++#add_library(flann_cpp-gd SHARED ${CPP_SOURCES}) ++#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}) +@@ -108,34 +108,35 @@ + endif() + set_property(TARGET flann_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) + +- 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) +- else() +- add_library(flann SHARED ${C_SOURCES}) +- endif() +- +- set_target_properties(flann PROPERTIES +- VERSION ${FLANN_VERSION} +- SOVERSION ${FLANN_SOVERSION} +- DEFINE_SYMBOL FLANN_EXPORTS +- ) ++# 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) ++# else() ++# add_library(flann SHARED ${C_SOURCES}) ++# endif() ++# ++# 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 +- ) ++# install ( ++# TARGETS flann ++# RUNTIME DESTINATION share/flann/matlab ++# ) + endif() + endif(WIN32) + + + install ( +- TARGETS flann_cpp flann_cpp_s flann_cpp-gd flann_cpp_s-gd ++# TARGETS flann_cpp flann_cpp_s flann_cpp-gd flann_cpp_s-gd ++ TARGETS flann_cpp_s flann_cpp_s-gd + RUNTIME DESTINATION bin + LIBRARY DESTINATION ${FLANN_LIB_INSTALL_DIR} + ARCHIVE DESTINATION ${FLANN_LIB_INSTALL_DIR} +@@ -152,7 +153,8 @@ + + if (BUILD_C_BINDINGS) + install ( +- TARGETS flann flann_s ++# TARGETS flann flann_s ++ TARGETS flann_s + RUNTIME DESTINATION bin + LIBRARY DESTINATION ${FLANN_LIB_INSTALL_DIR} + ARCHIVE DESTINATION ${FLANN_LIB_INSTALL_DIR} diff --git a/src/flann.mk b/src/flann.mk new file mode 100644 index 0000000..994f096 --- /dev/null +++ b/src/flann.mk @@ -0,0 +1,24 @@ +# This file is part of MXE. +# See index.html for further information. + +PKG := flann +$(PKG)_IGNORE := +$(PKG)_CHECKSUM := 61b9858620528919ea60a2a4b085ccc2b3c2d138 +$(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) +$(PKG)_DEPS := gcc + +define $(PKG)_UPDATE + /bin/false +endef + +define $(PKG)_BUILD + cd '$(1)' && cmake . \ + -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_CUDA_LIB=OFF \ + -DBUILD_MATLAB_BINDINGS=OFF \ + -DBUILD_PYTHON_BINDINGS=OFF + $(MAKE) -C '$(1)' -j '$(JOBS)' install VERBOSE=1 +endef -- 1.7.10.4