Skip to content
Merged
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
137 changes: 62 additions & 75 deletions ports/gz-cmake/dependencies.patch
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ index b400483..77f1247 100644
include(GzPkgConfig)
gz_pkg_check_modules(GTS gts)
diff --git a/cmake/FindGzBullet.cmake b/cmake/FindGzBullet.cmake
index 798d239..e7ee87c 100644
index 70f7a76..4a334d9 100644
--- a/cmake/FindGzBullet.cmake
+++ b/cmake/FindGzBullet.cmake
@@ -31,7 +31,7 @@ endif()
Expand All @@ -55,64 +55,11 @@ index 798d239..e7ee87c 100644
TARGET_NAME GzBullet::GzBullet
LIB_VAR BULLET_LIBRARIES
INCLUDE_VAR BULLET_INCLUDE_DIRS
diff --git a/cmake/FindTINYXML2.cmake b/cmake/FindTINYXML2.cmake
index 5a5a147..68ba2a3 100644
--- a/cmake/FindTINYXML2.cmake
+++ b/cmake/FindTINYXML2.cmake
@@ -18,11 +18,16 @@

include(GzPkgConfig)

-# Use pkg_check_modules to start
-gz_pkg_check_modules_quiet(TINYXML2 tinyxml2)

# If that failed, then fall back to manual detection (necessary for MacOS)
if(NOT TINYXML2_FOUND)
+ find_package(TINYXML2 NAMES tinyxml2)
+ if(TINYXML2_FOUND)
+ set(TINYXML2_LIBRARIES tinyxml2::tinyxml2)
+ include(GzImportTarget)
+ gz_import_target(TINYXML2 INTERFACE)
+ endif()
+elseif(0)

if(NOT TINYXML2_FIND_QUIETLY)
message(STATUS "Attempting manual search for tinyxml2")
diff --git a/cmake/GzFindPackage.cmake b/cmake/GzFindPackage.cmake
index 4eb7a0d..11dae8a 100644
--- a/cmake/GzFindPackage.cmake
+++ b/cmake/GzFindPackage.cmake
@@ -178,6 +178,7 @@ macro(gz_find_package PACKAGE_NAME_)
_gz_cmake_parse_arguments(gz_find_package "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
endif()

+ include("${CMAKE_CURRENT_LIST_DIR}/vcpkg/${PACKAGE_NAME}.cmake" OPTIONAL)
#------------------------------------
# Construct the arguments to pass to find_package
set(${PACKAGE_NAME}_find_package_args ${PACKAGE_NAME})
@@ -192,6 +193,8 @@ macro(gz_find_package PACKAGE_NAME_)

if(gz_find_package_EXACT)
list(APPEND ${PACKAGE_NAME}_find_package_args EXACT)
+ elseif(gz_find_package_VERSION AND NOT gz_find_package_PKGCONFIG_VER_COMPARISON)
+ set(gz_find_package_PKGCONFIG_VER_COMPARISON >=)
endif()

if(gz_find_package_CONFIG)
@@ -388,7 +391,7 @@ macro(gz_find_package PACKAGE_NAME_)
# ${component}_CMAKE_DEPENDENCIES variables that are specific to those
# componenets
foreach(component ${gz_find_package_REQUIRED_BY})
- if(NOT ${component}_${PACKAGE_NAME}_PRIVATE)
+ if(NOT ${component}_${PACKAGE_NAME}_PRIVATE OR NOT BUILD_SHARED_LIBS)
gz_string_append(${component}_CMAKE_DEPENDENCIES "${${PACKAGE_NAME}_find_dependency}" DELIM "\n")
endif()
endforeach()
diff --git a/cmake/FindGzOGRE2.cmake b/cmake/FindGzOGRE2.cmake
index 2decd84..3b71698 100644
--- a/cmake/FindGzOGRE2.cmake
+++ b/cmake/FindGzOGRE2.cmake
@@ -143,11 +143,11 @@
endif ()
@@ -144,9 +144,9 @@ macro(get_preprocessor_entry CONTENTS KEYWORD VARIABLE)
endmacro()

find_package(PkgConfig QUIET)
Expand All @@ -124,19 +71,15 @@ diff --git a/cmake/FindGzOGRE2.cmake b/cmake/FindGzOGRE2.cmake
message(STATUS "Looking for OGRE using the name: ${GZ_OGRE2_PROJECT_NAME}")
if (GZ_OGRE2_PROJECT_NAME STREQUAL "OGRE2")
set(OGRE2_INSTALL_PATH "OGRE-2.${GzOGRE2_FIND_VERSION_MINOR}")
# For OGRE 2.3 debs built via OpenRobotics buildfarms, we use OgreNext
@@ -172,8 +172,9 @@
if (${GZ_OGRE2_PROJECT_NAME}_FOUND)
@@ -173,6 +173,7 @@ if (PkgConfig_FOUND)
set(GZ_PKG_NAME ${OGRE2_INSTALL_PATH})
set(OGRE2_FOUND ${${GZ_OGRE2_PROJECT_NAME}_FOUND}) # sync possible OGRE-Next to OGRE2
fix_pkgconfig_prefix_jammy_bug("${${GZ_OGRE2_PROJECT_NAME}_LIBRARY_DIRS}" OGRE2_LIBRARY_DIRS)
+ set(OGRE2_LIBRARY_DIRS ${${GZ_OGRE2_PROJECT_NAME}_LIBRARY_DIRS})
set(OGRE2_LIBRARIES ${${GZ_OGRE2_PROJECT_NAME}_LIBRARIES}) # sync possible Ogre-Next ot OGRE2
else()
# look for OGRE2 installed from source
set(PKG_CONFIG_PATH_TMP ${PKG_CONFIG_PATH_ORIGINAL})
@@ -308,8 +309,10 @@
"${OGRE2LIBNAME}${component}_d.${OGRE2_VERSION}"
@@ -309,6 +310,8 @@ if (PkgConfig_FOUND)
"${OGRE2LIBNAME}${component}_d"
"${OGRE2LIBNAME}${component}.${OGRE2_VERSION}"
"${OGRE2LIBNAME}${component}"
Expand All @@ -145,9 +88,7 @@ diff --git a/cmake/FindGzOGRE2.cmake b/cmake/FindGzOGRE2.cmake
HINTS ${OGRE2_LIBRARY_DIRS})
if (NOT "${OGRE2-${component}}" STREQUAL "OGRE2-${component}-NOTFOUND")
message(STATUS " + component ${component}: found")
# create a new target for each component
@@ -403,15 +406,23 @@
set(OGRE2_SEARCH_VER "OGRE-${GzOGRE2_FIND_VERSION_MAJOR}.${GzOGRE2_FIND_VERSION_MINOR}")
@@ -404,13 +407,21 @@ else() #PkgConfig_FOUND
set(OGRE2_PATHS "")
set(OGRE2_INC_PATHS "")
foreach(_rootPath ${VCPKG_CMAKE_FIND_ROOT_PATH})
Expand All @@ -173,9 +114,7 @@ diff --git a/cmake/FindGzOGRE2.cmake b/cmake/FindGzOGRE2.cmake
HINTS ${OGRE2_PATHS}
NO_DEFAULT_PATH)

find_path(OGRE2_INCLUDE
@@ -449,10 +460,13 @@
${PATH_HINTS} ${COMPONENT} ${OGRE2_SEARCH_VER}/${COMPONENT})
@@ -450,8 +461,11 @@ else() #PkgConfig_FOUND

find_library(${PREFIX}_LIBRARY
NAMES
Expand All @@ -189,19 +128,15 @@ diff --git a/cmake/FindGzOGRE2.cmake b/cmake/FindGzOGRE2.cmake
HINTS
${OGRE2_LIBRARY_DIRS}
NO_DEFAULT_PATH)

@@ -509,8 +522,9 @@

@@ -510,6 +524,7 @@ else() #PkgConfig_FOUND
ogre_find_plugin(Plugin_ParticleFX OgreParticleFXPrerequisites.h PlugIns/ParticleFX/include)
ogre_find_plugin(RenderSystem_GL3Plus OgreGL3PlusRenderSystem.h RenderSystems/GL3Plus/include)
ogre_find_plugin(RenderSystem_Direct3D11 OgreD3D11RenderSystem.h RenderSystems/Direct3D11/include)
+ ogre_find_component(PlanarReflections OgrePlanarReflections.h PlanarReflections)

foreach(component ${GzOGRE2_FIND_COMPONENTS})
set(PREFIX OGRE2_${component})
if(${PREFIX}_FOUND)
@@ -520,9 +534,9 @@
string(FIND ${component} "Hlms" HLMS_POS)
@@ -521,7 +536,7 @@ else() #PkgConfig_FOUND
if(${HLMS_POS} GREATER -1)
foreach (dir ${OGRE2_INCLUDE_DIRS})
get_filename_component(dir_name "${dir}" NAME)
Expand All @@ -210,4 +145,56 @@ diff --git a/cmake/FindGzOGRE2.cmake b/cmake/FindGzOGRE2.cmake
set(dir_include "${dir}/Hlms/Common")
if (EXISTS ${dir_include})
list(APPEND component_INCLUDE_DIRS ${dir_include})
endif()
diff --git a/cmake/FindTINYXML2.cmake b/cmake/FindTINYXML2.cmake
index 5a5a147..68ba2a3 100644
--- a/cmake/FindTINYXML2.cmake
+++ b/cmake/FindTINYXML2.cmake
@@ -18,11 +18,16 @@

include(GzPkgConfig)

-# Use pkg_check_modules to start
-gz_pkg_check_modules_quiet(TINYXML2 tinyxml2)

# If that failed, then fall back to manual detection (necessary for MacOS)
if(NOT TINYXML2_FOUND)
+ find_package(TINYXML2 NAMES tinyxml2)
+ if(TINYXML2_FOUND)
+ set(TINYXML2_LIBRARIES tinyxml2::tinyxml2)
+ include(GzImportTarget)
+ gz_import_target(TINYXML2 INTERFACE)
+ endif()
+elseif(0)

if(NOT TINYXML2_FIND_QUIETLY)
message(STATUS "Attempting manual search for tinyxml2")
diff --git a/cmake/GzFindPackage.cmake b/cmake/GzFindPackage.cmake
index 93da803..22fdec8 100644
--- a/cmake/GzFindPackage.cmake
+++ b/cmake/GzFindPackage.cmake
@@ -163,6 +163,7 @@ macro(gz_find_package PACKAGE_NAME_)
# Parse the arguments
_gz_cmake_parse_arguments(gz_find_package "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})

+ include("${CMAKE_CURRENT_LIST_DIR}/vcpkg/${PACKAGE_NAME}.cmake" OPTIONAL)
#------------------------------------
# Construct the arguments to pass to find_package
set(${PACKAGE_NAME}_find_package_args ${PACKAGE_NAME})
@@ -177,6 +178,8 @@ macro(gz_find_package PACKAGE_NAME_)

if(gz_find_package_EXACT)
list(APPEND ${PACKAGE_NAME}_find_package_args EXACT)
+ elseif(gz_find_package_VERSION AND NOT gz_find_package_PKGCONFIG_VER_COMPARISON)
+ set(gz_find_package_PKGCONFIG_VER_COMPARISON >=)
endif()

if(gz_find_package_CONFIG)
@@ -344,7 +347,7 @@ macro(gz_find_package PACKAGE_NAME_)
# ${component}_CMAKE_DEPENDENCIES variables that are specific to those
# componenets
foreach(component ${gz_find_package_REQUIRED_BY})
- if(NOT ${component}_${PACKAGE_NAME}_PRIVATE)
+ if(NOT ${component}_${PACKAGE_NAME}_PRIVATE OR NOT BUILD_SHARED_LIBS)
gz_string_append(${component}_CMAKE_DEPENDENCIES "${${PACKAGE_NAME}_find_dependency}" DELIM "\n")
endif()
endforeach()
70 changes: 70 additions & 0 deletions ports/gz-cmake/ffempg_depends_interface.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
diff --git a/cmake/FindAVCODEC.cmake b/cmake/FindAVCODEC.cmake
--- a/cmake/FindAVCODEC.cmake
+++ b/cmake/FindAVCODEC.cmake
@@ -15,9 +15,9 @@
#
########################################
# Find avcodec
include(GzPkgConfig)
-gz_pkg_check_modules_quiet(AVCODEC libavcodec)
+gz_pkg_check_modules_quiet(AVCODEC libavcodec INTERFACE)

if(NOT AVCODEC_FOUND)
include(GzManualSearch)
gz_manual_search(AVCODEC
diff --git a/cmake/FindAVDEVICE.cmake b/cmake/FindAVDEVICE.cmake
--- a/cmake/FindAVDEVICE.cmake
+++ b/cmake/FindAVDEVICE.cmake
@@ -19,9 +19,9 @@
set(av_minor ${AVDEVICE_FIND_VERSION_MINOR})
set(av_patch ${AVDEVICE_FIND_VERSION_PATCH})

include(GzPkgConfig)
-gz_pkg_check_modules_quiet(AVDEVICE "libavdevice >= ${av_major}.${av_minor}.${av_patch}")
+gz_pkg_check_modules_quiet(AVDEVICE "libavdevice >= ${av_major}.${av_minor}.${av_patch}" INTERFACE)

if(NOT AVDEVICE_FOUND)
include(GzManualSearch)
gz_manual_search(AVDEVICE
diff --git a/cmake/FindAVFORMAT.cmake b/cmake/FindAVFORMAT.cmake
--- a/cmake/FindAVFORMAT.cmake
+++ b/cmake/FindAVFORMAT.cmake
@@ -15,9 +15,9 @@
#
########################################
# Find AV format
include(GzPkgConfig)
-gz_pkg_check_modules_quiet(AVFORMAT libavformat)
+gz_pkg_check_modules_quiet(AVFORMAT libavformat INTERFACE)

if(NOT AVFORMAT_FOUND)
include(GzManualSearch)
gz_manual_search(AVFORMAT
diff --git a/cmake/FindAVUTIL.cmake b/cmake/FindAVUTIL.cmake
--- a/cmake/FindAVUTIL.cmake
+++ b/cmake/FindAVUTIL.cmake
@@ -15,9 +15,9 @@
#
########################################
# Find avutil
include(GzPkgConfig)
-gz_pkg_check_modules_quiet(AVUTIL libavutil)
+gz_pkg_check_modules_quiet(AVUTIL libavutil INTERFACE)

if(NOT AVUTIL_FOUND)
include(GzManualSearch)
gz_manual_search(AVUTIL
diff --git a/cmake/FindSWSCALE.cmake b/cmake/FindSWSCALE.cmake
--- a/cmake/FindSWSCALE.cmake
+++ b/cmake/FindSWSCALE.cmake
@@ -15,9 +15,9 @@
#
########################################
# Find libswscale format
include(GzPkgConfig)
-gz_pkg_check_modules_quiet(SWSCALE libswscale)
+gz_pkg_check_modules_quiet(SWSCALE libswscale INTERFACE)

if(NOT SWSCALE_FOUND)
include(GzManualSearch)
gz_manual_search(SWSCALE
10 changes: 4 additions & 6 deletions ports/gz-cmake/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
string(REGEX MATCH "^[1-9]+" VERSION_MAJOR ${VERSION})
string(REGEX MATCH "^gz-([a-z]+)" MATCHED_VALUE ${PORT})
string(REGEX MATCH "^[0-9]+" VERSION_MAJOR ${VERSION})
string(REGEX MATCH "^gz-([a-z-]+)" MATCHED_VALUE ${PORT})
set(PACKAGE_NAME ${CMAKE_MATCH_1})

ignition_modular_library(
NAME ${PACKAGE_NAME}
REF ${PORT}${VERSION_MAJOR}_${VERSION}
VERSION ${VERSION}
SHA512 30cf5aa69674bdc1a99762fc45d134b99da5e2faf846749392697ae41463a5304a43022bb0c2ca1b373af4171135d686fdd736573fe6e1cc26dc2cecc8333e69
SHA512 d761aba28fc79af6bbb021215367e48e1b7449885d0410a0cabd09674a59b17132810ebb796fe0e1ddefc1510aba832fb192cc908156d8eae15e35c1afe464c7
PATCHES
dependencies.patch
ffempg_depends_interface.patch
)



file(COPY "${CURRENT_PORT_DIR}/vcpkg" DESTINATION "${CURRENT_PACKAGES_DIR}/share/cmake/${PORT}/${PACKAGE_NAME}${VERSION_MAJOR}")
configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY)
4 changes: 2 additions & 2 deletions ports/gz-cmake/usage
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
The package gz-cmake3 provides CMake integration:
The package @PORT@@VERSION_MAJOR@ provides CMake integration:

find_package(gz-cmake3 CONFIG REQUIRED)
find_package(@PORT@@VERSION_MAJOR@ CONFIG REQUIRED)
2 changes: 1 addition & 1 deletion ports/gz-cmake/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "gz-cmake",
"version": "3.4.1",
"version": "4.1.1",
"description": "CMake helper functions for building robotic applications",
"homepage": "https://ignitionrobotics.org/libs/cmake",
"license": null,
Expand Down
3 changes: 0 additions & 3 deletions ports/gz-cmake/vcpkg/GTS.cmake

This file was deleted.

3 changes: 0 additions & 3 deletions ports/gz-cmake/vcpkg/TINYXML2.cmake

This file was deleted.

13 changes: 13 additions & 0 deletions ports/gz-common/detect_tinyxml.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -49,9 +49,8 @@

#--------------------------------------
# Find Tinyxml2
gz_find_package(TINYXML2 PRETTY tinyxml2
- VERSION 6.0
REQUIRED_BY graphics
PRIVATE_FOR graphics)

#--------------------------------------
14 changes: 4 additions & 10 deletions ports/gz-common/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,27 +1,21 @@
string(REGEX MATCH "^[1-9]+" VERSION_MAJOR ${VERSION})
string(REGEX MATCH "^gz-([a-z]+)" MATCHED_VALUE ${PORT})
string(REGEX MATCH "^[0-9]+" VERSION_MAJOR ${VERSION})
string(REGEX MATCH "^gz-([a-z-]+)" MATCHED_VALUE ${PORT})
set(PACKAGE_NAME ${CMAKE_MATCH_1})

ignition_modular_library(
NAME ${PACKAGE_NAME}
REF ${PORT}${VERSION_MAJOR}_${VERSION}
VERSION ${VERSION}
SHA512 40db4747db743005d7c43ca25cfe93cf68ee19201abcb165e72de37708b92fd88553b11520c420db33b37f4cab7e01e4d79c91c5dc0485146b7156284b8baaee
SHA512 0c652285b32d2d2f781595416fd80d6e52a6b765ba968d0018accc3688f4ee9d6ce62dbea74b98fa43ea40641c47020246e13645eac7940aa483057c958d3807
OPTIONS
-DBUILD_TESTING=OFF
-DUSE_EXTERNAL_TINYXML2=ON
"-DPKG_CONFIG_EXECUTABLE=${CURRENT_HOST_INSTALLED_DIR}/tools/pkgconf/pkgconf${VCPKG_HOST_EXECUTABLE_SUFFIX}"
PATCHES
gz_remotery_vis.patch
003-include-chrono.patch
detect_tinyxml.patch
)

vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}${VERSION_MAJOR}-graphics/${PORT}${VERSION_MAJOR}-graphics-config.cmake" "find_package(GTS "
"# Ensure that consumers get a pkg-config tool which is needed for GTS
set(PKG_CONFIG_EXECUTABLE \"\${CMAKE_CURRENT_LIST_DIR}/../../../${HOST_TRIPLET}/tools/pkgconf/pkgconf${VCPKG_HOST_EXECUTABLE_SUFFIX}\" CACHE STRING vcpkg)
find_package(GTS "
IGNORE_UNCHANGED)

foreach(component IN ITEMS av events geospatial graphics io profiler testing)
if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/share/${PORT}${VERSION_MAJOR}-${component}/${PORT}${VERSION_MAJOR}-${component}-config.cmake")
message(FATAL_ERROR "Failed to install component ${component}. Check configuration logs for missing dependencies.")
Expand Down
4 changes: 2 additions & 2 deletions ports/gz-common/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "gz-common",
"version": "5.4.1",
"version": "6.0.2",
"description": "Common libraries for robotics applications",
"homepage": "https://ignitionrobotics.org/libs/common",
"license": "Apache-2.0",
Expand All @@ -13,9 +13,9 @@
"ffmpeg",
"freeimage",
"gdal",
"gts",
"gz-cmake",
"gz-math",
"gz-utils",
{
"name": "ignition-modularscripts",
"host": true
Expand Down
10 changes: 7 additions & 3 deletions ports/gz-fuel-tools/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
string(REGEX MATCH "^[1-9]+" VERSION_MAJOR ${VERSION})
string(REGEX MATCH "^gz-([a-z]+)" MATCHED_VALUE ${PORT})
string(REGEX MATCH "^[0-9]+" VERSION_MAJOR ${VERSION})
string(REGEX MATCH "^gz-([a-z-]+)" MATCHED_VALUE ${PORT})
set(PACKAGE_NAME ${CMAKE_MATCH_1})

vcpkg_find_acquire_program(PYTHON3)
get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY)
vcpkg_add_to_path("${PYTHON3_DIR}")

ignition_modular_library(
NAME ${PACKAGE_NAME}
REF ${PORT}${VERSION_MAJOR}_${VERSION}
VERSION ${VERSION}
SHA512 6a31719441c7ea835007d82b6aea99b10fa124ebad71683b8c1c58c41b435d4801e016464dc30d760cc9464e642dab4ff910375f5244ebf7c565845174e65cbf
SHA512 a87bb313c17c9624e49cdf39399f90630256155fc410518aa03b340cc0b26e8955fa2d72623974aa4b474c270a25451989a293aaa015b43642f1018aeff8fdd4
OPTIONS
PATCHES
remove_docs.patch
Expand Down
Loading