Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 47 additions & 42 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ if(NOT EXISTS "${_ompl_cmake_modules_path}")
endif()

set(CMAKE_MODULE_PATH
"${CMAKE_MODULE_PATH}"
"${CMAKE_MODULE_PATH}")
list(APPEND CMAKE_MODULE_PATH
"${CMAKE_ROOT_DIR}/cmake/Modules"
"${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules"
"${_ompl_cmake_modules_path}")
Expand Down Expand Up @@ -124,81 +125,79 @@ set_package_properties(Triangle PROPERTIES
URL "http://www.cs.cmu.edu/~quake/triangle.html"
PURPOSE "Used to create triangular decompositions of polygonal 2D environments.")
find_package(Triangle QUIET)
set(OMPL_EXTENSION_TRIANGLE ${TRIANGLE_FOUND})

set_package_properties(flann PROPERTIES
URL "https://github.com/mariusmuja/flann"
PURPOSE "If detetected, FLANN can be used for nearest neighbor queries by OMPL.")
find_package(flann CONFIG 1.9.2 QUIET)
if (flann_FOUND)
set(OMPL_HAVE_FLANN 1)
endif()

set_package_properties(spot PROPERTIES
URL "http://spot.lrde.epita.fr"
PURPOSE "Used for constructing finite automata from LTL formulae.")
find_package(spot)
if (spot_FOUND)
set(OMPL_HAVE_SPOT 1)
endif()

set_package_properties(assimp PROPERTIES
URL "http://assimp.org"
PURPOSE "Used in ompl_app for reading meshes representing robots and environments.")
find_package(assimp REQUIRED)
set_package_properties(ccd PROPERTIES
URL "https://github.com/danfis/libccd"
PURPOSE "Collision detection library used by fcl.")
find_package(ccd REQUIRED)

set_package_properties(fcl PROPERTIES
URL "https://github.com/flexible-collision-library/fcl"
PURPOSE "The default collision checking library.")
find_package(octomap QUIET)
find_package(fcl REQUIRED)

set_package_properties(Threads PROPERTIES
URL "https://en.wikipedia.org/wiki/POSIX_Threads"
PURPOSE "Pthreads is sometimes needed, depending on OS / compiler.")
find_package(Threads QUIET)

set_package_properties(Doxygen PROPERTIES
URL "http://doxygen.org"
PURPOSE "Used to create the OMPL documentation (i.e., http://ompl.kavrakilab.org).")
find_package(Doxygen)

enable_testing()

include_directories(SYSTEM "${Boost_INCLUDE_DIR}")
# Add support in Boost::Python for std::shared_ptr
# This is a hack that replaces boost::shared_ptr related code with std::shared_ptr.
# Proper support for std::shared_ptr was added in Boost 1.63.
if (NOT Boost_VERSION_STRING)
if (Boost_VERSION_MAJOR)
set(Boost_VERSION_STRING
"${Boost_VERSION_MAJOR}.${Boost_VERSION_MINOR}.${Boost_VERSION_PATCH}")
else()
set(Boost_VERSION_STRING
"${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_PATCH_VERSION}")
endif()
endif()
if(Boost_VERSION_STRING VERSION_LESS "1.63.0")
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/ompl/src/external")
endif()

include_directories(
"${OMPLAPP_INCLUDE_DIRS}"
"${OMPL_INCLUDE_DIRS}"
"${EIGEN3_INCLUDE_DIR}"
"${FCL_INCLUDE_DIRS}"
"${ASSIMP_INCLUDE_DIRS}")

# ROS installs fcl in /usr. In /usr/include/fcl/config.h it says octomap was
# enabled. Octomap is installed in /opt/ros/${ROS_DISTRO}/include (most
# likely), but fcl.pc doesn't have that information, so we just add it to the
# include path.
if(DEFINED ENV{ROS_DISTRO})
include_directories("/opt/ros/$ENV{ROS_DISTRO}/include")
endif()
"${OMPL_INCLUDE_DIRS}")

set(OMPLAPP_MODULE_LIBRARIES
${OPENGL_LIBRARIES}
${ASSIMP_LIBRARY}
${FCL_LIBRARIES})
assimp::assimp
fcl::fcl)
set(OMPLAPP_LIBRARIES
${OPENGL_LIBRARIES}
${ASSIMP_LIBRARIES}
${FCL_LIBRARIES})
link_directories(${ASSIMP_LIBRARY_DIRS} ${CCD_LIBRARY_DIRS} ${OCTOMAP_LIBRARY_DIRS} ${FCL_LIBRARY_DIRS})
assimp::assimp
fcl)

if (OPENGL_INCLUDE_DIR)
include_directories("${OPENGL_INCLUDE_DIR}")
endif()

set(OMPL_EXTENSION_TRIANGLE ${TRIANGLE_FOUND})
if (OMPL_EXTENSION_TRIANGLE)
include_directories(${TRIANGLE_INCLUDE_DIR})
endif()

if (flann_FOUND)
set(OMPL_HAVE_FLANN 1)
endif()

if (spot_FOUND)
set(OMPL_HAVE_SPOT 1)
endif()

# Numpy is used to convert Eigen matrices/vectors to numpy arrays
if(PYTHON_FOUND)
find_python_module(numpy)
Expand Down Expand Up @@ -263,7 +262,7 @@ if(OPENGL_FOUND AND NOT MSVC)
target_link_flags(ompl ompl_app_base ompl_app)
set(PKG_NAME "ompl")
set(PKG_DESC "The Open Motion Planning Library")
set(PKG_EXTERNAL_DEPS "eigen3 ${ompl_PKG_DEPS}")
set(PKG_EXTERNAL_DEPS "${ompl_PKG_DEPS}")
set(PKG_OMPL_LIBS "-lompl -lompl_app_base -lompl_app ${ompl_LINK_FLAGS}")
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/ompl/CMakeModules/ompl.pc.in"
"${CMAKE_CURRENT_BINARY_DIR}/ompl.pc" @ONLY)
Expand All @@ -288,14 +287,20 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/omplConfig.cmake
${CMAKE_CURRENT_BINARY_DIR}/omplConfigVersion.cmake
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/ompl/cmake
COMPONENT ompl)
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/ ${CMAKE_CURRENT_SOURCE_DIR}/ompl/CMakeModules/
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/ompl/cmake
COMPONENT ompl
FILES_MATCHING PATTERN "Find*.cmake")
install(TARGETS ompl
EXPORT omplExport
DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT ompl)
install(TARGETS ompl_app_base
EXPORT omplExport
DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT omplapp)
if(TARGET ompl_app)
install(TARGETS ompl_app
EXPORT omplExport
DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT omplapp)
endif()
install(EXPORT omplExport
NAMESPACE ompl::
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/ompl/cmake)
Expand Down
9 changes: 0 additions & 9 deletions CMakeModules/Findccd.cmake

This file was deleted.

18 changes: 0 additions & 18 deletions CMakeModules/Findfcl.cmake

This file was deleted.

4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ detailed installation instructions.

OMPL.app has the following required dependencies:

