kompute icon indicating copy to clipboard operation
kompute copied to clipboard

VCPKG port feedback

Open kwsp opened this issue 1 year ago • 0 comments

I'm working on a vcpkg port of Kompute to add to the official index. Here's my working repo for testing the port: https://github.com/kwsp/VcpkgKompute

(For the CMake function vulkan_compile_shader I'm depending on https://github.com/KomputeProject/kompute/pull/382)

I would like feedback from the maintainer on 2 issues:

1 . Building with a multi-config generator

I'm able to build and use the port as is with a single configuration build system (e.g. Makefile. To reproduce, clone the test repo and run ./configure_release.sh on *nix with the VCPKG_ROOT env var setup),

However, when I try to use a multi configuration generator (Ninja Multi-Config), I'm getting an error

CMake Error in src/CMakeLists.txt:
  IMPORTED_LOCATION not set for imported target "kompute::kompute"
  configuration "RelWithDebInfo".


CMake Error in src/CMakeLists.txt:
  IMPORTED_LOCATION not set for imported target "kompute::kompute"
  configuration "RelWithDebInfo".


CMake Error in src/CMakeLists.txt:
  IMPORTED_LOCATION not set for imported target "kompute::kompute"
  configuration "RelWithDebInfo".


CMake Error in src/CMakeLists.txt:
  IMPORTED_LOCATION not set for imported target "kompute::kompute"
  configuration "RelWithDebInfo".

To reproduce, clone the test repo and run ./configure_ninja.sh on *nix with the VCPKG_ROOT env var setup.

2. What Kompute build options/features should be exposed as VCPKG features?

Obviously dependencies (e.g. fmt) will be managed by VCPKG so KOMPUTE_OPT_USE_BUILT_IN_FMT=OFF.G I think KOMPUTE_OPT_USE_BUILT_IN_VULKAN_HEADER should be OFF since the user should expect to install the Vulkan SDK?

What other options/features are important to an end user?

Disclaimer: I've not used Kompute extensively in any project yet because I'm a dependency purist and use ALL packages through a vcpkg port, hence I'm working on this.

kwsp avatar Jul 29 '24 00:07 kwsp