From 7536dd705d121ed3a49b7e4b05af88fd241d1674 Mon Sep 17 00:00:00 2001 From: vimene Date: Sun, 15 Feb 2026 15:11:49 +0100 Subject: more improvements in builds setup - moved slang shaders to spvshaders to separate software and hardware shaders - split Makefile.am into Makefile.am, src/Makefile.am and src/spvshaders/Makefile.am - build shaders as DATA primary, instead of both PROGRAMS and SCRIPTS, which greatly simplifies building. Before that, we had to first build them as PROGRAMS, and then copy them as SCRIPTS to remove executable extensions (i.e. ".exe" for Windows) - changed final executable dir from enginedir to bindir, which makes automake see it as an exec instead of data - compute relative paths from C++, which makes it possible to change dirs arbitrarily when running make while still having a relocatable executable - updated README.md to reflect changes in dirs - use AX_COMPARE_VERSION() to simplify checking if Vulkan headers version is correct - factored out most of paths computation in engine::path_utils::Paths --- README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 9ce7885..2141e3f 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ While inside the directory containing all files: :::sh mkdir build cd build - ../configure --prefix="$(realpath .)" --with-ncurses + ../configure --prefix="$(realpath .)" --bindir="$(realpath share/engine)" --with-ncurses make make install @@ -70,7 +70,7 @@ than the ones given by `pkgconf`, you have to set both `GLFW3_CFLAGS` and `GLFW3 `configure` command line, like so: :::sh - ../configure --prefix="$(realpath .)" --with-ncurses \ + ../configure --prefix="$(realpath .)" --bindir="$(realpath share/engine)" --with-ncurses \ GLFW3_CFLAGS=-I/path/to/glfw/headers \ GLFW3_LIBS=-L/path/to/glfw/libs -lglfw3 @@ -79,7 +79,7 @@ LunarG's Vulkan SDK, you have to set both `VULKAN_CFLAGS` and `VULKAN_LIBS` in t command line, like so: :::sh - ../configure --prefix="$(realpath .)" --with-ncurses \ + ../configure --prefix="$(realpath .)" --bindir="$(realpath share/engine)" --with-ncurses \ VULKAN_CFLAGS=-I/path/to/vulkan/headers \ VULKAN_LIBS=-L/path/to/vulkan/libs -lvulkan @@ -87,7 +87,7 @@ If `slangc` cannot be found in path, or if you also want to use the one given by SDK, you have to set `SLANGC` to the path of the executable, like so: :::sh - ../configure --prefix="$(realpath .)" --with-ncurses \ + ../configure --prefix="$(realpath .)" --bindir="$(realpath share/engine)" --with-ncurses \ SLANGC=/path/to/slangc If ncurses headers or libncurses.so cannot be found, or if you want to use ones other than the ones @@ -95,14 +95,14 @@ given by `pkgconf`, you have to set both `NCURSES_CFLAGS` and `NCURSES_LIBS` in command line, like so: :::sh - ../configure --prefix="$(realpath .)" --with-ncurses \ + ../configure --prefix="$(realpath .)" --bindir="$(realpath share/engine)" --with-ncurses \ NCURSES_CFLAGS=-I/path/to/ncurses/headers \ NCURSES_LIBS=-L/path/to/ncurses/libs -lvulkan You can, of course, combine as many as you like: :::sh - ../configure --prefix="$(realpath .)" --with-ncurses \ + ../configure --prefix="$(realpath .)" --bindir="$(realpath share/engine)" --with-ncurses \ GLFW3_CFLAGS=-I/path/to/glfw/headers \ GLFW3_LIBS=-L/path/to/glfw/libs -lglfw3 \ VULKAN_CFLAGS=-I/path/to/vulkan/headers \ @@ -134,7 +134,7 @@ While inside the directory containing all files: :::sh mkdir build cd build - ../configure --prefix="$(realpath .)" \ + ../configure --prefix="$(realpath .)" --bindir="$(realpath share/engine)" \ --build x86_64-pc-linux-gnu \ --host x86_64-w64-mingw32 make @@ -153,7 +153,7 @@ than the ones given by `pkgconf`, you have to set both `GLFW3_CFLAGS` and `GLFW3 `configure` command line, like so: :::sh - ../configure --prefix="$(realpath .)" \ + ../configure --prefix="$(realpath .)" --bindir="$(realpath share/engine)" \ --build x86_64-pc-linux-gnu \ --host x86_64-w64-mingw32 \ GLFW3_CFLAGS=-I/path/to/glfw/headers \ @@ -164,7 +164,7 @@ LunarG's Vulkan SDK, you have to set both `VULKAN_CFLAGS` and `VULKAN_LIBS` in t command line, like so: :::sh - ../configure --prefix="$(realpath .)" \ + ../configure --prefix="$(realpath .)" --bindir="$(realpath share/engine)" \ --build x86_64-pc-linux-gnu \ --host x86_64-w64-mingw32 \ VULKAN_CFLAGS=-I/path/to/vulkan/headers \ @@ -174,7 +174,7 @@ If `slangc` cannot be found in path, or if you also want to use the one given by SDK, you have to set `SLANGC` to the path of the executable, like so: :::sh - ../configure --prefix="$(realpath .)" \ + ../configure --prefix="$(realpath .)" --bindir="$(realpath share/engine)" \ --build x86_64-pc-linux-gnu \ --host x86_64-w64-mingw32 \ SLANGC=/path/to/slangc @@ -182,7 +182,7 @@ SDK, you have to set `SLANGC` to the path of the executable, like so: You can, of course, combine as many as you like: :::sh - ../configure --prefix="$(realpath .)" \ + ../configure --prefix="$(realpath .)" --bindir="$(realpath share/engine)" \ --build x86_64-pc-linux-gnu \ --host x86_64-w64-mingw32 \ GLFW3_CFLAGS=-I/path/to/glfw/headers \ -- cgit v1.2.3