Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[gazebo] new port #22466

Merged
merged 28 commits into from
Mar 9, 2022
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
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
102 changes: 102 additions & 0 deletions ports/gazebo11/0001-Fix-deps.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake
index 4085b5aaeb..f89ac88333 100644
--- a/cmake/SearchForStuff.cmake
+++ b/cmake/SearchForStuff.cmake
@@ -179,7 +179,7 @@ if (PKG_CONFIG_FOUND)
# (needed, at least, for MacOS)

# Use system installation on UNIX and Apple, and internal copy on Windows
- if (UNIX OR APPLE)
+ if (true)
message (STATUS "Using system tinyxml.")
set (USE_EXTERNAL_TINYXML True)
elseif(WIN32)
@@ -225,7 +225,7 @@ if (PKG_CONFIG_FOUND)
# (needed, at least, for MacOS)

# Use system installation on UNIX and Apple, and internal copy on Windows
- if (UNIX OR APPLE)
+ if (true)
message (STATUS "Using system tinyxml2.")
set (USE_EXTERNAL_TINYXML2 True)
elseif(WIN32)
@@ -513,7 +513,7 @@ if (PKG_CONFIG_FOUND)
endif ()

if (libavutil_FOUND AND libavformat_FOUND AND libavcodec_FOUND AND
- libswscale_FOUND)
+ libswscale_FOUND AND FFMPEG_FEATURE)
set (HAVE_FFMPEG TRUE)
else ()
set (HAVE_FFMPEG FALSE)
@@ -538,7 +538,7 @@ if (PKG_CONFIG_FOUND)
########################################
# Find GNU Triangulation Surface Library
pkg_check_modules(gts gts)
- if (gts_FOUND)
+ if (gts_FOUND AND GTS_FEATURE)
message (STATUS "Looking for GTS - found")
set (HAVE_GTS TRUE)
else ()
@@ -551,13 +551,14 @@ if (PKG_CONFIG_FOUND)
# First and preferred option is to look for bullet standard pkgconfig,
# so check it first. if it is not present, check for the OSRF
# custom bullet2.82.pc file
- pkg_check_modules(BULLET bullet>=2.82)
+ find_package(BULLET CONFIG 2.82)
if (NOT BULLET_FOUND)
pkg_check_modules(BULLET bullet2.82>=2.82)
endif()

if (BULLET_FOUND)
set (HAVE_BULLET TRUE)
+ set(BULLET_VERSION ${BULLET_VERSION_STRING})
add_definitions( -DLIBBULLET_VERSION=${BULLET_VERSION} )
else()
set (HAVE_BULLET FALSE)
@@ -572,7 +573,7 @@ if (PKG_CONFIG_FOUND)
########################################
# Find libusb
pkg_check_modules(libusb-1.0 libusb-1.0)
- if (NOT libusb-1.0_FOUND)
+ if (NOT libusb-1.0_FOUND OR NO_LIBUSB_FEATURE)
BUILD_WARNING ("libusb-1.0 not found. USB peripherals support will be disabled.")
set (HAVE_USB OFF CACHE BOOL "HAVE USB" FORCE)
else()
@@ -648,7 +649,7 @@ endif ()
########################################
# Find gdal
include (FindGDAL)
-if (NOT GDAL_FOUND)
+if (NOT GDAL_FOUND OR NO_GDAL_FEATURE)
message (STATUS "Looking for libgdal - not found")
BUILD_WARNING ("GDAL not found, Digital elevation terrains support will be disabled.")
set (HAVE_GDAL OFF CACHE BOOL "HAVE GDAL" FORCE)
@@ -718,7 +719,7 @@ endif()
########################################
# Find graphviz
include (${gazebo_cmake_dir}/FindGraphviz.cmake)
-if (NOT GRAPHVIZ_FOUND)
+if (NOT GRAPHVIZ_FOUND OR NO_GRAPHVIZ_FEATURE)
message (STATUS "Looking for libgraphviz-dev - not found")
BUILD_WARNING ("Graphviz not found, Model editor's schematic view will be disabled.")
set (HAVE_GRAPHVIZ OFF CACHE BOOL "HAVE GRAPHVIZ" FORCE)
diff --git a/cmake/gazebo-config.cmake.in b/cmake/gazebo-config.cmake.in
index b57a90dd76..63ce97095e 100644
--- a/cmake/gazebo-config.cmake.in
+++ b/cmake/gazebo-config.cmake.in
@@ -99,12 +99,13 @@ list(APPEND @PKG_NAME@_CFLAGS -I${GAZEBO_INSTALL_INCLUDE_DIR}/gazebo-@GAZEBO_MAJ

if (GAZEBO_HAS_BULLET)
if (PKG_CONFIG_FOUND)
- pkg_check_modules(BULLET bullet>=2.82)
+ find_package(BULLET CONFIG 2.82)
if (NOT BULLET_FOUND)
pkg_check_modules(BULLET bullet2.82>=2.82)
endif()

if (BULLET_FOUND)
+ set(BULLET_VERSION ${BULLET_VERSION_STRING})
add_definitions(-DLIBBULLET_VERSION=${BULLET_VERSION})
else()
message(FATAL_ERROR "Error: Bullet > 2.82 not found, please install libbullet2.82-dev.")
46 changes: 46 additions & 0 deletions ports/gazebo11/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO osrf/gazebo
REF 8cddf1da9e9e6b380bc43bc1ed8b7879d2007ce6
SHA512 c3bb063eda1660d4c55f1c6fce1877b0e7562a5f77035934542cb20f24e538726208776c06a7bc1fdefda3b7d4a9be3a64b725d416092a7527b84c2de18f4ed9
HEAD_REF gazebo11
PATCHES
0001-Fix-deps.patch
)

vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
openal HAVE_OPENAL
ffmpeg FFMPEG_FEATURE
gts GTS_FEATURE
INVERTED_FEATURES
simbody CMAKE_DISABLE_FIND_PACKAGE_Simbody
dart CMAKE_DISABLE_FIND_PACKAGE_DART
bullet CMAKE_DISABLE_FIND_PACKAGE_BULLET
libusb NO_LIBUSB_FEATURE
gdal NO_GDAL_FEATURE
graphviz NO_GRAPHVIZ_FEATURE
)

vcpkg_add_to_path("${CURRENT_HOST_INSTALLED_DIR}/debug/bin")
vcpkg_add_to_path("${CURRENT_HOST_INSTALLED_DIR}/bin")
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DUSE_EXTERNAL_TINY_PROCESS_LIBRARY=ON
-DPKG_CONFIG_EXECUTABLE=${CURRENT_INSTALLED_DIR}/tools/pkgconf/pkgconf.exe
${FEATURE_OPTIONS}
)

vcpkg_cmake_install()
vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/gazebo")

vcpkg_copy_tools(
TOOL_NAMES gazebo gz gzclient gzserver
AUTO_CLEAN
)

file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share")

# # Handle copyright
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/gazebo11" RENAME copyright)
121 changes: 121 additions & 0 deletions ports/gazebo11/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
{
"name": "gazebo11",
"version-date": "2022-01-10",
"description": "Open source robotics simulator.",
"homepage": "http://gazebosim.org",
"dependencies": [
"boost-asio",
"boost-date-time",
"boost-filesystem",
"boost-format",
"boost-interprocess",
"boost-iostreams",
"boost-program-options",
"boost-property-tree",
"boost-regex",
"boost-system",
"boost-thread",
"boost-uuid",
"ccd",
{
"name": "hdf5",
"features": [
"cpp"
]
},
"ignition-common3",
"ignition-fuel-tools4",
"ignition-math6",
"ignition-msgs5",
"ignition-transport8",
"ogre",
"pkgconf",
"protobuf",
"qwt",
"sdformat9",
"tbb",
"tiny-process-library",
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
],
"default-features": [
"bullet",
"dart",
"ffmpeg",
"gdal",
"graphviz",
"gts",
"libusb",
"openal",
"simbody"
],
"features": {
"bullet": {
"description": "Use the bullet physics engine",
"dependencies": [
"bullet3"
]
},
"dart": {
"description": "Use the dart physics engine",
"dependencies": [
"dartsim"
]
},
"ffmpeg": {
"description": "Enable audio-video capabilities",
"dependencies": [
{
"name": "ffmpeg",
"features": [
"avcodec",
"avformat",
"swscale"
]
}
]
},
"gdal": {
"description": "Enable digital elevation terrains support",
"dependencies": [
"gdal"
]
},
"graphviz": {
"description": "Enable model editor's schematic view",
"dependencies": [
"graphviz"
]
},
"gts": {
"description": "Enable CSG support",
"dependencies": [
"gts"
]
},
"libusb": {
"description": "Enable USB peripheral support",
"dependencies": [
"libusb"
]
},
"openal": {
"description": "Enable audio support",
"dependencies": [
"openal-soft"
]
},
"simbody": {
"description": "Use the simbody physics engine",
"dependencies": [
"simbody"
]
}
}
}
2 changes: 1 addition & 1 deletion ports/sdformat9/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ vcpkg_from_github(
HEAD_REF sdf9
PATCHES
fix-dependency-urdfdom.patch
use-external-tinyxml-windows.patch
)

# Ruby is required by the sdformat build process
Expand All @@ -19,7 +20,6 @@ vcpkg_cmake_configure(
OPTIONS
-DBUILD_TESTING=OFF
-DUSE_INTERNAL_URDF=OFF
-DUSE_EXTERNAL_TINYXML=ON
)

vcpkg_cmake_install()
Expand Down
26 changes: 26 additions & 0 deletions ports/sdformat9/use-external-tinyxml-windows.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3dad12e5..e290a3be 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -113,7 +113,7 @@ include (${sdf_cmake_dir}/SDFUtils.cmake)

message (STATUS "\n\n====== Finding 3rd Party Packages ======")
# Use of tinyxml. System installation on UNIX. Internal copy on WIN
-if (UNIX)
+if (true)
message (STATUS "Using system tinyxml")
set (USE_EXTERNAL_TINYXML True)
elseif(WIN32)
diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake
index 427e5e7a..655fafc0 100644
--- a/cmake/SearchForStuff.cmake
+++ b/cmake/SearchForStuff.cmake
@@ -9,7 +9,7 @@ if (USE_EXTERNAL_TINYXML)
#################################################
# Find tinyxml. Only debian distributions package tinyxml with a pkg-config
# Use pkg_check_modules and fallback to manual detection (needed, at least, for MacOS)
- pkg_check_modules(tinyxml tinyxml)
+ find_package(tinyxml CONFIG REQUIRED)
if (NOT tinyxml_FOUND)
find_path (tinyxml_INCLUDE_DIRS tinyxml.h ${tinyxml_INCLUDE_DIRS} ENV CPATH)
find_library(tinyxml_LIBRARIES NAMES tinyxml)
2 changes: 1 addition & 1 deletion ports/sdformat9/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "sdformat9",
"version": "9.4.0",
"port-version": 3,
"port-version": 4,
"description": "Simulation Description Format (SDF) parser and description files.",
"homepage": "http://sdformat.org/",
"supports": "!(linux | uwp)",
Expand Down
6 changes: 5 additions & 1 deletion versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -2364,6 +2364,10 @@
"baseline": "2019-08-04",
"port-version": 1
},
"gazebo11": {
"baseline": "2022-01-10",
"port-version": 0
},
"gcem": {
"baseline": "1.13.1",
"port-version": 1
Expand Down Expand Up @@ -6230,7 +6234,7 @@
},
"sdformat9": {
"baseline": "9.4.0",
"port-version": 3
"port-version": 4
},
"sdl1": {
"baseline": "1.2.15",
Expand Down
9 changes: 9 additions & 0 deletions versions/g-/gazebo11.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "6147bcd788ae49742df6bfa000d44fd8986bd113",
"version-date": "2022-01-10",
"port-version": 0
}
]
}
5 changes: 5 additions & 0 deletions versions/s-/sdformat9.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "a316351793cb7221a406626a532a40ad72a39f3a",
"version": "9.4.0",
"port-version": 4
},
{
"git-tree": "5f47672c7e4349da14189c38db3a15dcdad5a196",
"version": "9.4.0",
Expand Down