-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCOMPILING
More file actions
156 lines (135 loc) · 5.24 KB
/
COMPILING
File metadata and controls
156 lines (135 loc) · 5.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
VibeRadiant Build Instructions
====================================
This document covers building VibeRadiant from source using the
top-level Makefile. The default build outputs are staged under ./install.
Getting the source
------------------
git clone https://github.com/themuffinator/VibeRadiant.git
cd VibeRadiant
Build system overview
---------------------
- Build entry point: top-level Makefile.
- Default target: all (dependencies-check, binaries, install-data, install-dll).
- Output location: INSTALLDIR (default: install).
- Linux/macOS binaries are named with the arch suffix (radiant.<arch>) and
a convenience symlink install/radiant is created.
Configuration file (optional)
-----------------------------
The Makefile includes Makefile.conf by default. You can edit it or keep a
separate local file and pass MAKEFILE_CONF to make.
Common overrides
----------------
- BUILD: release (default), debug, extradebug, extradebug_quicker, profile, native
- INSTALLDIR: output directory (default: install)
- RADIANT_ABOUTMSG: custom about-box text
- DEPENDENCIES_CHECK: quiet (default), verbose, off
- DOWNLOAD_GAMEPACKS: allinone (default), yes, all, no
- INSTALL_DATA: yes/no (stage docs + gamepacks)
- INSTALL_DLLS: yes/no (Windows DLL staging)
- ASSIMP_INTERNAL: yes to build bundled assimp, no to use system assimp
- PKG_CONFIG_PATH: for nonstandard dependency prefixes
- QT_MAJOR: set to 6 (default) or 5 to target Qt5 pkg-config modules
Dependencies (common)
---------------------
Build tools:
- gcc/g++, GNU make
- pkg-config
- git
- wget and unzip (for gamepacks)
- svn (required when DOWNLOAD_GAMEPACKS=yes or all)
- standard shell tools: sed, find, diff, tar
Libraries (development headers):
- Qt6Core, Qt6Gui, Qt6Widgets, Qt6Svg, Qt6Network, Qt6Multimedia
- glib-2.0
- libxml2
- libpng
- zlib
- libjpeg
- OpenGL
- assimp (or set ASSIMP_INTERNAL=yes)
The dependency checker uses pkg-config and a small compile/link test.
Use DEPENDENCIES_CHECK=verbose to see failing commands.
Linux
-----
1) Install build tools and dependencies with your distro's package manager.
The checker looks for packages equivalent to:
libjpeg, glib-2.0, libxml2, libpng, OpenGL, Qt6 (Core/Gui/Widgets/Svg/Network/Multimedia),
zlib, assimp.
2) Build:
make -j$(nproc)
Debug build:
make BUILD=debug -j$(nproc)
3) Run:
./install/radiant
Windows (MSYS2)
---------------
1) Install MSYS2 from https://www.msys2.org/
2) Open a MINGW32 or MINGW64 shell (not the MSYS shell).
3) Install dependencies:
32-bit:
pacman -S --needed base-devel
pacman -S --needed mingw-w64-i686-{toolchain,qt6-base,qt6-svg,qt6-multimedia,assimp,libxml2}
64-bit:
pacman -S --needed base-devel
pacman -S --needed mingw-w64-x86_64-{toolchain,qt6-base,qt6-svg,qt6-multimedia,assimp,libxml2}
Optional for gamepacks:
pacman -S --needed unzip svn git
4) Build (release):
make MAKEFILE_CONF=msys2-Makefile.conf BUILD=release -j$(nproc)
Developer-style build example:
make MAKEFILE_CONF=msys2-Makefile.conf DEPENDENCIES_CHECK=off \
DOWNLOAD_GAMEPACKS=no INSTALL_DLLS=no BUILD=debug \
RADIANT_ABOUTMSG="VibeRadiant dev build" -j$(nproc)
5) Run:
.\install\radiant.exe
macOS (X11/XQuartz)
-------------------
VibeRadiant relies on X11. The setup/apple directory includes
packaging notes and a Makefile for building a .app bundle.
1) Install Xcode command line tools.
2) Install XQuartz.
3) Install dependencies with your package manager so pkg-config can find:
Qt6Core/Gui/Widgets/Svg/Network/Multimedia, glib-2.0, libxml2, libpng, zlib, libjpeg, assimp.
Homebrew example:
brew install qt@6 pkg-config glib libxml2 libpng jpeg-turbo assimp mesa libx11
4) Build:
make
5) Run:
./install/radiant
6) Optional .app bundle:
cd setup/apple
make
make image
Gamepacks
---------
The build stages gamepacks into INSTALLDIR/gamepacks when INSTALL_DATA=yes.
By default, make runs install-gamepacks.sh, which will download packs if
DOWNLOAD_GAMEPACKS is set:
- allinone (default): download the all-in-one pack archive
- yes: download GPL-only packs
- all: include proprietary packs
- no: skip downloads
Install source selection is controlled by GAMEPACK_SOURCE:
- VibePack (default): canonical VibeRadiant source pack
- NRCPack: legacy source pack
- auto: prefer VibePack, then NRCPack
The installer now stages from exactly one source and cleans stale gamepack
entries first, so each game resolves to a single installed pack. During
install, legacy `.def` entity definitions are converted to `.fgd`,
`entityclasstype` is rewritten to use `fgd`, and remaining legacy `.def`
files fail the install. Existing/generated `.fgd` files are also retyped
with key-metadata heuristics (including safe numeric-option folding into
`choices` controls) to improve typed editor controls.
If you skip downloads, you can fetch and install later:
./download-gamepacks.sh
GAMEPACK_SOURCE=VibePack ./install-gamepacks.sh ./install/gamepacks
Clean/rebuild
-------------
- make clean
- rm -rf install
Troubleshooting
---------------
- Missing headers/libraries: re-run with DEPENDENCIES_CHECK=verbose.
- Nonstandard prefixes: set PKG_CONFIG_PATH to your pkg-config directory.
- Offline builds: set DOWNLOAD_GAMEPACKS=no and INSTALL_DATA=no.
- No system assimp: set ASSIMP_INTERNAL=yes.