ompl: update recipe to build with latest oe-core

Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
This commit is contained in:
Dmitry Rozhkov 2017-05-23 11:10:20 +03:00
parent 18dc7093b9
commit 6c6b5dcc13
3 changed files with 92 additions and 1 deletions

View File

@ -0,0 +1,40 @@
From 3658bb95c120228cac55cd10e4103ababf30474b Mon Sep 17 00:00:00 2001
From: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
Date: Tue, 23 May 2017 10:01:06 +0300
Subject: [PATCH 1/2] address gcc6 build error
With gcc6, compiling fails with `stdlib.h: No such file or directory`,
as including '-isystem /usr/include' breaks with gcc6, cf.,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129.
This commit addresses this issue for this package in almost the same way
it was addressed in various other ROS packages. A list of related
commits and pull requests is at:
https://github.com/ros/rosdistro/issues/12783
Particularly when searching for the Boost library CMake sets
Boost_INCLUDE_DIRS to @SYSROOT@/usr/include which should be
avoided in the `-isystem` option of gcc.
Upstream-Status: Submitted [https://github.com/ompl/ompl/pull/101]
---
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 46ae14d..be53fac 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -74,7 +74,7 @@ else()
# don't use chrono
find_package(Boost COMPONENTS date_time thread serialization filesystem system program_options unit_test_framework REQUIRED)
endif()
-include_directories(SYSTEM ${Boost_INCLUDE_DIR})
+include_directories(${Boost_INCLUDE_DIR})
if(${Boost_VERSION} LESS 105300)
# Include bundled version of boost::odeint if it isn't installed natively
--
2.9.3

View File

@ -0,0 +1,46 @@
From 99bfeffe5e80f3b48f82bfff336aca3e97bc19b7 Mon Sep 17 00:00:00 2001
From: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
Date: Tue, 23 May 2017 10:24:37 +0300
Subject: [PATCH 2/2] Add option to skip setting RPATH
OMPL installs to /usr/lib by default and some projects integrating
OMPL trigger a QA check suggesting that the set RPATH is useless.
For example Yocto gives this warning:
QA Issue: ompl: /work/corei7-64-refkit-linux/ompl/1.1.0-r0/packages-split/ompl/usr/lib/libompl.so.1.1.0 contains probably-redundant RPATH /usr/lib [useless-rpaths]
Add the option OMPL_SKIP_RPATH that helps to skip setting RPATH
for the library. By default the option is OFF.
Upstream-Status: Submitted [https://github.com/ompl/ompl/pull/101]
---
CMakeModules/CompilerSettings.cmake | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/CMakeModules/CompilerSettings.cmake b/CMakeModules/CompilerSettings.cmake
index ecef2db..65e3f45 100644
--- a/CMakeModules/CompilerSettings.cmake
+++ b/CMakeModules/CompilerSettings.cmake
@@ -47,11 +47,14 @@ if((CMAKE_COMPILER_IS_GNUCXX OR IS_ICPC) AND NOT MINGW)
add_definitions(-fPIC)
endif((CMAKE_COMPILER_IS_GNUCXX OR IS_ICPC) AND NOT MINGW)
-# Set rpath http://www.paraview.org/Wiki/CMake_RPATH_handling
-set(CMAKE_SKIP_BUILD_RPATH FALSE)
-set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
-set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
-set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+option(OMPL_SKIP_RPATH "Don't set RPATH to the OMPL library" OFF)
+if(NOT OMPL_SKIP_RPATH)
+ # Set rpath http://www.paraview.org/Wiki/CMake_RPATH_handling
+ set(CMAKE_SKIP_BUILD_RPATH FALSE)
+ set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
+ set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
+ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+endif()
# no prefix needed for python modules
set(CMAKE_SHARED_MODULE_PREFIX "")
--
2.9.3

View File

@ -5,10 +5,15 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=923f436234988118e9a042c42a64323c"
DEPENDS = "boost libeigen"
SRC_URI = "https://bitbucket.org/ompl/ompl/downloads/ompl-1.1.0-Source.tar.gz"
SRC_URI = "https://bitbucket.org/ompl/ompl/downloads/ompl-1.1.0-Source.tar.gz \
file://0001-address-gcc6-build-error.patch \
file://0002-Add-option-to-skip-setting-RPATH.patch \
"
SRC_URI[md5sum] = "2a72c5add9675e164c8370a710627e93"
SRC_URI[sha256sum] = "4d141ad3aa322c65ee7ecfa90017a44a8114955316e159b635fae5b5e7db74f8"
S = "${WORKDIR}/ompl-${PV}-Source"
inherit cmake
EXTRA_OECMAKE = "-DOMPL_SKIP_RPATH=ON"