]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - README.md
radiant/texwindow: use TextureBrowser_showWads when possible
[xonotic/netradiant.git] / README.md
index e93f0d0f0b0c1264d03dd5f628fcf2af353a0f32..b4444130629debd256212c8e3a47cbeb121ec2e5 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,20 +1,27 @@
 NetRadiant
 ==========
 
-![NetRadiant logo](setup/data/tools/bitmaps/splash.png)
+[![NetRadiant logo](setup/data/tools/bitmaps/splash.png)](https://netradiant.gitlab.io)
 
-The open source, cross platform level editor for id Tech-derivated games (has lineage to GtkRadiant).
+The open source, cross platform level editor for id Tech-derivated games, heir of GtkRadiant.
+
+Learn more on NetRadiant website: [netradiant.gitlab.io](https://netradiant.gitlab.io).
+
+
+## Download NetRadiant
+
+Prebuilt binaries can be found on the [Download page](https://netradiant.gitlab.io/page/download/).
 
 
 ## Compatibility matrix
 
-|System   |Build    |Bundle    |Run      |Build requirements                   |
-|---------|---------|----------|---------|-------------------------------------|
-|Linux    |**Yes**  |**Yes**   |**Yes**  |_GCC or Clang_                       |
-|FreeBSD  |**Yes**  |_not yet_ |**Yes**  |_GCC_                                |
-|Windows  |**Yes**  |**Yes**   |**Yes**  |_MSYS2/Mingw64 or Mingw32_           |
-|Wine     |-        |-         |**Yes**  |-                                    |
-|macOS    |**Yes**  |_not yet_ |_mostly_ |_Homebrew, GCC and patched GtkGLExt_ |
+|System   |Build    |Bundle    |Run      |Build requirements                            |
+|---------|---------|----------|---------|----------------------------------------------|
+|Linux    |**Yes**  |**Yes**   |**Yes**  |_GCC or Clang_                                |
+|FreeBSD  |**Yes**  |_not yet_ |**Yes**  |_GCC or Clang_                                |
+|Windows  |**Yes**  |**Yes**   |**Yes**  |_MSYS2/Mingw64 or Mingw32_                    |
+|Wine     |-        |-         |**Yes**  |-                                             |
+|macOS    |**Yes**  |_not yet_ |_mostly_ |_Homebrew, GCC or Clang and patched GtkGLExt_ |
 
 NetRadiant is known to build and run properly on Linux, FreeBSD and Windows using MSYS2. NetRadiant is known to build on macOS using Homebrew, but can't display things properly without a modified GtkGLExt which is yet to be upstreamed, and issues are known. Windows build is known to work well on wine, which can be used as a fallback on macOS.
 
@@ -23,11 +30,11 @@ At this time library bundling is only supported on Windows/MSYS2 and Linux. Sinc
 
 ## Getting the sources
 
-Source browser, issues and more can be found on the gitlab project: https://gitlab.com/xonotic/netradiant/
+Source browser, issues and more can be found on the gitlab project: [gitlab.com/xonotic/netradiant](https://gitlab.com/xonotic/netradiant)
 
 The latest source is available from the git repository: `https://gitlab.com/xonotic/netradiant.git`
 
-The `git` client can be obtained from your distribution repository or from the Git website: http://git-scm.org
+The `git` client can be obtained from your distribution repository or from the Git website: [git-scm.org](http://git-scm.org)
 
 A copy of the source tree can be obtained using the command line `git` client this way:
 
@@ -41,7 +48,7 @@ cd netradiant
 
 * OpenGL, LibXml2, GTK2, GtkGLExt, LibJpeg, LibPng, LibWebp, Minizip, ZLib.
 
-To fetch default game packages you'll need Git, Subversion and `unzip`.
+To fetch default game packages you'll need Git, Subversion, Wget and `unzip`.
 
 
 ### Ubuntu:
@@ -64,7 +71,7 @@ Under MSYS2, the mingw shell must be used.
 If you use MSYS2 over SSH, add `mingw64` to the path this way (given you compile for 64 bit Windows, replace with `mingw32` if you target 32 bit Windows instead): 
 
 ```sh
-export PATH="/mingw64/bin:${PATH}"`
+export PATH="/mingw64/bin:${PATH}"
 ```
 
 Install the dependencies this way:
@@ -80,7 +87,7 @@ Explicitely use `mingw-w64-x86_64-` or `mingw-w64-i686-` prefix instead of `ming
 ### macOS:
 
 ```sh
-brew install gcc cmake gtkglext pkgconfig minizip webp coreutils gnu-sed
+brew install cmake gtkglext pkgconfig minizip webp coreutils gnu-sed wget
 brew link --force gettext
 ```
 
@@ -98,17 +105,19 @@ git submodule update --init --recursive
 
 ## Simple compilation
 
+It is required to first download the sources using `git` (do not use tarballs) and to have dependencies installed, see [Getting the sources](#getting-the-sources) and [Dependencies](#dependencies) above.
+
 ### Easy builder assistant
 
-If you have standard needs and use well-known platform and operating system, you may try the provided `easy-builder` script which may be enough for you:
+If you have standard needs and use well-known platform and operating system, you may try the provided `easy-builder` script which may be enough for you, you can run it this way:
 
 ```sh
 ./easy-builder
 ```
 
-If anything goes right, you'll find your netradiant build in `install/` subdirectory.
+If everything went right, you'll find your netradiant build in `install/` subdirectory.
 
-If you need to build a debug build (to get help from a developer, for example), you can do it that way:
+If you need to build a debug build (to get help from a developer, for example), you can do it this way:
 
 ```sh
 ./easy-builder --debug
@@ -127,7 +136,7 @@ This project uses the usual CMake workflow:
 #### Debug build
 
 ```sh
-cmake -G "Unix Makefiles" -H. -Bbuild -DCMAKE_BUILD_TYPE=Debug
+cmake -G "Unix Makefiles" -S. -Bbuild -DCMAKE_BUILD_TYPE=Debug
 cmake --build build -- -j$(nproc)
 ```
 
@@ -135,23 +144,10 @@ cmake --build build -- -j$(nproc)
 #### Release build
 
 ```sh
-cmake -G "Unix Makefiles" -H. -Bbuild -DCMAKE_BUILD_TYPE=Release
+cmake -G "Unix Makefiles" -S. -Bbuild -DCMAKE_BUILD_TYPE=Release
 cmake --build build -- -j$(nproc)
 ```
 
-On macOS you have to add this to the first cmake call:
-
-```sh
--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:
-
-```sh
--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:
@@ -177,6 +173,8 @@ Options:
   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_DAEMONMAP=OFF`  
+  Do not build daemonmap tool (default: `ON` if submodule is there, buils daemonmap navigation mesh generator);
 * `BUILD_CRUNCH=OFF`  
   Disable crunch support (default: `ON` if submodule is there, enable crunch support);
 * `RADIANT_ABOUTMSG="Custom build by $(whoami)"`  
@@ -184,16 +182,18 @@ Options:
 
 Targets:
 
-* `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 Quake 2 tools: `q2map`, `qdata3`;
-     * `heretic2`     Compiles all the Heretic2 tools: `q2map`, `h2data`;
-     * `quake3`       Compiles all the Quake 3 tools:
-         - `q3map2`   Compiles the quake3 map compiler;
-         - `q3data`   Compiles the q3data tool.
+* `binaries`            Compile all binaries;
+  - `netradiant`        Compile the netradiant editor;
+  - `modules`           Compile all modules (each module has its own target as well);
+  - `plugins`           Compile all plugins (each plugin has its own target as well);
+  - `tools`             Compile all tools (each tool has its own target as well);
+     * `quake2`         Compile all the Quake 2 tools: `q2map`, `qdata3`;
+     * `heretic2`       Compile all the Heretic2 tools: `q2map`, `h2data`;
+     * `quake3`         Compile all the Quake 3 tools:
+         - `q3map2`     Compile the Quake 3 map compiler;
+         - `q3data`     Compile the q3data tool;
+     * `unvanquished`   Compile all the Unvanquished tool: `daemonmap`, `q3map3`, `q4data`;
+         - `daemonmap`  Compile the daemonmap navigation mesh generator.
 
 Type `make help` to get an exhaustive list of targets.
 
@@ -221,7 +221,7 @@ Run `./gamepacks-manager -h` to know about available licenses and other availabl
 Options:
 
 * `BUNDLE_LIBRARIES=ON`  
-  Bundle libraries, only MSYS2 is supported at this time (default: `OFF`);
+  Bundle libraries, only MSYS2 and Linux are supported at this time (default: `OFF`);
 * `FHS_INSTALL=ON` (available on 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);
@@ -233,7 +233,7 @@ Target:
 * `install` Install files.
 
 
-## Additonnal notes
+## Additonnal information
 
 ### About Crunch