Man nix fucking sucks for managing vulkan/opengl projects on other distros
This commit is contained in:
parent
5a1a85885a
commit
a3657eb0e4
4 changed files with 37 additions and 0 deletions
|
|
@ -25,6 +25,7 @@ message(STATUS "wgpu include dir: ${WGPU_INCLUDE}")
|
||||||
find_package(SDL3 REQUIRED)
|
find_package(SDL3 REQUIRED)
|
||||||
find_package(SDL3_image REQUIRED)
|
find_package(SDL3_image REQUIRED)
|
||||||
find_package(cglm REQUIRED)
|
find_package(cglm REQUIRED)
|
||||||
|
find_package(Vulkan REQUIRED)
|
||||||
include(FeatureSummary)
|
include(FeatureSummary)
|
||||||
feature_summary(WHAT PACKAGES_FOUND)
|
feature_summary(WHAT PACKAGES_FOUND)
|
||||||
|
|
||||||
|
|
@ -51,6 +52,7 @@ target_include_directories(${PROJECT_NAME} PRIVATE
|
||||||
${SDL3_image_INCLUDE_DIRS}
|
${SDL3_image_INCLUDE_DIRS}
|
||||||
${GLFW_INCLUDE_DIRS}
|
${GLFW_INCLUDE_DIRS}
|
||||||
${CGLM_INCLUDE_DIRS}
|
${CGLM_INCLUDE_DIRS}
|
||||||
|
${Vulkan_INCLUDE_DIRS}
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(${PROJECT_NAME}
|
target_link_libraries(${PROJECT_NAME}
|
||||||
|
|
@ -58,4 +60,5 @@ target_link_libraries(${PROJECT_NAME}
|
||||||
${SDL3_LIBRARIES}
|
${SDL3_LIBRARIES}
|
||||||
${SDL3_image_LIBRARIES}
|
${SDL3_image_LIBRARIES}
|
||||||
${CGLM_LIBRARIES}
|
${CGLM_LIBRARIES}
|
||||||
|
${Vulkan_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
|
||||||
31
default.nix
Normal file
31
default.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
{ pkgs ? import <nixpkgs> {} }:
|
||||||
|
|
||||||
|
pkgs.stdenv.mkDerivation {
|
||||||
|
name = "webgpu";
|
||||||
|
src = ./.;
|
||||||
|
|
||||||
|
nativeBuildInputs = with pkgs; [
|
||||||
|
cmake
|
||||||
|
wgpu-native
|
||||||
|
cglm
|
||||||
|
sdl3
|
||||||
|
sdl3-image
|
||||||
|
nixgl.nixVulkanIntel
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = with pkgs; [
|
||||||
|
vulkan-headers
|
||||||
|
vulkan-loader
|
||||||
|
vulkan-tools
|
||||||
|
];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
cmake .
|
||||||
|
make
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
cp webgpu $out/bin
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
|
@ -13,6 +13,7 @@
|
||||||
overlays = [ nixgl.overlay ];
|
overlays = [ nixgl.overlay ];
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
|
packages.x86_64-linux.default = (import ./default.nix { inherit pkgs; });
|
||||||
devShells.x86_64-linux.default = (import ./shell.nix { inherit pkgs; });
|
devShells.x86_64-linux.default = (import ./shell.nix { inherit pkgs; });
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,8 @@ pkgs.mkShell
|
||||||
sdl3-image
|
sdl3-image
|
||||||
nixgl.nixVulkanIntel
|
nixgl.nixVulkanIntel
|
||||||
vulkan-headers
|
vulkan-headers
|
||||||
|
vulkan-loader
|
||||||
|
vulkan-tools
|
||||||
];
|
];
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
export PS1="(webgpu) $PS1"
|
export PS1="(webgpu) $PS1"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue