]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - README.md
q3map2: fix crash if command-line argument is missing
[xonotic/netradiant.git] / README.md
index 2ad0c37905ca0f0086f28e88ed77894788b804f2..ebeccebc244b02b8a931758eddd89142716881c1 100644 (file)
--- a/README.md
+++ b/README.md
@@ -80,15 +80,17 @@ git submodule update --init --recursive
 
 # Compiling
 
+## Initial build
+
 This project uses the usual CMake workflow:
 
-## Debug
+### Debug
 
 ```
 cmake -G "Unix Makefiles" -H. -Bbuild -DCMAKE_BUILD_TYPE=Debug && cmake --build build -- -j$(nproc)
 ```
 
-## Release
+### Release
 
 ```
 cmake -G "Unix Makefiles" -H. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build -- -j$(nproc)
@@ -106,14 +108,30 @@ 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
 ```
 
+## Subsequent builds
+
+The initial build will download the gamepacks and build NetRadiant and tools. If you frequently recompile you can skip downloading the gamepacks:
+
+```
+cmake --build build --target binaries -- -j$(nproc)
+```
+
+You should still periodically update gamepacks:
+
+```
+cmake --build build --target gamepacks
+```
+
 ## Build and installation details
 
 ### Compilation details
 
 options:
 
+* `BUNDLE_LIBRARIES=ON`
+   Bundle libraries (only MSYS2 is supported at this time)
 * `BUILD_RADIANT=OFF`  
-   Do not build NetRadiant (default: `ON`, build radiant graphical editor)
+   Do not build NetRadiant (default: `ON`, build netradiant graphical editor)
 * `BUILD_TOOLS=OFF`  
    Do not build q3map2 and other tools (default: `ON`, build command line tools)
 * `BUILD_CRUNCH=ON`  
@@ -123,15 +141,16 @@ options:
 
 targets:
 
-* `radiant`    Compiles the radiant core binary
-* `modules`    Compiles all modules (each module has its own target as well)
-* `plugins`    Compiles all plugins (each plugin has its own target as well)
-* `tools`      Compiles all tools (each tool has its own target as well)
-  - `quake2`   Compiles all the Quake2 tools: `q2map`, `qdata3`
-  - `heretic2` Compiles all the Heretic2 tools: `q2map`, `h2data`
-  - `quake3`   Compiles all the Quake3 tools:
-     * `q3map2` Compiles the quake3 map compiler
-     * `q3data` Compiles the q3data tool
+* `binaries`          Compiles all binaries
+  - `netradiant`      Compiles the netradiant editor
+  - `modules`         Compiles all modules (each module has its own target as well)
+  - `plugins`         Compiles all plugins (each plugin has its own target as well)
+  - `tools`           Compiles all tools (each tool has its own target as well)
+     * `quake2`       Compiles all the Quake2 tools: `q2map`, `qdata3`
+     * `heretic2`     Compiles all the Heretic2 tools: `q2map`, `h2data`
+     * `quake3`       Compiles all the Quake3 tools:
+         - `q3map2`   Compiles the quake3 map compiler
+         - `q3data`   Compiles the q3data tool
 
 Type `make help` to get an exhaustive list of targets.
 
@@ -140,7 +159,7 @@ Type `make help` to get an exhaustive list of targets.
 options:
 
 * `DOWNLOAD_GAMEPACKS=OFF`  
-   Do not automatically download the gamepack data during the first compilation (default: `ON`)
+   Do not automatically download the gamepack data on each compilation and do not install game packs already downloaded (default: `ON`)
 * `GAMEPACKS_LICENSE_LIST=all`  
    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"`  
@@ -148,7 +167,7 @@ options:
 
 target:
 
-* `game_packs` Downloads the game pack data
+* `gamepacks` Downloads the game pack data
 
 Run `./gamepacks-manager -h` to know about available licenses and other available games. Both lists are merged, for example setting `GAMEPACKS_LICENSE_LIST=GPL` and `GAMEPACKS_NAME_LIST=Q3` will install both GPL gamepacks and proprietary Quake 3 one.