Restructure
This commit is contained in:
+1
-1
@@ -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
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user