vcpkg/ports/gz-cmake3/dependencies.patch
2023-10-31 12:54:36 -07:00

212 lines
8.2 KiB
Diff

diff --git a/cmake/FindFreeImage.cmake b/cmake/FindFreeImage.cmake
index 8a5836e..7f926cc 100644
--- a/cmake/FindFreeImage.cmake
+++ b/cmake/FindFreeImage.cmake
@@ -23,7 +23,17 @@ set(minor_version ${FreeImage_FIND_VERSION_MINOR})
# Set the full version number
set(full_version ${major_version}.${minor_version})
-if (NOT WIN32)
+if(FreeImage_FOUND)
+ # done
+elseif(1)
+ find_package(freeimage CONFIG)
+ if(freeimage_FOUND)
+ set(FreeImage_FOUND 1)
+ set(FreeImage_LIBRARIES freeimage::FreeImage)
+ include(GzImportTarget)
+ gz_import_target(FreeImage INTERFACE)
+ endif()
+elseif(0)
include(GzPkgConfig)
gz_pkg_config_library_entry(FreeImage freeimage)
diff --git a/cmake/FindGTS.cmake b/cmake/FindGTS.cmake
index b400483..77f1247 100644
--- a/cmake/FindGTS.cmake
+++ b/cmake/FindGTS.cmake
@@ -16,7 +16,7 @@
########################################
# Find GNU Triangulation Surface Library
-if (NOT WIN32)
+if (1)
# Configuration using pkg-config modules
include(GzPkgConfig)
gz_pkg_check_modules(GTS gts)
diff --git a/cmake/FindGzBullet.cmake b/cmake/FindGzBullet.cmake
index 798d239..e7ee87c 100644
--- a/cmake/FindGzBullet.cmake
+++ b/cmake/FindGzBullet.cmake
@@ -31,7 +31,7 @@ endif()
# Bullet. Force MODULE mode to use the FindBullet.cmake file distributed with
# CMake. Otherwise, we may end up using the BulletConfig.cmake file distributed
# with Bullet, which uses relative paths and may break transitive dependencies.
-find_package(Bullet MODULE ${gz_quiet_arg})
+find_package(Bullet CONFIG REQUIRED)
set(GzBullet_FOUND false)
# create Bullet target
@@ -39,6 +39,7 @@ if(BULLET_FOUND)
set(GzBullet_FOUND true)
gz_import_target(GzBullet
+ INTERFACE
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
--- a/cmake/FindGzOGRE2.cmake
+++ b/cmake/FindGzOGRE2.cmake
@@ -143,11 +143,11 @@
endif ()
endmacro()
find_package(PkgConfig QUIET)
-if (PkgConfig_FOUND)
+if (NOT WIN32)
set(PKG_CONFIG_PATH_ORIGINAL $ENV{PKG_CONFIG_PATH})
- foreach (GZ_OGRE2_PROJECT_NAME "OGRE2" "OGRE-Next")
+ foreach (GZ_OGRE2_PROJECT_NAME "OGRE")
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
@@ -159,10 +159,10 @@
set(OGRE2LIBNAME "Ogre")
endif()
else()
# This matches OGRE2.2 debs built in upstream Ubuntu
- set(OGRE2_INSTALL_PATH "OGRE-Next")
- set(OGRE2LIBNAME "OgreNext")
+ set(OGRE2_INSTALL_PATH "OGRE")
+ set(OGRE2LIBNAME "Ogre")
endif()
# Note: OGRE2 installed from debs is named OGRE-2.2 while the version
# installed from source does not have the 2.2 suffix
@@ -172,8 +172,9 @@
if (${GZ_OGRE2_PROJECT_NAME}_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}"
"${OGRE2LIBNAME}${component}_d"
"${OGRE2LIBNAME}${component}.${OGRE2_VERSION}"
"${OGRE2LIBNAME}${component}"
+ "${OGRE2LIBNAME}${component}Static"
+ "${OGRE2LIBNAME}${component}Static_d"
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,24 @@
set(OGRE2_SEARCH_VER "OGRE-${GzOGRE2_FIND_VERSION_MAJOR}.${GzOGRE2_FIND_VERSION_MINOR}")
set(OGRE2_PATHS "")
set(OGRE2_INC_PATHS "")
foreach(_rootPath ${VCPKG_CMAKE_FIND_ROOT_PATH})
- list(APPEND OGRE2_PATHS "${_rootPath}/lib/${OGRE2_SEARCH_VER}/")
- list(APPEND OGRE2_PATHS "${_rootPath}/lib/${OGRE2_SEARCH_VER}/manual-link/")
- list(APPEND OGRE2_INC_PATHS "${_rootPath}/include/${OGRE2_SEARCH_VER}")
+ get_filename_component(debug_dir "${_rootPath}" NAME)
+ if(debug_dir MATCHES "debug" AND CMAKE_BUILD_TYPE MATCHES Debug OR NOT debug_dir MATCHES "debug" AND CMAKE_BUILD_TYPE MATCHES Release)
+ list(APPEND OGRE2_PATHS "${_rootPath}/lib/")
+ list(APPEND OGRE2_PATHS "${_rootPath}/lib/manual-link/")
+ endif()
+ list(APPEND OGRE2_INC_PATHS "${_rootPath}/include/OGRE")
endforeach()
+ if(CMAKE_BUILD_TYPE MATCHES Debug)
+ set(OGRE_MAIN_LIB "OgreMain_d")
+ else()
+ set(OGRE_MAIN_LIB "OgreMain")
+ endif()
+
find_library(OGRE2_LIBRARY
- NAMES "OgreMain"
+ NAMES "${OGRE_MAIN_LIB}"
HINTS ${OGRE2_PATHS}
NO_DEFAULT_PATH)
find_path(OGRE2_INCLUDE
@@ -509,8 +521,9 @@
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 +533,9 @@
string(FIND ${component} "Hlms" HLMS_POS)
if(${HLMS_POS} GREATER -1)
foreach (dir ${OGRE2_INCLUDE_DIRS})
get_filename_component(dir_name "${dir}" NAME)
- if ("${dir_name}" STREQUAL "OGRE-${OGRE2_VERSION_MAJOR}.${OGRE2_VERSION_MINOR}")
+ if ("${dir_name}" STREQUAL "OGRE")
set(dir_include "${dir}/Hlms/Common")
if (EXISTS ${dir_include})
list(APPEND component_INCLUDE_DIRS ${dir_include})
endif()