{
  "app-id": "org.duckstation.DuckStation",
  "runtime": "org.kde.Platform",
  "runtime-version": "6.6",
  "sdk": "org.kde.Sdk",
  "sdk-extensions": [
    "org.freedesktop.Sdk.Extension.llvm17"
  ],
  "command": "duckstation-qt",
  "finish-args": [
    "--device=all",
    "--allow=bluetooth",
    "--share=network",
    "--share=ipc",
    "--socket=x11",
    "--socket=pulseaudio",
    "--talk-name=org.freedesktop.ScreenSaver",
    "--env=QT_QPA_PLATFORM=xcb"
  ],
  "modules": [
    "modules/20-sdl2.json",
    "modules/21-libbacktrace.json",
    "modules/22-shaderc.json",
    {
      "name": "duckstation",
      "buildsystem": "cmake-ninja",
      "no-make-install": true,
      "build-options": {
        "strip": false,
        "no-debuginfo": true,
        "config-opts": [
          "-DCMAKE_BUILD_TYPE=Release",
          "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON",
          "-DBUILD_NOGUI_FRONTEND=OFF",
          "-DBUILD_QT_FRONTEND=ON",
          "-DBUILD_TESTS=OFF",
          "-DCMAKE_C_COMPILER=/usr/lib/sdk/llvm17/bin/clang",
          "-DCMAKE_CXX_COMPILER=/usr/lib/sdk/llvm17/bin/clang++",
          "-DCMAKE_EXE_LINKER_FLAGS_INIT=-fuse-ld=lld",
          "-DCMAKE_MODULE_LINKER_FLAGS_INIT=-fuse-ld=lld",
          "-DCMAKE_SHARED_LINKER_FLAGS_INIT=-fuse-ld=lld"
        ]
      },
      "sources": [
        {
          "type": "dir",
          "path": "../.."
        }
      ],
      "post-install": [
        "cp -a \"${FLATPAK_BUILDER_BUILDDIR}/bin\" ${FLATPAK_DEST}",
        "install -Dm644 scripts/org.duckstation.DuckStation.png ${FLATPAK_DEST}/share/icons/hicolor/512x512/apps/org.duckstation.DuckStation.png",
        "install -Dm644 scripts/org.duckstation.DuckStation.desktop ${FLATPAK_DEST}/share/applications/org.duckstation.DuckStation.desktop",
        "install -Dm644 scripts/flatpak/org.duckstation.DuckStation.metainfo.xml ${FLATPAK_DEST}/share/metainfo/org.duckstation.DuckStation.metainfo.xml"
      ]
    }
  ]
}