Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ogre for openSUSE:Factory checked in at 2022-01-04 19:37:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ogre (Old) and /work/SRC/openSUSE:Factory/.ogre.new.1896 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ogre" Tue Jan 4 19:37:28 2022 rev:8 rq:943578 version:13.2.4 Changes: -------- --- /work/SRC/openSUSE:Factory/ogre/ogre.changes 2021-09-07 21:22:02.641348116 +0200 +++ /work/SRC/openSUSE:Factory/.ogre.new.1896/ogre.changes 2022-01-04 19:37:33.557935531 +0100 @@ -1,0 +2,88 @@ +Tue Dec 21 18:53:03 UTC 2021 - Ferdinand Thiessen <[email protected]> + +- Use update-alternatives for plugin.cfg + +------------------------------------------------------------------- +Thu Dec 16 14:47:58 UTC 2021 - Ferdinand Thiessen <[email protected]> + +- Update to 13.2.4 + * PixelFormat: use red channel when packing PF_A8 to match OpenGL + * Ogre.h: include OgreUnifiedHighLevelGpuProgram.h + * Vulkan: + * add swizzling for PF_A8 + * enable PF_DEPTH32 +- Add ff55ef7b272fa0fb5be935ac41af67f5d6e15bf4.patch from upstream + fixes linking issues with version 13.2.2+ +- Update to 13.2.1 + * Frustum: deprecate getProjectionMatrixRS + * Mesh: drop mSkeletonName as it always matches mSkeleton + * update zip/ miniz to 2.2.0 + * Media: drop obsolete HLMS shaders + * RTSS: allow targeting glslang + * Overlay: fix missing bits for HiDPI support + * Terrain: GLSL - add Vulkan support + * GLSLang: use latest GLSL version to get all features + * Vulkan: add new RenderSystem based on ogre-next version + * GL*: drop superflous GLHardwarePixelBuffer indirection + * update imgui to 1.85 + * Many other features and bug fixes, full list is available: + https://github.com/OGRECave/ogre/releases/tag/v13.2.0 +- Added 0001-Fix-plugins-not-installed-into-OGRE_PLUGINS_PATH.patch + install plugins into configured plugin path +- Added 0001-Vulkan-Use-find_package-to-support-system-wide-insta.patch + support system wide installed vulkan. + +------------------------------------------------------------------- +Tue Dec 14 09:36:02 UTC 2021 - Ferdinand Thiessen <[email protected]> + +- Update to 13.1.1 + * add Rectangle2D to Ogre.h + * Deprecated - drop duplicate definition of aligned_vector + * RTSS: implement two-sided lighting + * Bites: Use Qt 6 for OgreBitesQt if present + * UnifiedShader: + * add texture2DArray support and refactor respective sample + * initial support for glslang + * GLSLang: enable standard params & add vulkan support + * Many other features and bug fixes, full list is available: + https://github.com/OGRECave/ogre/releases/tag/v13.1.0 + +------------------------------------------------------------------- +Tue Dec 14 09:15:46 UTC 2021 - Ferdinand Thiessen <[email protected]> + +- Update to 13.0.1, version scheme changed. With breaking changes: + * Deprecated std wrappers and SceneType into OgreDeprecated.h + * Several private structures are not exposed anymore + * Dopped + * "Custom Render Queues" support + * deprecated SceneLoader API + * long-standing hard deprecations + * most of texture_alias API + * ParticleIterator + * _StringBase & _StringStreamBase indirection + * subroutine API in favor of specialization constants + * support for TEX_TYPE_2D_RECT + * rename Media/ShadowVolume to Media/Main + * add API for exporting scene hierarchy + dotscene implementation + * add GLSLang shader compiler plugin + * Many other new features and bug fixes, full list available: + https://github.com/OGRECave/ogre/releases/tag/v13.0.0 + +------------------------------------------------------------------- +Fri Dec 10 23:33:51 UTC 2021 - Ferdinand Thiessen <[email protected]> + +- Update to 1.12.13 + * Add API for exporting scene hierarchy + dotscene implementation + * DDSCodec - disable mips instead of decompressing + * FileSystemLayer - also look relative to lib for configs on Linux + * MaterialSerializer - do not export RTSS techniques by default + * Root - catch bad config options in restoreConfig + * SceneManager::createLight - add convenience param to specify Type + * TRect - add asserts to merge & intersect + * Viewport - disable clearBuffers if clearEveryFrame is off + * Overlay: Font - Texture must be removed to allow reloading + * Terrain: Delete plane when shutting down. + * A lot bug fixes +- Add fix-assimp-cmake.patch, fixes assimp detection by cmake + +------------------------------------------------------------------- Old: ---- imgui-1.79.tar.gz ogre-1.12.12.tar.gz New: ---- 0001-Fix-plugins-not-installed-into-OGRE_PLUGINS_PATH.patch 0001-Vulkan-Use-find_package-to-support-system-wide-insta.patch ff55ef7b272fa0fb5be935ac41af67f5d6e15bf4.patch fix-assimp-cmake.patch imgui-1.85.tar.gz ogre-13.2.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ogre.spec ++++++ --- /var/tmp/diff_new_pack.Ock5MA/_old 2022-01-04 19:37:35.017937442 +0100 +++ /var/tmp/diff_new_pack.Ock5MA/_new 2022-01-04 19:37:35.025937452 +0100 @@ -1,7 +1,7 @@ # # spec file for package ogre # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,14 +16,20 @@ # -%define im_version 1.79 -%define _version 1-12-12 -%define soname 1_12_12 +%define major 13 +%define minor 2 +%define third 4 +%define sover %{major}.%{minor} +%define soname %{major}_%{minor} +%define plugin_dir %{_libdir}/OGRE%{soname} +# Version from https://github.com/OGRECave/ogre/blob/v%version/Components/Overlay/CMakeLists.txt#L25 +%define im_version 1.85 +# CG is non free, so not build by default %bcond_with cg # OpenEXR v3 is incompatible https://github.com/OGRECave/ogre/issues/2179 %bcond_with openexr Name: ogre -Version: 1.12.12 +Version: %{major}.%{minor}.%{third} Release: 0 Summary: Object-Oriented Graphics Rendering Engine License: LGPL-2.1-only @@ -32,29 +38,37 @@ Source0: https://github.com/OGRECave/ogre/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Source1: https://github.com/ocornut/imgui/archive/v%{im_version}.tar.gz#/imgui-%{im_version}.tar.gz Source99: %{name}-rpmlintrc -# PATCH-FIX-UPSTREAM python3-sitelib.patch -- Detect correct python sitelib path +# PATCH-FIX-UPSTREAM python3-sitelib.patch -- https://github.com/OGRECave/ogre/pull/2317 Patch0: python3-sitelib.patch -BuildRequires: cmake +# PATCH-FIX-UPSTREAM fix-assimp-cmake.patch -- https://github.com/OGRECave/ogre/pull/2318 +Patch1: fix-assimp-cmake.patch +# PATCH-FIX-UPSTREAM ff55ef7b272fa0fb5be935ac41af67f5d6e15bf4.patch -- Fix linking with no-undefined set +Patch2: https://github.com/OGRECave/ogre/commit/ff55ef7b272fa0fb5be935ac41af67f5d6e15bf4.patch +# PATCH-FIX-UPSTREAM 0001-Fix-plugins-not-installed-into-OGRE_PLUGINS_PATH.patch -- https://github.com/OGRECave/ogre/pull/2320 +Patch3: 0001-Fix-plugins-not-installed-into-OGRE_PLUGINS_PATH.patch +# PATCH-FEAT-UPSTREAM 0001-Vulkan-Use-find_package-to-support-system-wide-insta.patch +Patch4: 0001-Vulkan-Use-find_package-to-support-system-wide-insta.patch +BuildRequires: cmake >= 3.10 BuildRequires: dos2unix BuildRequires: doxygen BuildRequires: fdupes BuildRequires: freeimage-devel BuildRequires: gcc-c++ +BuildRequires: glslang-devel BuildRequires: imgui-devel BuildRequires: pkgconfig BuildRequires: python3 BuildRequires: swig +BuildRequires: cmake(SPIRV-Tools) +BuildRequires: cmake(assimp) BuildRequires: mono(mcs) -%if %{with openexr} -BuildRequires: pkgconfig(OpenEXR) -%endif BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Gui) -BuildRequires: pkgconfig(assimp) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(pugixml) BuildRequires: pkgconfig(python3) BuildRequires: pkgconfig(sdl2) +BuildRequires: pkgconfig(vulkan) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xaw7) BuildRequires: pkgconfig(xrandr) @@ -63,6 +77,9 @@ %if %{with cg} BuildRequires: cg-devel %endif +%if %{with openexr} +BuildRequires: pkgconfig(OpenEXR) < 3.0 +%endif %description OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented, flexible @@ -74,6 +91,8 @@ %package media Summary: Required media files for OGRE +# There must only one media package installed! As using programs hardcode the path +Conflicts: %{name}-media < %{version} %description media OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented 3D engine. @@ -98,7 +117,7 @@ %package -n libOgreMain%{soname} Summary: Ogre 3D: an open source graphics engine Group: System/Libraries -Recommends: %{name}-media = %{version} +Recommends: %{name}-media >= %{version} Recommends: libOgreMain%{soname}-codecs Recommends: libOgreMain%{soname}-plugins @@ -146,6 +165,9 @@ Summary: Ogre 3D: an open source graphics engine Group: System/Libraries Provides: libOgreMain-plugins = %{version} +Conflicts: libOgreMain-plugins <= 1.12.13 +Requires(post): update-alternatives +Requires(postun):update-alternatives %description -n libOgreMain%{soname}-plugins OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented 3D engine. @@ -297,7 +319,7 @@ %package -n libOgreMeshLodGenerator-devel Summary: Development headers for Mesh LOD Group: Development/Libraries/C and C++ -Requires: libOgreMeshLodGenerator%{soname} +Requires: libOgreMeshLodGenerator%{soname} = %{version} %description -n libOgreMeshLodGenerator-devel OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented 3D engine. @@ -446,19 +468,21 @@ %prep %setup -q -a1 -%patch0 -p1 +%autopatch -p1 dos2unix ./Docs/ogre_style.css %build mkdir %{__builddir} -ln -s {../,%{__builddir}}/imgui-%{im_version} -%cmake -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \ +ln -s {..,%{__builddir}}/imgui-%{im_version} +%cmake \ + -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DOGRE_LIB_DIRECTORY=%{_lib} \ - -DOGRE_INSTALL_SAMPLES=ON \ - -DOGRE_INSTALL_SAMPLES_SOURCE=ON \ + -DOGRE_BUILD_SAMPLES=ON \ -DOGRE_INSTALL_DOCS=ON \ + -DOGRE_PLUGINS_PATH="%{_lib}/OGRE%{soname}" \ + -DOGRE_BUILD_RENDERSYSTEM_VULKAN=ON \ -DOGRE_BUILD_DEPENDENCIES=OFF %cmake_build @@ -466,9 +490,32 @@ %cmake_install mkdir -p "%{buildroot}%{_docdir}" mv "%{buildroot}%{_datadir}/doc/OGRE" "%{buildroot}%{_docdir}/OGRE" +# Install samples' source +mkdir -p %{buildroot}%{_datadir}/OGRE +cp -R Samples %{buildroot}%{_datadir}/OGRE/ +# create a dummy target for /etc/alternatives/ogre (plugins config) +mv %{buildroot}%{_datadir}/OGRE/plugins.cfg %{buildroot}%{_datadir}/OGRE/plugins%{sover}.cfg +mkdir -p %{buildroot}%{_sysconfdir}/alternatives +ln -s -f %{_sysconfdir}/alternatives/ogre %{buildroot}%{_datadir}/OGRE/plugins.cfg +# Fix file and directory permissions +find %{buildroot}%{_datadir}/OGRE/ -type f -exec chmod 0644 \{\} + +find %{buildroot}%{_datadir}/OGRE/ -type d -exec chmod 0755 \{\} + +# Remove duplicates %fdupes %{buildroot}%{_includedir}/OGRE %fdupes %{buildroot}%{_datadir} +%post -n libOgreMain%{soname}-plugins +update-alternatives --install \ + %{_datadir}/OGRE/plugins.cfg \ + ogre \ + %{_datadir}/OGRE/plugins%{sover}.cfg \ + $(printf '%02d%02d' %{major} %{minor}) + +%postun -n libOgreMain%{soname}-plugins +if [ ! -f %{_datadir}/OGRE/plugins%{sover}.cfg ] ; then + update-alternatives --remove ogre %{_datadir}/OGRE/plugins%{sover}.cfg +fi + %post -n libOgreBites%{soname} -p /sbin/ldconfig %postun -n libOgreBites%{soname} -p /sbin/ldconfig %post -n libOgreBitesQt%{soname} -p /sbin/ldconfig @@ -493,13 +540,13 @@ %files -n libOgreMain%{soname} %license LICENSE %dir %{_libdir}/OGRE -%{_libdir}/libOgreMain.so.%{version} +%{_libdir}/libOgreMain.so.%{sover} %files media %dir %{_datadir}/OGRE %dir %{_datadir}/OGRE/Media %{_datadir}/OGRE/resources.cfg -%{_datadir}/OGRE/Media/ShadowVolume +%{_datadir}/OGRE/Media/Main %{_datadir}/OGRE/Media/RTShaderLib %{_datadir}/OGRE/Media/Terrain/ @@ -514,57 +561,62 @@ %{python3_sitelib}/Ogre %files -n libOgreMain%{soname}-codecs -%{_libdir}/OGRE/Codec_Assimp.so{,.%{version}} +%{plugin_dir}/Codec_Assimp.so{,.%{sover}} +%{plugin_dir}/Codec_FreeImage.so{,.%{sover}} +%{plugin_dir}/Codec_STBI.so{,.%{sover}} %if %{with openexr} -%{_libdir}/OGRE/Codec_EXR.so{,.%{version}} +%{plugin_dir}/Codec_EXR.so{,.%{sover}} %endif -%{_libdir}/OGRE/Codec_FreeImage.so{,.%{version}} -%{_libdir}/OGRE/Codec_STBI.so{,.%{version}} %files -n libOgreMain%{soname}-plugins +%dir %{plugin_dir} +%{_datadir}/OGRE/plugins%{sover}.cfg %{_datadir}/OGRE/plugins.cfg -%{_libdir}/OGRE/RenderSystem_GL.so{,.%{version}} -%{_libdir}/OGRE/RenderSystem_GL3Plus.so{,.%{version}} -%{_libdir}/OGRE/RenderSystem_GLES2.so{,.%{version}} -%{_libdir}/OGRE/Plugin_BSPSceneManager.so{,.%{version}} -%{_libdir}/OGRE/Plugin_DotScene.so{,.%{version}} -%{_libdir}/OGRE/Plugin_OctreeZone.so{,.%{version}} -%{_libdir}/OGRE/Plugin_OctreeSceneManager.so{,.%{version}} -%{_libdir}/OGRE/Plugin_ParticleFX.so{,.%{version}} -%{_libdir}/OGRE/Plugin_PCZSceneManager.so{,.%{version}} +%ghost %{_sysconfdir}/alternatives/plugins.cfg +%{plugin_dir}/RenderSystem_GL.so{,.%{sover}} +%{plugin_dir}/RenderSystem_GL3Plus.so{,.%{sover}} +%{plugin_dir}/RenderSystem_GLES2.so{,.%{sover}} +%{plugin_dir}/RenderSystem_Vulkan.so{,.%{sover}} +%{plugin_dir}/Plugin_BSPSceneManager.so{,.%{sover}} +%{plugin_dir}/Plugin_DotScene.so{,.%{sover}} +%{plugin_dir}/Plugin_OctreeZone.so{,.%{sover}} +%{plugin_dir}/Plugin_OctreeSceneManager.so{,.%{sover}} +%{plugin_dir}/Plugin_ParticleFX.so{,.%{sover}} +%{plugin_dir}/Plugin_PCZSceneManager.so{,.%{sover}} +%{plugin_dir}/Plugin_GLSLangProgramManager.so{,.%{sover}} %if %{with cg} %files -n libOgreMain%{soname}-plugin-Cg -%dir %{_libdir}/OGRE/ -%{_libdir}/OGRE/Plugin_CgProgramManager.so{,.%{version}} +%dir %{plugin_dir} +%{plugin_dir}/Plugin_CgProgramManager.so{,.%{sover}} %endif %files -n libOgreBites%{soname} -%{_libdir}/libOgreBites.so.%{version} +%{_libdir}/libOgreBites.so.%{sover} %files -n libOgreBitesQt%{soname} -%{_libdir}/libOgreBitesQt.so.%{version} +%{_libdir}/libOgreBitesQt.so.%{sover} %files -n libOgreMeshLodGenerator%{soname} -%{_libdir}/libOgreMeshLodGenerator.so.%{version} +%{_libdir}/libOgreMeshLodGenerator.so.%{sover} %files -n libOgrePaging%{soname} -%{_libdir}/libOgrePaging.so.%{version} +%{_libdir}/libOgrePaging.so.%{sover} %files -n libOgreProperty%{soname} -%{_libdir}/libOgreProperty.so.%{version} +%{_libdir}/libOgreProperty.so.%{sover} %files -n libOgreOverlay%{soname} -%{_libdir}/libOgreOverlay.so.%{version} +%{_libdir}/libOgreOverlay.so.%{sover} %files -n libOgreVolume%{soname} -%{_libdir}/libOgreVolume.so.%{version} +%{_libdir}/libOgreVolume.so.%{sover} %files -n libOgreRTShaderSystem%{soname} -%{_libdir}/libOgreRTShaderSystem.so.%{version} +%{_libdir}/libOgreRTShaderSystem.so.%{sover} %files -n libOgreTerrain%{soname} -%{_libdir}/libOgreTerrain.so.%{version} +%{_libdir}/libOgreTerrain.so.%{sover} %files -n libOgreMain-devel %dir %{_includedir}/OGRE/ @@ -625,7 +677,7 @@ %{_libdir}/OGRE/Samples/ %{_bindir}/SampleBrowser %{_datadir}/OGRE/Media/* -%exclude %{_datadir}/OGRE/Media/ShadowVolume +%exclude %{_datadir}/OGRE/Media/Main %exclude %{_datadir}/OGRE/Media/RTShaderLib %exclude %{_datadir}/OGRE/Media/Terrain/ %{_datadir}/OGRE/GLX_backdrop.png ++++++ 0001-Fix-plugins-not-installed-into-OGRE_PLUGINS_PATH.patch ++++++ diff --git a/CMake/ConfigureBuild.cmake b/CMake/ConfigureBuild.cmake index ebb9be452..4a1f2f4cc 100644 --- a/CMake/ConfigureBuild.cmake +++ b/CMake/ConfigureBuild.cmake @@ -157,11 +157,9 @@ endif () # Create the pkg-config package files on Unix systems if (UNIX) - set(OGRE_PLUGIN_PREFIX "") set(OGRE_PLUGIN_EXT ".so") set(OGRE_PAGING_ADDITIONAL_PACKAGES "") if (OGRE_STATIC) - set(OGRE_PLUGIN_PREFIX "lib") set(OGRE_PLUGIN_EXT ".a") endif () diff --git a/CMake/Templates/OGRE-PCZ.pc.in b/CMake/Templates/OGRE-PCZ.pc.in index d974fbebd..4f77a0ea5 100644 --- a/CMake/Templates/OGRE-PCZ.pc.in +++ b/CMake/Templates/OGRE-PCZ.pc.in @@ -1,11 +1,11 @@ prefix=@OGRE_PREFIX_PATH@ exec_prefix=${prefix} -libdir=${prefix}/@OGRE_LIB_DIRECTORY@ +plugindir=${prefix}/@OGRE_PLUGINS_PATH@ includedir=${prefix}/include Name: OGRE-PCZ Description: Portal-Connected Zone Scene Manager for OGRE Version: @OGRE_VERSION@ Requires: OGRE = @OGRE_VERSION@ -Libs: ${libdir}/OGRE/@OGRE_PLUGIN_PREFIX@Plugin_PCZSceneManager@OGRE_LIB_SUFFIX@@OGRE_PLUGIN_EXT@ ${libdir}/OGRE/@OGRE_PLUGIN_PREFIX@Plugin_OctreeZone@OGRE_LIB_SUFFIX@@OGRE_PLUGIN_EXT@ -Wl,-rpath,${libdir}/OGRE +Libs: -L${plugindir} -lPlugin_PCZSceneManager@OGRE_LIB_SUFFIX@ -lPlugin_OctreeZone@OGRE_LIB_SUFFIX@ Cflags: -I${includedir}/OGRE/Plugins/PCZSceneManager -I${includedir}/OGRE/Plugins/OctreeZone @OGRE_CFLAGS@ diff --git a/CMake/Templates/OGRE.pc.in b/CMake/Templates/OGRE.pc.in index 5d752f299..26e471d8f 100644 --- a/CMake/Templates/OGRE.pc.in +++ b/CMake/Templates/OGRE.pc.in @@ -2,7 +2,7 @@ prefix=@OGRE_PREFIX_PATH@ exec_prefix=${prefix} libdir=${prefix}/@OGRE_LIB_DIRECTORY@ includedir=${prefix}/include -plugindir=${libdir}/OGRE +plugindir=${prefix}/@OGRE_PLUGINS_PATH@ Name: OGRE Description: Object-Oriented Graphics Rendering Engine diff --git a/CMake/Templates/OGREStatic.pc.in b/CMake/Templates/OGREStatic.pc.in index 39a748eed..4e4202bb8 100644 --- a/CMake/Templates/OGREStatic.pc.in +++ b/CMake/Templates/OGREStatic.pc.in @@ -2,7 +2,7 @@ prefix=@OGRE_PREFIX_PATH@ exec_prefix=${prefix} libdir=${prefix}/@OGRE_LIB_DIRECTORY@ includedir=${prefix}/include -plugindir=${libdir}/OGRE +plugindir=${prefix}/@OGRE_PLUGINS_PATH@ Name: OGRE (static lib) Description: Object-Oriented Graphics Rendering Engine diff --git a/CMake/Utils/OgreConfigTargets.cmake b/CMake/Utils/OgreConfigTargets.cmake index 772aa32b5..f8edc9e7a 100644 --- a/CMake/Utils/OgreConfigTargets.cmake +++ b/CMake/Utils/OgreConfigTargets.cmake @@ -48,7 +48,6 @@ if (WIN32) set(OGRE_LIB_RELWDBG_PATH "") set(OGRE_LIB_MINSIZE_PATH "") set(OGRE_LIB_DEBUG_PATH "") - set(OGRE_PLUGIN_PATH "/OGRE") set(OGRE_SAMPLE_PATH "/OGRE/Samples") elseif (UNIX) set(OGRE_RELEASE_PATH "") @@ -68,11 +67,6 @@ elseif (UNIX) if(APPLE AND APPLE_IOS) set(OGRE_LIB_RELEASE_PATH "/Release") endif(APPLE AND APPLE_IOS) - if (OGRE_BUILD_LIBS_AS_FRAMEWORKS) - set(OGRE_PLUGIN_PATH "/") - else() - set(OGRE_PLUGIN_PATH "/OGRE") - endif() set(OGRE_SAMPLE_PATH "/OGRE/Samples") endif () @@ -137,9 +131,16 @@ function(ogre_install_target TARGETNAME SUFFIX EXPORT) ARCHIVE DESTINATION "${OGRE_LIB_DIRECTORY}${OGRE_LIB_DEBUG_PATH}${SUFFIX}" FRAMEWORK DESTINATION "${OGRE_LIB_DIRECTORY}${OGRE_DEBUG_PATH}/Debug") endif() - endfunction(ogre_install_target) +function(ogre_install_plugin TARGETNAME) + if (OGRE_BUILD_LIBS_AS_FRAMEWORKS) + ogre_install_target(${TARGETNAME} "/" TRUE) + else() + install(TARGETS ${PLUGINNAME} DESTINATION ${OGRE_PLUGINS_PATH}) + endif() +endfunction(ogre_install_plugin) + # setup common target settings function(ogre_config_common TARGETNAME) set_target_properties(${TARGETNAME} PROPERTIES @@ -259,7 +260,8 @@ function(ogre_config_plugin PLUGINNAME) set_target_properties(${PLUGINNAME} PROPERTIES PREFIX "") endif (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") endif (OGRE_STATIC) - ogre_install_target(${PLUGINNAME} ${OGRE_PLUGIN_PATH} TRUE) + + ogre_install_plugin(${PLUGINNAME}) if (OGRE_INSTALL_PDB) # install debug pdb files ++++++ 0001-Vulkan-Use-find_package-to-support-system-wide-insta.patch ++++++ >From 24a6bfd7ecb1b9deb76f34ab85196c37eb332cfb Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen <[email protected]> Date: Thu, 16 Dec 2021 13:45:04 +0100 Subject: [PATCH] Vulkan: Use find_package to support system wide installed SDK, still supports VULKAN_SDK env variable --- CMake/Dependencies.cmake | 3 ++- PlugIns/GLSLang/CMakeLists.txt | 7 +++---- RenderSystems/Vulkan/CMakeLists.txt | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/CMake/Dependencies.cmake b/CMake/Dependencies.cmake index 39c1c238c..1a01291a1 100644 --- a/CMake/Dependencies.cmake +++ b/CMake/Dependencies.cmake @@ -226,7 +226,8 @@ if (NOT (APPLE_IOS OR WINDOWS_STORE OR WINDOWS_PHONE OR ANDROID OR EMSCRIPTEN)) endif () # Find Vulkan SDK -macro_log_feature(ENV{VULKAN_SDK} "Vulkan SDK" "Vulkan RenderSystem, glslang Plugin. Alternatively use system packages" "https://vulkan.lunarg.com/" FALSE "" "") +find_package(Vulkan) +macro_log_feature(Vulkan_FOUND "Vulkan SDK" "Vulkan RenderSystem, glslang Plugin. Alternatively use system packages" "https://vulkan.lunarg.com/" FALSE "" "") # OpenEXR find_package(OpenEXR) diff --git a/PlugIns/GLSLang/CMakeLists.txt b/PlugIns/GLSLang/CMakeLists.txt index 91f675f72..45a1762ba 100644 --- a/PlugIns/GLSLang/CMakeLists.txt +++ b/PlugIns/GLSLang/CMakeLists.txt @@ -13,9 +13,8 @@ if(ANDROID) target_link_libraries(Plugin_GLSLangProgramManager PUBLIC OgreMain ${ANDROID_NDK}/sources/third_party/shaderc/libs/c++_static/${ANDROID_ABI}/libshaderc.a) elseif(WIN32) - target_include_directories(Plugin_GLSLangProgramManager PRIVATE $ENV{VULKAN_SDK}/include) - target_link_directories(Plugin_GLSLangProgramManager PRIVATE $ENV{VULKAN_SDK}/lib) - target_link_libraries(Plugin_GLSLangProgramManager PUBLIC OgreMain shaderc_combined) + target_include_directories(Plugin_GLSLangProgramManager PRIVATE ${Vulkan_INCLUDE_DIRS}) + target_link_libraries(Plugin_GLSLangProgramManager PUBLIC OgreMain shaderc_combined PRIVATE Vulkan::Vulkan) else() target_link_libraries(Plugin_GLSLangProgramManager PUBLIC OgreMain glslang HLSL OSDependent OGLCompiler SPIRV SPIRV-Tools SPIRV-Tools-opt) endif() @@ -25,4 +24,4 @@ ogre_config_plugin(Plugin_GLSLangProgramManager) generate_export_header(Plugin_GLSLangProgramManager EXPORT_MACRO_NAME _OgreGLSLangProgramManagerExport EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/include/OgreGLSLangProgramManagerExports.h) -install(FILES ${HEADER_FILES} DESTINATION include/OGRE/Plugins/GLSLang) \ No newline at end of file +install(FILES ${HEADER_FILES} DESTINATION include/OGRE/Plugins/GLSLang) diff --git a/RenderSystems/Vulkan/CMakeLists.txt b/RenderSystems/Vulkan/CMakeLists.txt index 8d8b92d3a..f5fc3f46a 100755 --- a/RenderSystems/Vulkan/CMakeLists.txt +++ b/RenderSystems/Vulkan/CMakeLists.txt @@ -18,8 +18,8 @@ set( SOURCE_FILES ${SOURCE_FILES}) add_library(RenderSystem_Vulkan ${OGRE_LIB_TYPE} ${HEADER_FILES} ${SOURCE_FILES}) if(WIN32) - target_include_directories(RenderSystem_Vulkan PRIVATE $ENV{VULKAN_SDK}/Include) - target_link_directories(RenderSystem_Vulkan PRIVATE $ENV{VULKAN_SDK}/Lib) + target_include_directories(RenderSystem_Vulkan PRIVATE ${Vulkan_INCLUDE_DIRS}) + target_link_directories(RenderSystem_Vulkan PRIVATE ${Vulkan_LIBRARY}) set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/src/volk.c" PROPERTIES COMPILE_DEFINITIONS VK_USE_PLATFORM_WIN32_KHR) -- 2.34.1 ++++++ _constraints ++++++ --- /var/tmp/diff_new_pack.Ock5MA/_old 2022-01-04 19:37:35.069937510 +0100 +++ /var/tmp/diff_new_pack.Ock5MA/_new 2022-01-04 19:37:35.073937515 +0100 @@ -1,20 +1,11 @@ <constraints> <hardware> <disk> - <size unit="G">4</size> + <size unit="M">4800</size> </disk> + <memory> + <size unit="G">6</size> + </memory> </hardware> - - <overwrite> - <conditions> - <arch>ppc64le</arch> - <arch>ppc64</arch> - </conditions> - <hardware> - <physicalmemory> - <size unit="G">6</size> - </physicalmemory> - </hardware> - </overwrite> </constraints> ++++++ ff55ef7b272fa0fb5be935ac41af67f5d6e15bf4.patch ++++++ >From ff55ef7b272fa0fb5be935ac41af67f5d6e15bf4 Mon Sep 17 00:00:00 2001 From: Pavel Rojtberg <[email protected]> Date: Tue, 14 Dec 2021 20:01:34 +0100 Subject: [PATCH] add -Wl,--no-undefined and fix fallout --- CMakeLists.txt | 4 ++++ PlugIns/GLSLang/CMakeLists.txt | 2 +- RenderSystems/GL/CMakeLists.txt | 2 +- RenderSystems/Vulkan/CMakeLists.txt | 3 ++- ci-build.cmake | 2 +- 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 830f4cc0d04..5a5b4a93668 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -32,6 +32,10 @@ if(WIN32) set(CMAKE_SUPPRESS_REGENERATION true) endif() +# prefer GLVND +if(POLICY CMP0072) + cmake_policy(SET CMP0072 NEW) +endif() # use legacy swig mode if(POLICY CMP0078) cmake_policy(SET CMP0078 OLD) diff --git a/PlugIns/GLSLang/CMakeLists.txt b/PlugIns/GLSLang/CMakeLists.txt index b504cb45ba5..91f675f7288 100644 --- a/PlugIns/GLSLang/CMakeLists.txt +++ b/PlugIns/GLSLang/CMakeLists.txt @@ -17,7 +17,7 @@ elseif(WIN32) target_link_directories(Plugin_GLSLangProgramManager PRIVATE $ENV{VULKAN_SDK}/lib) target_link_libraries(Plugin_GLSLangProgramManager PUBLIC OgreMain shaderc_combined) else() - target_link_libraries(Plugin_GLSLangProgramManager PUBLIC OgreMain glslang HLSL OSDependent OGLCompiler SPIRV) + target_link_libraries(Plugin_GLSLangProgramManager PUBLIC OgreMain glslang HLSL OSDependent OGLCompiler SPIRV SPIRV-Tools SPIRV-Tools-opt) endif() ogre_config_framework(Plugin_GLSLangProgramManager) diff --git a/RenderSystems/GL/CMakeLists.txt b/RenderSystems/GL/CMakeLists.txt index 22b85a7a6b8..2cd599fd1cb 100644 --- a/RenderSystems/GL/CMakeLists.txt +++ b/RenderSystems/GL/CMakeLists.txt @@ -63,7 +63,7 @@ add_definitions(-DOGRE_GLPLUGIN_EXPORTS ${OGRE_VISIBILITY_FLAGS}) #Note that in the next row SOURCE_FILES are added last. This is to prevent compilation problems of unity build found on Windows Visual Studio. #In this situation any file added after the "glew.cpp" file, which belongs to the SOURCE_FILES package, does not compile add_library(RenderSystem_GL ${OGRE_LIB_TYPE} ${HEADER_FILES} ${GLSL_SOURCE} ${ATIFS_SOURCE} ${NVPARSE_SOURCE} ${SOURCE_FILES}) -target_link_libraries(RenderSystem_GL PUBLIC OgreMain PRIVATE OgreGLSupport) +target_link_libraries(RenderSystem_GL PUBLIC OgreMain PRIVATE OgreGLSupport OpenGL::GL) target_include_directories(RenderSystem_GL PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>" $<INSTALL_INTERFACE:include/OGRE/RenderSystems/GL>) diff --git a/RenderSystems/Vulkan/CMakeLists.txt b/RenderSystems/Vulkan/CMakeLists.txt index 1b782d81ffa..8d8b92d3a18 100755 --- a/RenderSystems/Vulkan/CMakeLists.txt +++ b/RenderSystems/Vulkan/CMakeLists.txt @@ -29,9 +29,10 @@ elseif(ANDROID) else() set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/src/volk.c" PROPERTIES COMPILE_DEFINITIONS VK_USE_PLATFORM_XLIB_KHR) + target_link_libraries(RenderSystem_Vulkan PRIVATE ${X11_LIBRARIES}) endif() -target_link_libraries(RenderSystem_Vulkan PUBLIC OgreMain) +target_link_libraries(RenderSystem_Vulkan PUBLIC OgreMain PRIVATE ${CMAKE_DL_LIBS}) target_include_directories(RenderSystem_Vulkan PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>" diff --git a/ci-build.cmake b/ci-build.cmake index f18f240a74c..beb4473c011 100644 --- a/ci-build.cmake +++ b/ci-build.cmake @@ -1,5 +1,5 @@ set(GENERATOR) -set(OTHER -DCMAKE_CXX_FLAGS=-Werror) +set(OTHER -DCMAKE_CXX_FLAGS=-Werror -DCMAKE_SHARED_LINKER_FLAGS=-Wl,--no-undefined) set(CROSS) set(CMAKE_BUILD_TYPE Debug) ++++++ fix-assimp-cmake.patch ++++++ >From 4d46175873a7e5ddaaa84c9162eed3b8a3e97737 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen <[email protected]> Date: Tue, 14 Dec 2021 17:17:37 +0100 Subject: [PATCH 1/2] Assimp: Fix detection of assimp >= 5.1 --- CMake/Dependencies.cmake | 8 ++++---- CMakeLists.txt | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CMake/Dependencies.cmake b/CMake/Dependencies.cmake index 39c1c238c..226daef1c 100644 --- a/CMake/Dependencies.cmake +++ b/CMake/Dependencies.cmake @@ -251,11 +251,11 @@ find_package(ZLIB) macro_log_feature(ZLIB_FOUND "zlib" "Simple data compression library" "http://www.zlib.net" FALSE "" "") # Assimp -find_package(ASSIMP QUIET) -macro_log_feature(ASSIMP_FOUND "Assimp" "Needed for the AssimpLoader Plugin" "https://www.assimp.org/" FALSE "" "") +find_package(assimp QUIET) +macro_log_feature(assimp_FOUND "Assimp" "Needed for the AssimpLoader Plugin" "https://www.assimp.org/" FALSE "" "") -if(ASSIMP_FOUND) - # workaround horribly broken assimp cmake +if(assimp_FOUND) + # workaround horribly broken assimp cmake, fixed with assimp 5.1 add_library(fix::assimp INTERFACE IMPORTED) set_target_properties(fix::assimp PROPERTIES INTERFACE_LINK_LIBRARIES "${ASSIMP_LIBRARIES}" diff --git a/CMakeLists.txt b/CMakeLists.txt index 830f4cc0d..4a137c70e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -318,7 +318,7 @@ cmake_dependent_option(OGRE_BUILD_RENDERSYSTEM_GL "Build OpenGL RenderSystem" TR cmake_dependent_option(OGRE_BUILD_RENDERSYSTEM_GLES2 "Build OpenGL ES 2.x RenderSystem" TRUE "OPENGLES2_FOUND;NOT WINDOWS_STORE;NOT WINDOWS_PHONE" FALSE) cmake_dependent_option(OGRE_BUILD_RENDERSYSTEM_METAL "Build Metal RenderSystem" FALSE "APPLE" FALSE) option(OGRE_BUILD_RENDERSYSTEM_VULKAN "Build Vulkan RenderSystem" FALSE) -cmake_dependent_option(OGRE_BUILD_PLUGIN_ASSIMP "Build Open Asset Import plugin" TRUE "ASSIMP_FOUND" FALSE) +cmake_dependent_option(OGRE_BUILD_PLUGIN_ASSIMP "Build Open Asset Import plugin" TRUE "assimp_FOUND" FALSE) cmake_dependent_option(OGRE_BUILD_RENDERSYSTEM_TINY "Build Tiny RenderSystem (software-rendering)" FALSE "NOT ANDROID" FALSE) option(OGRE_BUILD_PLUGIN_BSP "Build BSP SceneManager plugin" TRUE) option(OGRE_BUILD_PLUGIN_OCTREE "Build Octree SceneManager plugin" TRUE) -- 2.34.1 ++++++ imgui-1.79.tar.gz -> imgui-1.85.tar.gz ++++++ ++++ 66111 lines of diff (skipped) ++++++ ogre-1.12.12.tar.gz -> ogre-13.2.4.tar.gz ++++++ /work/SRC/openSUSE:Factory/ogre/ogre-1.12.12.tar.gz /work/SRC/openSUSE:Factory/.ogre.new.1896/ogre-13.2.4.tar.gz differ: char 14, line 1 ++++++ ogre-rpmlintrc ++++++ --- /var/tmp/diff_new_pack.Ock5MA/_old 2022-01-04 19:37:35.333937855 +0100 +++ /var/tmp/diff_new_pack.Ock5MA/_new 2022-01-04 19:37:35.337937860 +0100 @@ -1,2 +1,4 @@ addFilter("ogre-demos.*: E: devel-file-in-non-devel-package") +# This is a shader not a devel file +addFilter("ogre-media.*: E: devel-file-in-non-devel-package")
