packaging: ship the Vulkan backend on all platforms, standard lib layout

- Linux CD builds no longer disable Vulkan: the AppImage, deb, rpm and
  Arch packages now build and ship liboakvulkan (the AppImage deploys
  it via linuxdeploy --library so libvulkan is bundled too, and the
  verify step checks both backend libraries); deb/rpm dependencies gain
  libvulkan1/vulkan-loader; the Arch PKGBUILD gains vulkan-headers
- macOS CD installs vulkan-loader and exports VULKAN_SDK so
  find_package(Vulkan) locates the Homebrew loader (previously the
  Vulkan backend silently never built there)
- ffmpeg_bridge now installs to the standard lib directory with
  /../lib RPATH instead of the non-standard ffmpeg_bridge/bin
  layout (verified: editor, worker, oakgl and oakvulkan all resolve it)
- build guides (EN/ZH) document the macOS Vulkan backend dependencies
  and the VULKAN_SDK variable
This commit is contained in:
2026-07-17 21:41:34 +08:00
parent 6229381426
commit ae908441c8
9 changed files with 68 additions and 25 deletions
+3 -4
View File
@@ -342,9 +342,8 @@ target_link_libraries(libolive-editor PRIVATE ${OLIVE_LIBRARIES})
target_link_libraries(olive-render-worker PRIVATE ${OLIVE_LIBRARIES})
# The ffmpeg_bridge shared library ships next to the binaries: inside the
# macOS app bundle (Contents/MacOS, resolved via @loader_path), and in
# ffmpeg_bridge/bin beside bin/ on other platforms. (Build-tree binaries get
# the correct RPATH from CMake automatically.)
# macOS app bundle (Contents/MacOS, resolved via @loader_path), and in the
# standard lib directory on other platforms.
if (APPLE)
# macOS bundles are distributed via POST_BUILD copies (not install()), so
# @loader_path must already be in the build-tree binaries' RPATH.
@@ -352,7 +351,7 @@ if (APPLE)
set_target_properties(olive-editor olive-render-worker PROPERTIES
BUILD_RPATH "@loader_path")
elseif (UNIX)
set(OLIVE_FB_RPATH "$ORIGIN/../ffmpeg_bridge/bin")
set(OLIVE_FB_RPATH "$ORIGIN/../lib")
endif ()
if (OLIVE_FB_RPATH)
set_target_properties(olive-editor olive-render-worker PROPERTIES
+2 -3
View File
@@ -7,7 +7,7 @@ arch=('x86_64')
url="https://oakvideoeditor.org"
license=('GPL3')
depends=('qt6-base' 'qt6-tools' 'ffmpeg' 'openimageio' 'opencolorio' 'openexr' 'expat' 'portaudio' 'mesa' 'vulkan-icd-loader' 'libxkbcommon' 'fmt')
makedepends=('cmake' 'ninja' 'git' 'pkgconf')
makedepends=('cmake' 'ninja' 'git' 'pkgconf' 'vulkan-headers')
source=("${pkgname}-${pkgver}.tar.gz")
md5sums=('SKIP')
@@ -16,8 +16,7 @@ build() {
cmake -S . -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_QT6=ON \
-DCMAKE_DISABLE_FIND_PACKAGE_Vulkan=ON
-DBUILD_QT6=ON
cmake --build build
}