diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/ogre/fix-dependencies.patch | |
Diffstat (limited to 'vcpkg/ports/ogre/fix-dependencies.patch')
| -rw-r--r-- | vcpkg/ports/ogre/fix-dependencies.patch | 220 |
1 files changed, 220 insertions, 0 deletions
diff --git a/vcpkg/ports/ogre/fix-dependencies.patch b/vcpkg/ports/ogre/fix-dependencies.patch new file mode 100644 index 0000000..a90a652 --- /dev/null +++ b/vcpkg/ports/ogre/fix-dependencies.patch @@ -0,0 +1,220 @@ +diff --git a/CMake/Dependencies.cmake b/CMake/Dependencies.cmake +index 21590f4..4b46a29 100644 +--- a/CMake/Dependencies.cmake ++++ b/CMake/Dependencies.cmake +@@ -210,11 +210,14 @@ endif() + ####################################################################### + + # Find FreeImage +-find_package(FreeImage) ++find_package(FreeImage NAMES freeimage) ++set(FreeImage_LIBRARIES freeimage::FreeImage) ++set(FreeImage_LIBRARY_DBG "-lFreeImaged") ++set(FreeImage_LIBRARY_REL "-lFreeImage") + macro_log_feature(FreeImage_FOUND "freeimage" "Support for commonly used graphics image formats" "http://freeimage.sourceforge.net") + + # Find FreeType +-find_package(Freetype) ++find_package(FREETYPE NAMES freetype) + macro_log_feature(FREETYPE_FOUND "freetype" "Portable font engine" "http://www.freetype.org") + + # Find X11 +@@ -281,13 +284,17 @@ endif () + macro_log_feature(ENV{VULKAN_SDK} "Vulkan SDK" "Vulkan RenderSystem, glslang Plugin. Alternatively use system packages" "https://vulkan.lunarg.com/") + + # OpenEXR +-find_package(OpenEXR) ++find_package(IMath CONFIG) ++find_package(OPENEXR NAMES OpenEXR) ++set(OPENEXR_LIBRARIES OpenEXR::OpenEXR Imath::Imath) + macro_log_feature(OPENEXR_FOUND "OpenEXR" "Load High dynamic range images" "http://www.openexr.com/") + + # Python + set(Python_ADDITIONAL_VERSIONS 3.4) # allows using python3 on Ubuntu 14.04 +-find_package(PythonInterp) +-find_package(PythonLibs) ++find_package(Python3 COMPONENTS Development Interpreter) # Interpreter is needed for Python3_FOUND ++set(PYTHONLIBS_FOUND "${Python3_FOUND}") ++set(PYTHON_INCLUDE_PATH "${Python3_INCLUDE_DIRS}") ++set(PYTHON_LIBRARIES "${Python3_LIBRARIES}") + macro_log_feature(PYTHONLIBS_FOUND "Python" "Language bindings to use OGRE from Python" "http://www.python.org/") + + # SWIG +@@ -295,7 +302,7 @@ find_package(SWIG 3.0.8 QUIET) + macro_log_feature(SWIG_FOUND "SWIG" "Language bindings (Python, Java, C#) for OGRE" "http://www.swig.org/") + + # pugixml +-find_package(pugixml QUIET) ++find_package(pugixml CONFIG REQUIRED) + macro_log_feature(pugixml_FOUND "pugixml" "Needed for XMLConverter and DotScene Plugin" "https://pugixml.org/") + + # Find zlib +@@ -303,7 +310,7 @@ find_package(ZLIB) + macro_log_feature(ZLIB_FOUND "zlib" "Simple data compression library" "http://www.zlib.net") + + # Assimp +-find_package(assimp QUIET) ++find_package(assimp CONFIG) + macro_log_feature(assimp_FOUND "Assimp" "Needed for the AssimpLoader Plugin" "https://www.assimp.org/") + + # Bullet +@@ -311,6 +318,8 @@ find_package(Bullet QUIET) + macro_log_feature(BULLET_FOUND "Bullet" "Bullet physics" "https://pybullet.org") + + if(assimp_FOUND) ++ add_library(fix::assimp ALIAS assimp::assimp) ++elseif(0) + # workaround horribly broken assimp cmake, fixed with assimp 5.1 + add_library(fix::assimp INTERFACE IMPORTED) + set_target_properties(fix::assimp PROPERTIES +@@ -329,7 +338,7 @@ endif() + # Find sdl2 + if(NOT ANDROID AND NOT EMSCRIPTEN) + # find script does not work in cross compilation environment +- find_package(SDL2 QUIET) ++ find_package(SDL2 CONFIG REQUIRED) + macro_log_feature(SDL2_FOUND "SDL2" "Simple DirectMedia Library needed for input handling in samples" "https://www.libsdl.org/") + if(SDL2_FOUND AND NOT TARGET SDL2::SDL2) + add_library(SDL2::SDL2 INTERFACE IMPORTED) +diff --git a/CMake/Templates/OGREConfig.cmake.in b/CMake/Templates/OGREConfig.cmake.in +index 2047f66..a5c7cd0 100644 +--- a/CMake/Templates/OGREConfig.cmake.in ++++ b/CMake/Templates/OGREConfig.cmake.in +@@ -35,6 +35,25 @@ set(OGRE_LIBRARIES) + cmake_policy(PUSH) + cmake_policy(SET CMP0012 NEW) + ++include(CMakeFindDependencyMacro) ++find_dependency(pugixml CONFIG) ++find_dependency(SDL2 CONFIG) ++find_dependency(ZLIB) ++find_dependency(freetype CONFIG) ++if (@OGRE_BUILD_COMPONENT_OVERLAY_IMGUI@) ++ find_dependency(imgui CONFIG) ++endif() ++if(@OGRE_BUILD_PLUGIN_ASSIMP@) ++ find_dependency(assimp CONFIG) ++endif() ++if(@OGRE_BUILD_PLUGIN_FREEIMAGE@) ++ find_dependency(freeimage CONFIG) ++endif() ++if(@OGRE_BUILD_PLUGIN_EXRCODEC@) ++ find_dependency(Imath CONFIG) ++ find_dependency(OpenEXR CONFIG) ++endif() ++ + if(@OGRE_THREAD_PROVIDER@ EQUAL 1) + list(APPEND OGRE_INCLUDE_DIRS @Boost_INCLUDE_DIRS@) + endif() +diff --git a/Components/Bites/CMakeLists.txt b/Components/Bites/CMakeLists.txt +index 9e990b8..16c0ae4 100644 +--- a/Components/Bites/CMakeLists.txt ++++ b/Components/Bites/CMakeLists.txt +@@ -185,6 +185,12 @@ elseif(NOT EMSCRIPTEN) + message(WARNING "SDL2 not found - no input handling and reduced window creation capabilites") + endif() + ++if(OGRE_BUILD_COMPONENT_OVERLAY_IMGUI) ++ find_package(imgui CONFIG REQUIRED) ++ find_path(IMGUI_DIR NAMES imgui.h) ++ target_link_libraries(OgreBites PRIVATE imgui::imgui) ++endif() ++ + generate_export_header(OgreBites + EXPORT_MACRO_NAME _OgreBitesExport + EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/include/OgreBitesPrerequisites.h) +diff --git a/Components/Bites/src/OgreImGuiInputListener.cpp b/Components/Bites/src/OgreImGuiInputListener.cpp +index 3cb2379..5629bb5 100644 +--- a/Components/Bites/src/OgreImGuiInputListener.cpp ++++ b/Components/Bites/src/OgreImGuiInputListener.cpp +@@ -116,7 +116,7 @@ static bool keyEvent(const KeyboardEvent& arg) + if (key == ImGuiKey_None) + return io.WantCaptureKeyboard; + +- io.AddKeyEvent(ImGuiKey(key), arg.type == OgreBites::KEYDOWN); ++ io.AddKeyEvent(static_cast<ImGuiKey>(key), arg.type == OgreBites::KEYDOWN); + return io.WantCaptureKeyboard; + } + +diff --git a/Components/Overlay/CMakeLists.txt b/Components/Overlay/CMakeLists.txt +index 41bd634..87f1406 100644 +--- a/Components/Overlay/CMakeLists.txt ++++ b/Components/Overlay/CMakeLists.txt +@@ -19,6 +19,8 @@ list(APPEND HEADER_FILES + file(GLOB SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp") + + if(OGRE_BUILD_COMPONENT_OVERLAY_IMGUI) ++ find_package(imgui CONFIG REQUIRED) ++elseif(0) + set(IMGUI_DIR "${PROJECT_BINARY_DIR}/imgui-1.91.2" CACHE PATH "") + if(NOT EXISTS ${IMGUI_DIR}) + message(STATUS "Downloading imgui") +@@ -63,6 +65,8 @@ elseif(UNIX) + endif() + + if(OGRE_BUILD_COMPONENT_OVERLAY_IMGUI) ++ target_link_libraries(OgreOverlay PUBLIC OgreMain PRIVATE imgui::imgui) ++elseif(0) + target_include_directories(OgreOverlay PUBLIC + PUBLIC "$<BUILD_INTERFACE:${IMGUI_DIR}>" + PRIVATE "$<BUILD_INTERFACE:${IMGUI_DIR}/misc/freetype>") +diff --git a/PlugIns/EXRCodec/src/OgreEXRCodec.cpp b/PlugIns/EXRCodec/src/OgreEXRCodec.cpp +index efd4b32..1e3ea23 100644 +--- a/PlugIns/EXRCodec/src/OgreEXRCodec.cpp ++++ b/PlugIns/EXRCodec/src/OgreEXRCodec.cpp +@@ -36,6 +36,9 @@ THE SOFTWARE. + #include "O_IStream.h" + + #include <cmath> ++#include <ImathBox.h> ++#include <ImfFrameBuffer.h> ++#include <ImfHeader.h> + #include <ImfOutputFile.h> + #include <ImfInputFile.h> + #include <ImfChannelList.h> +diff --git a/PlugIns/STBICodec/CMakeLists.txt b/PlugIns/STBICodec/CMakeLists.txt +index 10283f5..e7edfd3 100644 +--- a/PlugIns/STBICodec/CMakeLists.txt ++++ b/PlugIns/STBICodec/CMakeLists.txt +@@ -19,8 +19,10 @@ endif() + add_library(Codec_STBI ${OGRE_LIB_TYPE} ${HEADER_FILES} ${SOURCES}) + target_link_libraries(Codec_STBI PUBLIC OgreMain) + ++find_path(STB_INCLUDE_DIRS "stb_image.h") + target_include_directories(Codec_STBI PUBLIC + "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>" ++ "$<BUILD_INTERFACE:${STB_INCLUDE_DIRS}>" + $<INSTALL_INTERFACE:include/OGRE/Plugins/STBICodec>) + + if(CMAKE_COMPILER_IS_GNUCXX) +diff --git a/PlugIns/STBICodec/src/OgreSTBICodec.cpp b/PlugIns/STBICodec/src/OgreSTBICodec.cpp +index c5a4d4b..df648d7 100644 +--- a/PlugIns/STBICodec/src/OgreSTBICodec.cpp ++++ b/PlugIns/STBICodec/src/OgreSTBICodec.cpp +@@ -40,7 +40,7 @@ THE SOFTWARE. + #define STBI_NO_STDIO + #define STB_IMAGE_IMPLEMENTATION + #define STB_IMAGE_STATIC +-#include "stbi/stb_image.h" ++#include "stb_image.h" + + #ifdef HAVE_ZLIB + #include <zlib.h> +@@ -63,7 +63,7 @@ static Ogre::uchar* custom_zlib_compress(Ogre::uchar* data, int data_len, int* o + + #define STB_IMAGE_WRITE_IMPLEMENTATION + #define STBI_WRITE_NO_STDIO +-#include "stbi/stb_image_write.h" ++#include "stb_image_write.h" + + namespace Ogre { + +@@ -74,7 +74,7 @@ namespace Ogre { + stbi_convert_iphone_png_to_rgb(1); + stbi_set_unpremultiply_on_load(1); + +- LogManager::getSingleton().logMessage("stb_image - v2.30 - public domain image loader"); ++ LogManager::getSingleton().logMessage("stb_image - public domain image loader"); + + // Register codecs + String exts = "jpeg,jpg,png,bmp,psd,tga,gif,pic,ppm,pgm,hdr"; |