mirror of
https://github.com/PancakeTAS/lsfg-vk.git
synced 2025-12-08 00:52:21 +00:00
132 lines
3.8 KiB
YAML
132 lines
3.8 KiB
YAML
app-id: io.github.PancakeTAS.lsfgvk
|
|
runtime: org.freedesktop.Platform
|
|
runtime-version: '24.08'
|
|
sdk: org.freedesktop.Sdk
|
|
sdk-extensions:
|
|
- org.freedesktop.Sdk.Extension.llvm20
|
|
finish-args:
|
|
- --share=network
|
|
- --device=dri
|
|
- --filesystem=home
|
|
- --socket=wayland
|
|
- --socket=x11
|
|
|
|
modules:
|
|
# sdl with clang
|
|
- name: SDL2
|
|
buildsystem: cmake
|
|
builddir: true
|
|
build-options:
|
|
append-path: /usr/lib/sdk/llvm20/bin
|
|
env:
|
|
CC: clang
|
|
CXX: clang++
|
|
config-opts:
|
|
- -DCMAKE_INSTALL_PREFIX=/app
|
|
- -DSDL_STATIC=OFF
|
|
- -DSDL_SHARED=ON
|
|
- -DSDL_TEST=OFF
|
|
sources:
|
|
- type: archive
|
|
url: https://github.com/libsdl-org/SDL/archive/refs/tags/release-2.30.3.tar.gz
|
|
sha256: ba67e012a3b0cfba2987f486ebbff13a517905e32bae627f07a327edb10dfd85
|
|
|
|
# vulkan-headers without patch, in-source build
|
|
- name: vulkan-headers
|
|
buildsystem: cmake
|
|
builddir: false
|
|
build-options:
|
|
append-path: /usr/lib/sdk/llvm20/bin
|
|
env:
|
|
CC: clang
|
|
CXX: clang++
|
|
config-opts:
|
|
- -DCMAKE_BUILD_TYPE=Release
|
|
- -DCMAKE_INSTALL_PREFIX=/app
|
|
- -DCMAKE_SKIP_INSTALL_RPATH=ON
|
|
sources:
|
|
- type: git
|
|
url: https://github.com/KhronosGroup/Vulkan-Headers.git
|
|
tag: vulkan-sdk-1.4.313.0
|
|
build-commands:
|
|
- cmake ${CMAKE_ARGS}
|
|
- cmake --build .
|
|
- cmake --install .
|
|
post-install:
|
|
- python3 -m compileall -d /app /app || true
|
|
- python3 -O -m compileall -d /app /app || true
|
|
|
|
#spirv-headers
|
|
- name: spirv-headers
|
|
buildsystem: cmake
|
|
builddir: false
|
|
build-options:
|
|
append-path: /usr/lib/sdk/llvm20/bin
|
|
env:
|
|
CC: clang
|
|
CXX: clang++
|
|
config-opts:
|
|
- -DCMAKE_BUILD_TYPE=Release
|
|
- -DCMAKE_INSTALL_PREFIX=/app
|
|
- -DCMAKE_SKIP_INSTALL_RPATH=ON
|
|
sources:
|
|
- type: git
|
|
url: https://github.com/KhronosGroup/Spirv-Headers.git
|
|
tag: vulkan-sdk-1.4.313.0
|
|
build-commands:
|
|
- cmake ${CMAKE_ARGS}
|
|
- cmake --build .
|
|
- cmake --install .
|
|
post-install:
|
|
- install -Dm644 LICENSE /app/usr/share/licenses/spirv-headers/LICENSE
|
|
|
|
#vulkan-loader
|
|
- name: vulkan-loader
|
|
buildsystem: cmake
|
|
builddir: false
|
|
build-options:
|
|
append-path: /usr/lib/sdk/llvm20/bin
|
|
env:
|
|
CC: clang
|
|
CXX: clang++
|
|
config-opts:
|
|
- -DCMAKE_BUILD_TYPE=Release
|
|
- -DCMAKE_INSTALL_PREFIX=/app
|
|
- -DCMAKE_SKIP_INSTALL_RPATH=ON
|
|
sources:
|
|
- type: git
|
|
url: https://github.com/KhronosGroup/Vulkan-Loader.git
|
|
tag: vulkan-sdk-1.4.313.0
|
|
build-commands:
|
|
- cmake ${CMAKE_ARGS}
|
|
- cmake --build .
|
|
- cmake --install .
|
|
post-install:
|
|
- install -Dm644 LICENSE.txt /app/usr/share/licenses/vulkan-loader/LICENSE.txt
|
|
|
|
# lsfg-vk
|
|
- name: lsfg-vk
|
|
buildsystem: cmake
|
|
build-options:
|
|
append-path: /usr/lib/sdk/llvm20/bin
|
|
prepend-ld-library-path: /usr/lib/sdk/llvm20/lib
|
|
env:
|
|
CC: clang
|
|
CXX: clang++
|
|
config-opts:
|
|
- -DCMAKE_BUILD_TYPE=Release
|
|
- -DCMAKE_INSTALL_PREFIX=/app
|
|
- -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
|
|
- -DCMAKE_SHARED_LINKER_FLAGS=-Wl,-z,lazy
|
|
sources:
|
|
- type: git
|
|
url: https://github.com/PancakeTAS/lsfg-vk.git
|
|
branch: develop
|
|
build-commands:
|
|
- cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/app -DCMAKE_BUILD_TYPE=Release -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_SHARED_LINKER_FLAGS=-Wl,-z,lazy
|
|
- ninja -C build
|
|
- ninja -C build install
|
|
post-install:
|
|
- install -Dm644 VkLayer_LS_frame_generation.json /app/etc/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
|
|
- install -Dm644 build/liblsfg-vk.so /app/lib/liblsfg-vk.so
|
|
- install -Dm644 LICENSE.md /app/share/licenses/lsfg-vk/LICENSE
|