* [Boost](https://www.boost.org) (version 1.68 or higher)
* [CMake](https://www.cmake.org) (version 3.5 or higher)
* [Boost](https://www.boost.org) (version 1.58 or higher)
* [CMake](https://www.cmake.org) (version 3.12 or higher)
* [Eigen](http://eigen.tuxfamily.org) (version 3.3 or higher)
* [Assimp](http://assimp.org) (version 3.0.1270 or higher)
* [FCL](https://github.com/flexible-collision-library/fcl) (version 0.3.1 or higher)
Expand Down
2 changes: 1 addition & 1 deletion benchmark/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
add_executable(ompl_benchmark
CFGBenchmark.cpp BenchmarkOptions.cpp BenchmarkTypes.cpp benchmark.cpp)
target_link_libraries(ompl_benchmark ${OMPLAPP_LIBRARIES} ompl ompl_app_base ${Boost_PROGRAM_OPTIONS_LIBRARY})
target_link_libraries(ompl_benchmark ${OMPLAPP_LIBRARIES} ompl ompl_app_base Boost::program_options)
install(TARGETS ompl_benchmark
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
COMPONENT omplapp
Expand Down
2 changes: 1 addition & 1 deletion ompl
Submodule ompl updated 88 files
+6 −44 .github/workflows/before_all.sh
+4 −7 .github/workflows/before_build.sh
+4 −24 .github/workflows/build.yml
+11 −43 .github/workflows/wheels.yaml
+26 −13 CMakeLists.txt
+1 −1 CMakeModules/CPackSettings.cmake
+2 −2 CMakeModules/FindPython.cmake
+19 −5 CMakeModules/Findcastxml.cmake
+2 −0 CMakeModules/PythonBindingsUtils.cmake
+1 −1 README.md
+0 −1 demos/CMakeLists.txt
+0 −451 demos/DubinsAirplane.cpp
+0 −147 demos/DubinsAirplane.py
+0 −149 demos/DubinsAirplanePlot.py
+1 −1 demos/KinematicChainPathPlot.py
+1 −1 demos/Koules/KoulesPlayback.py
+1 −1 demos/OptimalPlanning.py
+1 −1 demos/PlanarManipulator/visualize.py
+1 −1 demos/PlannerData.py
+1 −1 demos/Point2DPlanning.py
+1 −1 demos/RandomWalkPlanner.py
+1 −1 demos/RigidBodyPlanning.py
+1 −1 demos/RigidBodyPlanningWithControls.py
+1 −1 demos/RigidBodyPlanningWithODESolverAndControls.py
+1 −1 demos/StateSampling.py
+1 −1 demos/VFRRT/plotConservative.py
+1 −1 demos/VFRRT/plotNonconservative.py
+1 −1 demos/constraint/ConstrainedPlanningCommon.py
+1 −1 demos/constraint/ConstrainedPlanningImplicitChain.py
+1 −1 demos/constraint/ConstrainedPlanningSphere.py
+1 −1 demos/constraint/ConstrainedPlanningTorus.py
+1 −1 demos/multilevel/MultiLevelPlanningKinematicChain.cpp
+1 −1 demos/multilevel/MultiLevelPlanningRigidBody2D.py
+0 −1 doc/markdown/demos.md
+1 −18 doc/markdown/installation.md
+2 −2 doc/markdown/pathVisualization.md
+1 −6 doc/markdown/spaces.md
+55 −12 install-ompl-ubuntu.sh.in
+1 −3 package.xml
+3 −60 py-bindings/generate_bindings.py
+0 −3 py-bindings/headers_base.txt
+0 −6 py-bindings/ompl_py_base.h
+2 −5 py-bindings/pyproject.toml
+4 −5 py-bindings/setup.py
+5 −5 scripts/docker/ompl.Dockerfile
+13 −12 scripts/docker/omplapp.Dockerfile
+1 −1 scripts/ompl_benchmark_statistics.py
+5 −12 src/CMakeLists.txt
+104 −0 src/external/boost/python/converter/registered.hpp
+63 −0 src/external/boost/python/converter/shared_ptr_from_python.hpp
+28 −0 src/external/boost/python/converter/shared_ptr_to_python.hpp
+17 −0 src/external/boost/python/detail/is_shared_ptr.hpp
+13 −0 src/external/boost/python/detail/is_xxx.hpp
+17 −0 src/external/boost/python/detail/value_is_shared_ptr.hpp
+32 −0 src/external/boost/python/detail/value_is_xxx.hpp
+132 −0 src/external/boost/python/object/inheritance.hpp
+109 −0 src/external/boost/python/to_python_indirect.hpp
+171 −0 src/external/boost/python/to_python_value.hpp
+2 −1 src/ompl/CMakeLists.txt
+0 −2 src/ompl/base/StateSpace.h
+0 −9 src/ompl/base/StateSpaceTypes.h
+0 −179 src/ompl/base/spaces/Dubins3DMotionValidator.h
+2 −7 src/ompl/base/spaces/DubinsStateSpace.h
+0 −216 src/ompl/base/spaces/OwenStateSpace.h
+0 −1 src/ompl/base/spaces/ReedsSheppStateSpace.h
+0 −254 src/ompl/base/spaces/VanaOwenStateSpace.h
+0 −248 src/ompl/base/spaces/VanaStateSpace.h
+260 −289 src/ompl/base/spaces/src/DubinsStateSpace.cpp
+0 −304 src/ompl/base/spaces/src/OwenStateSpace.cpp
+0 −502 src/ompl/base/spaces/src/VanaOwenStateSpace.cpp
+0 −301 src/ompl/base/spaces/src/VanaStateSpace.cpp
+32 −42 src/ompl/base/src/SpaceInformation.cpp
+0 −6 src/ompl/base/src/StateSpace.cpp
+1 −2 src/ompl/datastructures/GridB.h
+1 −1 src/ompl/geometric/planners/xxl/src/XXL.cpp
+1 −0 src/ompl/tools/config/SelfConfig.h
+0 −1 src/ompl/util/src/RandomNumbers.cpp
+3 −2 tests/CMakeLists.txt
+2 −2 tests/base/planner_data.cpp
+0 −67 tests/base/state_spaces.cpp
+1 −1 tests/base/test_base.py
+0 −2 tests/cmake_export/CMakeLists.txt
+2 −2 tests/control/planner_data.cpp
+1 −1 tests/control/test_control.py
+1 −1 tests/geometric/test_geometric.py
+1 −1 tests/geometric/test_geometric_compoundstate.py
+1 −1 tests/util/test_py_std_function.py
+1 −1 tests/util/test_util.py
3 changes: 0 additions & 3 deletions src/omplapp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,6 @@ foreach(_target ${OMPLAPP_TARGETS})
set_target_properties(${_target} PROPERTIES VERSION "${PROJECT_VERSION}" SOVERSION "${OMPL_ABI_VERSION}")
endif(WIN32)

install(TARGETS ${_target}
DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT omplapp)
if(NOT MSVC)
add_custom_command(TARGET ${_target} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:${_target}>"
Expand Down