]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - README.md
readme: edit build instructions
[xonotic/netradiant.git] / README.md
index b294bfefb6ad478ff4e871d032ce7431dcfcc2c8..8ffb05e5ab91a191b72f87705baf1d546e831cbe 100644 (file)
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@ NetRadiant
 
 ![NetRadiant logo](setup/data/tools/bitmaps/splash.png)
 
-The open source, cross platform level editor for idtech games (Radiant fork).
+The open source, cross platform level editor for id Tech-derivated games (Radiant fork).
 
 # Getting the sources
 
@@ -57,13 +57,13 @@ pacman -S --needed base-devel mingw-w64-$(uname -m)-{toolchain,cmake,make,gtk2,g
 
 Explicitely use `mingw-w64-x86_64-` or `mingw-w64-i686-` prefix if you need to target a non-default architecture.
 
-You may have to install `subversion` to fetch some non-default game packages.
+You may have to install `subversion` and `unzip` to fetch or extract some non-default game packages.
 
 
 ## macOS:
 
 ```
-brew install gcc cmake Caskroom/cask/xquartz gtkglext pkgconfig minizip webp coreutils gnu-sed
+brew install gcc cmake gtkglext pkgconfig minizip webp coreutils gnu-sed
 brew link --force gettext
 ```
 
@@ -71,7 +71,7 @@ brew link --force gettext
 
  * Crunch (optional, disabled by default, only supported with CMake build)
 
-If you have not used `--recursive` option at `git clone` time, you can fetch Crunch this way (run it within the NetRadiant repository):
+If you have not used `--recursive` option at `git clone` time, you can fetch Crunch this way (run it within the `netradiant` repository):
 
 
 ```
@@ -85,7 +85,7 @@ This project uses the usual CMake workflow:
 ## Debug
 
 ```
-cmake -G "Unix Makefiles" -H. -Bbuild && cmake --build build -- -j$(nproc)
+cmake -G "Unix Makefiles" -H. -Bbuild -DCMAKE_BUILD_TYPE=Debug && cmake --build build -- -j$(nproc)
 ```
 
 ## Release
@@ -94,10 +94,16 @@ cmake -G "Unix Makefiles" -H. -Bbuild && cmake --build build -- -j$(nproc)
 cmake -G "Unix Makefiles" -H. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build -- -j$(nproc)
 ```
 
-On Mac you have to add this to the first cmake call:
+On macOS you have to add this to the first cmake call:
 
 ```
--DCMAKE_C_COMPILER=/usr/local/bin/gcc-9 -DCMAKE_CXX_COMPILER=/usr/local/bin/g++-9 -DOPENGL_INCLUDE_DIR=/opt/X11/include -DOPENGL_gl_LIBRARY=/opt/X11/lib/libGL.dylib
+-DCMAKE_C_COMPILER=/usr/local/bin/gcc-9 -DCMAKE_CXX_COMPILER=/usr/local/bin/g++-9
+```
+
+On FreeBSD you have to add this to the first cmake call:
+
+```
+-DCMAKE_C_COMPILER=/usr/local/bin/gcc8 -DCMAKE_CXX_COMPILER=/usr/local/bin/g++8
 ```
 
 ## Build and installation details
@@ -131,8 +137,8 @@ options:
 * `DOWNLOAD_GAMEPACKS=OFF`  
    Do not automatically download the gamepack data during the first compilation (default: `ON`)
 * `GAMEPACKS_LICENSE_LIST=all`  
-   Download all gamepacks whatever the license (default: `free`, download free gamepacks)
-* `GAMEPACKS_NAME_LIST=Xonotic Unvanquished`  
+   Download all gamepacks whatever the license (default: `free`, download free gamepacks, can be set to `none` to only filter by name)
+* `GAMEPACKS_NAME_LIST="Xonotic Unvanquished"`  
    Download gamepacks for the given games (default: `none`, do not select more gamepacks to download)
 
 target:
@@ -146,7 +152,7 @@ Run `./gamepacks-manager -h` to know about available licenses and other availabl
 options:
 
 * `FHS_INSTALL=ON`  
-  Install files following the Filesystem Hierarchy Standard (bin, lib, share, etc.), also setup XDG mime and application support on POSIX systems (default: `OFF`, install like in 1999)
+  Available for POSIX systems: install files following the Filesystem Hierarchy Standard (bin, lib, share, etc.), also setup XDG mime and application support on Linux-like systems (default: `OFF`, install like in 1999)
 * `CMAKE_INSTALL_PREFIX=/usr`  
   Install system-wide on Posix systems, always set `FHS_INSTALL` to `ON` when doing this (default: install in `install/` directory within source tree)
 
@@ -155,6 +161,12 @@ target:
 * `install`  
   Install files
 
+Note that because of both the way NetRadiant works and the way bundled library loading works CMake has to do some globbing to detect some of the produced/copied files it has to install. So you have to run cmake again before installing:
+
+```
+cmake -H. -Bbuild && cmake --build build -- install
+```
+
 ## Note about Crunch
 
 The crnlib used to decode `.crn` files is the one from [Dæmon](http://github.com/DaemonEngine/Daemon) which is the one by [Unity](https://github.com/Unity-Technologies/crunch/tree/unity) made cross-platform and slightly improved. Since Unity brokes compatibility with [BinomialLLC's legacy tree](https://github.com/BinomialLLC/crunch) it's required to use either the `crunch` tool from Dæmon or the one from Unity to compress textures that have to be read by radiant or q3map2.