2023-10-28 04:22:45 +02:00
|
|
|
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()
|
2023-10-31 21:54:36 +02:00
|
|
|
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)
|
2023-12-05 22:23:44 +02:00
|
|
|
+if (UNIX AND NOT APPLE)
|
2023-10-31 21:54:36 +02:00
|
|
|
set(PKG_CONFIG_PATH_ORIGINAL $ENV{PKG_CONFIG_PATH})
|
|
|
|
- foreach (GZ_OGRE2_PROJECT_NAME "OGRE2" "OGRE-Next")
|
2023-11-06 20:36:32 +02:00
|
|
|
+ foreach (GZ_OGRE2_PROJECT_NAME "OGRE-Next")
|
2023-10-31 21:54:36 +02:00
|
|
|
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)
|
|
|
|
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
|
2023-12-05 22:23:44 +02:00
|
|
|
@@ -403,15 +406,23 @@
|
2023-10-31 21:54:36 +02:00
|
|
|
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()
|
2023-11-06 20:36:32 +02:00
|
|
|
+ list(APPEND OGRE2_INC_PATHS "${_rootPath}/include/OGRE-Next")
|
2023-10-31 21:54:36 +02:00
|
|
|
endforeach()
|
|
|
|
|
|
|
|
find_library(OGRE2_LIBRARY
|
|
|
|
- NAMES "OgreMain"
|
2023-12-05 22:23:44 +02:00
|
|
|
+ NAMES
|
|
|
|
+ "OgreNextMain"
|
|
|
|
+ "OgreNextMainStatic"
|
|
|
|
+ "OgreNextMain_d"
|
|
|
|
+ "OgreNextMainStatic_d"
|
|
|
|
+ NAMES_PER_DIR
|
2023-10-31 21:54:36 +02:00
|
|
|
HINTS ${OGRE2_PATHS}
|
|
|
|
NO_DEFAULT_PATH)
|
|
|
|
|
|
|
|
find_path(OGRE2_INCLUDE
|
2023-12-05 22:23:44 +02:00
|
|
|
@@ -449,10 +460,13 @@
|
2023-11-06 20:36:32 +02:00
|
|
|
${PATH_HINTS} ${COMPONENT} ${OGRE2_SEARCH_VER}/${COMPONENT})
|
|
|
|
|
|
|
|
find_library(${PREFIX}_LIBRARY
|
|
|
|
NAMES
|
|
|
|
- "Ogre${COMPONENT}"
|
|
|
|
- "Ogre${COMPONENT}_d"
|
|
|
|
+ "OgreNext${COMPONENT}"
|
|
|
|
+ "OgreNext${COMPONENT}_d"
|
2023-12-05 22:23:44 +02:00
|
|
|
+ "OgreNext${COMPONENT}Static"
|
|
|
|
+ "OgreNext${COMPONENT}Static_d"
|
|
|
|
+ NAMES_PER_DIR
|
2023-11-06 20:36:32 +02:00
|
|
|
HINTS
|
|
|
|
${OGRE2_LIBRARY_DIRS}
|
|
|
|
NO_DEFAULT_PATH)
|
|
|
|
|
2023-12-05 22:23:44 +02:00
|
|
|
@@ -509,8 +522,9 @@
|
2023-10-31 21:54:36 +02:00
|
|
|
|
|
|
|
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)
|
2023-12-05 22:23:44 +02:00
|
|
|
@@ -520,9 +534,9 @@
|
2023-10-31 21:54:36 +02:00
|
|
|
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}")
|
2023-11-06 20:36:32 +02:00
|
|
|
+ if ("${dir_name}" STREQUAL "OGRE-Next")
|
2023-10-31 21:54:36 +02:00
|
|
|
set(dir_include "${dir}/Hlms/Common")
|
|
|
|
if (EXISTS ${dir_include})
|
|
|
|
list(APPEND component_INCLUDE_DIRS ${dir_include})
|
|
|
|
endif()
|