Restructure

This commit is contained in:
2026-07-26 11:53:49 +01:00
parent 96c89dcb86
commit 4b08866fc6
2 changed files with 13 additions and 12 deletions
+1 -1
View File
@@ -2,7 +2,7 @@ build
compile_commands.json compile_commands.json
.vscode .vscode
*.dSYM *.dSYM
vendor/ src/vendor/ktx/build
scratchpad/** scratchpad/**
!scratchpad/**/ !scratchpad/**/
!scratchpad/**/*.h !scratchpad/**/*.h
+12 -11
View File
@@ -9,30 +9,30 @@ BUILDDIR := "build"
# Resolve VULKAN_SDK once via backtick # Resolve VULKAN_SDK once via backtick
VK_SDK := `echo $VULKAN_SDK` VK_SDK := `echo $VULKAN_SDK`
VENDOR_INC := "vendor/include" VENDOR_INC := BUILDDIR + "/include"
VENDOR_LIB := "vendor/lib" VENDOR_LIB := BUILDDIR + "/lib"
VK_FLAGS := "-DPR_RHI_VULKAN -DVK_NO_PROTOTYPES -I" + VK_SDK + "/include -I" + VK_SDK + "/include/vma -I" + VENDOR_INC VK_FLAGS := "-DPR_RHI_VULKAN -DVK_NO_PROTOTYPES -I" + VK_SDK + "/include -I" + VK_SDK + "/include/vma -I" + VENDOR_INC
APP_INC := "-I" + VK_SDK + "/include -I" + VK_SDK + "/include/vma -I" + VK_SDK + "/include/slang -I" + VENDOR_INC + " -Isrc" APP_INC := "-I" + VK_SDK + "/include -I" + VK_SDK + "/include/vma -I" + VK_SDK + "/include/slang -I" + VENDOR_INC + " -Isrc"
# Build KTX from source # Build KTX from source
vendor: vendor:
mkdir -p vendor/ktx/build mkdir -p {{BUILDDIR}}/ktx
cmake vendor/ktx -B vendor/ktx/build \ cmake src/vendor/ktx -B {{BUILDDIR}}/ktx \
-D KTX_FEATURE_LOADTEST_APPS=OFF \ -D KTX_FEATURE_LOADTEST_APPS=OFF \
-D KTX_FEATURE_DOC=OFF \ -D KTX_FEATURE_DOC=OFF \
-D CMAKE_EXPORT_COMPILE_COMMANDS=1 \ -D CMAKE_EXPORT_COMPILE_COMMANDS=1 \
-D CMAKE_BUILD_TYPE=Release \ -D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=$(pwd)/vendor \ -D CMAKE_INSTALL_PREFIX=$(pwd)/{{BUILDDIR}} \
-D CMAKE_CXX_STANDARD=17 \ -D CMAKE_CXX_STANDARD=17 \
-D CMAKE_CXX_FLAGS="-msse4.1" \ -D CMAKE_CXX_FLAGS="-msse4.1" \
-G Ninja -G Ninja
cmake --build vendor/ktx/build --config Release cmake --build {{BUILDDIR}}/ktx --config Release
cmake --install vendor/ktx/build cmake --install {{BUILDDIR}}/ktx
# Build all objects, then link # Build all objects, then link
build: vendor build: vendor
mkdir -p {{BUILDDIR}} mkdir -p {{BUILDDIR}}/bin
bear -- {{CXX}} -g -c -Wno-nullability-completeness {{VK_FLAGS}} \ bear -- {{CXX}} -g -c -Wno-nullability-completeness {{VK_FLAGS}} \
src/prism/rhi/vulkan/profiles/vulkan_profiles.cpp \ src/prism/rhi/vulkan/profiles/vulkan_profiles.cpp \
-o {{BUILDDIR}}/vulkan_profiles.o -o {{BUILDDIR}}/vulkan_profiles.o
@@ -52,11 +52,12 @@ build: vendor
build/*.o \ build/*.o \
-lSDL3 -lglm -ltinyobjloader -lktx -lslang -lvulkan \ -lSDL3 -lglm -ltinyobjloader -lktx -lslang -lvulkan \
-Wl,-rpath,{{VENDOR_LIB}} -Wl,-rpath,{{VK_SDK}}/lib \ -Wl,-rpath,{{VENDOR_LIB}} -Wl,-rpath,{{VK_SDK}}/lib \
-o {{BUILDDIR}}/prism -o {{BUILDDIR}}/bin/prism
@echo "--- build done: {{BUILDDIR}}/prism ---" @echo "--- build done: {{BUILDDIR}}/bin/prism ---"
@rm {{BUILDDIR}}/*.o
run: run:
./{{BUILDDIR}}/prism ./{{BUILDDIR}}/bin/prism
# Clean # Clean
clean: clean: