From f69865508ef4f3d63bcc82c8505d661a1c290f92 Mon Sep 17 00:00:00 2001 From: Eugene Date: Thu, 29 Sep 2022 22:08:20 +0300 Subject: [PATCH] Update README.md, add BUILD.md --- BUILD.md | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 89 +------------------------------------------ 2 files changed, 111 insertions(+), 88 deletions(-) create mode 100644 BUILD.md diff --git a/BUILD.md b/BUILD.md new file mode 100644 index 000000000..c860aeebb --- /dev/null +++ b/BUILD.md @@ -0,0 +1,110 @@ +## Build Instructions + +### windows/msvc + +Install Visual Studio Community Edition 2017 or later and compile `quake3e` project from solution + +`code/win32/msvc2017/quake3e.sln` + +Copy resulting exe from `code/win32/msvc2017/output` directory + +To compile with Vulkan backend - clean solution, right click on `quake3e` project, find `Project Dependencies` and select `renderervk` instead of `renderer` + +--- + +### windows/mingw + +All build dependencies (libraries, headers) are bundled-in + +Build with either `make ARCH=x86` or `make ARCH=x86_64` commands depending on your target system, then copy resulting binaries from created `build` directory or use command: + +`make install DESTDIR=` + +--- + +### generic/ubuntu linux/bsd + +You may need to run the following commands to install packages (using fresh ubuntu-18.04 installation as example): + +* sudo apt install make gcc libcurl4-openssl-dev mesa-common-dev +* sudo apt install libxxf86dga-dev libxrandr-dev libxxf86vm-dev libasound-dev +* sudo apt install libsdl2-dev + +Build with: `make` + +Copy the resulting binaries from created `build` directory or use command: + +`make install DESTDIR=` + +--- + +### Arch Linux + +The package `quake3e-git` can either be installed through your favourite AUR helper, or manually using these commands: + +Download the snapshot from AUR: + +`curl -O https://aur.archlinux.org/cgit/aur.git/snapshot/quake3e-git.tar.gz` + +Extract the snapshot: + +`tar xfz quake3e-git.tar.gz` + +Enter the extracted directory: + +`cd quake3e-git` + +Build and install `quake3e-git`: + +`makepkg -risc` + +--- + +### raspberry pi os + +Install the build dependencies: + +* apt install libsdl2-dev libxxf86dga-dev libcurl4-openssl-dev + +Build with: `make` + +Copy the resulting binaries from created `build` directory or use command: + +`make install DESTDIR=` + +--- + +### macos + +* install the official SDL2 framework to /Library/Frameworks +* `brew install molten-vk` or install Vulkan SDK to use MoltenVK library + +Build with: `make` + +Copy the resulting binaries from created `build` directory + +--- + +Several Makefile options are available for linux/mingw/macos builds: + +`BUILD_CLIENT=1` - build unified client/server executable, enabled by default + +`BUILD_SERVER=1` - build dedicated server executable, enabled by default + +`USE_SDL=0`- use SDL2 backend for video, audio, input subsystems, enabled by default, enforced for macos + +`USE_VULKAN=1` - build vulkan modular renderer, enabled by default + +`USE_OPENGL=1` - build opengl modular renderer, enabled by default + +`USE_OPENGL2=0` - build opengl2 modular renderer, disabled by default + +`USE_RENDERER_DLOPEN=1` - do not link single renderer into client binary, compile all enabled renderers as dynamic libraries and allow to switch them on the fly via `\cl_renderer` cvar, enabled by default + +`RENDERER_DEFAULT=opengl` - set default value for `\cl_renderer` cvar or use selected renderer for static build for `USE_RENDERER_DLOPEN=0`, valid options are `opengl`, `opengl2`, `vulkan` + +`USE_SYSTEM_JPEG=0` - use current system JPEG library, disabled by default + +Example: + +`make BUILD_SERVER=0 USE_RENDERER_DLOPEN=0 RENDERER_DEFAULT=vulkan` - which means do not build dedicated binary, build client with single static vulkan renderer diff --git a/README.md b/README.md index f5815aa97..0a4ad08f8 100644 --- a/README.md +++ b/README.md @@ -72,94 +72,7 @@ Performance is usually greater or equal to other opengl1 renderers Original ioquake3 renderer, performance is very poor on non-nvidia systems, unmaintained -## Build Instructions - -### windows/msvc - -Install Visual Studio Community Edition 2017 or later and compile `quake3e` project from solution - -`code/win32/msvc2017/quake3e.sln` - -Copy resulting exe from `code/win32/msvc2017/output` directory - -To compile with Vulkan backend - clean solution, right click on `quake3e` project, find `Project Dependencies` and select `renderervk` instead of `renderer` - ---- - -### windows/mingw - -All build dependencies (libraries, headers) are bundled-in - -Build with either `make ARCH=x86` or `make ARCH=x86_64` commands depending on your target system, then copy resulting binaries from created `build` directory or use command: - -`make install DESTDIR=` - ---- - -### linux/bsd - -You may need to run the following commands to install packages (using fresh ubuntu-18.04 installation as example): - -* sudo apt install make gcc libcurl4-openssl-dev mesa-common-dev -* sudo apt install libxxf86dga-dev libxrandr-dev libxxf86vm-dev libasound-dev -* sudo apt install libsdl2-dev - -Build with: `make` - -Copy the resulting binaries from created `build` directory or use command: - -`make install DESTDIR=` - ---- - -### raspberry pi os - -Install the build dependencies: - -* apt install libsdl2-dev libxxf86dga-dev libcurl4-openssl-dev - -Build with: `make` - -Copy the resulting binaries from created `build` directory or use command: - -`make install DESTDIR=` - ---- - -### macos - -* install the official SDL2 framework to /Library/Frameworks -* `brew install molten-vk` or install Vulkan SDK to use MoltenVK library - -Build with: `make` - -Copy the resulting binaries from created `build` directory - ---- - -Several Makefile options are available for linux/mingw/macos builds: - -`BUILD_CLIENT=1` - build unified client/server executable, enabled by default - -`BUILD_SERVER=1` - build dedicated server executable, enabled by default - -`USE_SDL=0`- use SDL2 backend for video, audio, input subsystems, enabled by default, enforced for macos - -`USE_VULKAN=1` - build vulkan modular renderer, enabled by default - -`USE_OPENGL=1` - build opengl modular renderer, enabled by default - -`USE_OPENGL2=0` - build opengl2 modular renderer, disabled by default - -`USE_RENDERER_DLOPEN=1` - do not link single renderer into client binary, compile all enabled renderers as dynamic libraries and allow to switch them on the fly via `\cl_renderer` cvar, enabled by default - -`RENDERER_DEFAULT=opengl` - set default value for `\cl_renderer` cvar or use selected renderer for static build for `USE_RENDERER_DLOPEN=0`, valid options are `opengl`, `opengl2`, `vulkan` - -`USE_SYSTEM_JPEG=0` - use current system JPEG library, disabled by default - -Example: - -`make BUILD_SERVER=0 USE_RENDERER_DLOPEN=0 RENDERER_DEFAULT=vulkan` - which means do not build dedicated binary, build client with single static vulkan renderer +## [Build Instructions](BUILD.md) ## Contacts