X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=README.md;h=ebeccebc244b02b8a931758eddd89142716881c1;hb=7f034b8ced2966f3601f2f96f3c58ae64a062ece;hp=2ad0c37905ca0f0086f28e88ed77894788b804f2;hpb=12f564a61e1191ed6ac8d2575eeeca001df5be88;p=xonotic%2Fnetradiant.git diff --git a/README.md b/README.md index 2ad0c379..ebeccebc 100644 --- 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.