X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=README.md;h=b4444130629debd256212c8e3a47cbeb121ec2e5;hb=7115276526ac6c6e07e344c1e322884f9ca66017;hp=e93f0d0f0b0c1264d03dd5f628fcf2af353a0f32;hpb=8da2e32d53f927833ee0e74010c7165349096bdf;p=xonotic%2Fnetradiant.git diff --git a/README.md b/README.md index e93f0d0f..b4444130 100644 --- 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