1- cmake_minimum_required (VERSION 2.8 )
2- project (RADIANT )
1+ cmake_minimum_required (VERSION 2.6 )
2+ project (OPENRADIANT )
33
44string (TOLOWER "${CMAKE_CXX_COMPILER_ID} " COMP)
55string (TOLOWER "${CMAKE_SYSTEM_NAME} " PLATFORM)
66string (TOLOWER "${CMAKE_SYSTEM_PROCESSOR} " ARCH)
77message ("${COMP} -${PLATFORM} -${ARCH} " )
88
9- if (MSVC )
10- add_definitions ("-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE" )
11- set (SUBSYSTEM "WIN32" )
12- set (RC "src/radiant/win32.rc" )
13- else ()
14- set (RC "src/radiant/win32.rc" )
15- endif ()
16-
179include_directories (
1810 src/libs
1911 src/include
@@ -24,17 +16,86 @@ link_directories(
2416 ${PROJECT_SOURCE_DIR} /contrib/${COMP} -${PLATFORM} -${ARCH} /lib
2517)
2618
19+ #set(STATIC_DIST 1)
20+
21+ if (MSVC OR MINGW)
22+ if (MSVC )
23+ add_definitions ("-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE" )
24+ set (LIBZ zlib)
25+ set (LIBICONV iconv_a)
26+ elseif (MINGW)
27+ set (LIBZ z)
28+ set (LIBICONV iconv)
29+ set (LIBWIN32 Comdlg32)
30+ endif ()
31+
32+ set (SUBSYSTEM "WIN32" )
33+ set (RC "src/radiant/win32.rc" )
34+ set (NETNAME wins)
35+ set (LIBGLEW glew32)
36+ set (LIBGL opengl32)
37+ set (LIBWINSOCK ws2_32)
38+ set (LIBGTK glib-2.0 gobject-2.0 gtk-win32 -2.0 gdk-win32 -2.0 pango-1.0 gdkglext-win32 -1.0 gtkglext-win32 -1.0 pangoft2-1.0 gdk_pixbuf-2.0)
39+ set (LIBXML2 libxml2)
40+ set (LIBINTL intl)
41+ set (LIBPNG libpng)
42+ set (LIBJPEG jpeg)
43+ else ()
44+ add_definitions ("-DUSE_POSIX" )
45+ set (NETNAME berkeley)
46+ set (LIBGLEW GLEW)
47+ set (LIBGL GL)
48+ set (LIBM m)
49+ set (LIBGTK gtkglext-x11-1.0 gdkglext-x11-1.0 gtk-x11-2.0 gdk-x11-2.0 pangocairo-1.0 cairo gdk_pixbuf-2.0 gio-2.0 pangoft2-1.0 pango-1.0 gobject-2.0 glib-2.0 atk-1.0)
50+ set (LIBXML2 xml2)
51+ set (LIBPNG png)
52+ set (LIBJPEG jpeg)
53+ set (LIBX11 Xrender Xinerama Xi Xrandr Xcursor Xcomposite Xdamage Xfixes X11 Xext)
54+ set (LIBINTL intl)
55+ set (LIBFONTCONFIG fontconfig)
56+ set (LIBFREETYPE freetype)
57+ set (LIBHARFBUZZ harfbuzz)
58+ set (LIBZ z)
59+
60+ include_directories (
61+ /usr/local/include /gtk-2.0
62+ /usr/local/lib/gtk-2.0/include
63+ /usr/local/include /pango-1.0
64+ /usr/local/include /gio-unix -2.0
65+ /usr/X11R6/include
66+ /usr/local/include /cairo
67+ /usr/local/include /atk-1.0
68+ /usr/local/include /gdk-pixbuf-2.0
69+ /usr/local/include
70+ /usr/local/include /fribidi
71+ /usr/X11R6/include /pixman-1
72+ /usr/local/include /libpng16
73+ /usr/local/include /harfbuzz
74+ /usr/local/include /glib-2.0
75+ /usr/local/lib/glib-2.0/include
76+ /usr/X11R6/include /freetype2
77+ /usr/local/include /libxml2
78+ /usr/local/include /gtkglext-1.0
79+ /usr/local/lib/gtkglext-1.0/include
80+ )
81+
82+ link_directories (
83+ /usr/X11R6/lib
84+ /usr/local/lib
85+ )
86+ endif ()
87+
2788add_executable (horde
2889 src/private /horde/main.cpp
2990)
3091
31- add_library (orextensions SHARED
92+ set (EXTENSIONS_SRC
3293 src/private /extensions/objexport.cpp
3394 src/private /extensions/hordeload.c
3495 src/private /horde.c
3596)
3697
37- add_library (plugins
98+ set (PLUGINS_SRC
3899 src/plugins/imagepng/plugin.cpp
39100
40101 src/plugins/map/plugin.cpp
@@ -67,7 +128,7 @@ add_library(plugins
67128 src/plugins/vfslocal/vfslocal.cpp
68129)
69130
70- add_executable (radiant ${SUBSYSTEM}
131+ set (RADIANT_SRC
71132 src/radiant/bp_dlg.cpp
72133 src/radiant/brush.cpp
73134 src/radiant/brushscript.cpp
@@ -107,7 +168,6 @@ add_executable(radiant ${SUBSYSTEM}
107168 src/radiant/queuedraw.cpp
108169 src/radiant/select.cpp
109170 src/radiant/selectedface.cpp
110- src/radiant/stdafx.cpp
111171 src/radiant/surfacedialog.cpp
112172 src/radiant/surfaceplugin.cpp
113173 src/radiant/targetname.cpp
@@ -133,8 +193,7 @@ add_executable(radiant ${SUBSYSTEM}
133193 src/libs/mathlib/ray.c
134194 src/libs/cmdlib/cmdlib.cpp
135195 src/libs/l_net/l_net.c
136- #src/libs/l_net/l_net_berkeley.c
137- src/libs/l_net/l_net_wins.c
196+ src/libs/l_net/l_net_${NETNAME} .c
138197
139198 src/libs/picomodel/picointernal.c
140199 src/libs/picomodel/picomodel.c
@@ -164,31 +223,7 @@ add_executable(radiant ${SUBSYSTEM}
164223 ${RC}
165224)
166225
167- target_link_libraries (radiant plugins
168- glib-2.0
169- gobject-2.0
170- gtk-win32 -2.0
171- gdk-win32 -2.0
172- libxml2
173- pango-1.0
174- gdkglext-win32 -1.0
175- gtkglext-win32 -1.0
176- intl
177- pangoft2-1.0
178- ws2_32
179- gdk_pixbuf-2.0
180- libpng
181- jpeg
182-
183- zlib
184- iconv_a
185-
186- #z
187- #iconv
188- #Comdlg32
189- )
190-
191- add_executable (rbake
226+ set (RBAKE_SRC
192227 src/private /rbake/main.cpp
193228 src/private /rbake/Model.cpp
194229 src/private /rbake/Baker.cpp
@@ -197,9 +232,7 @@ add_executable(rbake
197232 src/private /rbake/Part.cpp
198233)
199234
200- target_link_libraries (rbake)
201-
202- add_executable (rpreview
235+ set (RPREVIEW_SRC
203236 src/private /rpreview/Model.c
204237 src/private /rpreview/main.c
205238 src/private /rpreview/re/Buffer.c
@@ -213,4 +246,59 @@ add_executable(rpreview
213246 src/private /rpreview/re/util.c
214247)
215248
216- target_link_libraries (rpreview glew32 opengl32 SDL2)
249+ if (STATIC_DIST)
250+ add_library (openradiant
251+ ${PLUGINS_SRC}
252+ ${RADIANT_SRC}
253+ )
254+
255+ add_library (orextensions
256+ ${EXTENSIONS_SRC}
257+ )
258+ target_compile_options (orextensions PUBLIC -fPIC)
259+
260+ add_library (rbake
261+ ${RBAKE_SRC}
262+ )
263+
264+ add_library (rpreview
265+ ${RPREVIEW_SRC}
266+ )
267+
268+ else ()
269+ add_executable (openradiant ${SUBSYSTEM}
270+ ${PLUGINS_SRC}
271+ ${RADIANT_SRC}
272+ )
273+
274+ target_link_libraries (openradiant
275+ ${LIBX11}
276+ ${LIBGTK}
277+ ${LIBZ}
278+ ${LIBICONV}
279+ ${LIBWINSOCK}
280+ ${LIBWIN32}
281+ ${LIBXML2}
282+ ${LIBINTL}
283+ ${LIBPNG}
284+ ${LIBJPEG}
285+ ${LIBFONTCONFIG}
286+ ${LIBFREETYPE}
287+ ${LIBHARFBUZZ}
288+ )
289+
290+ add_library (orextensions SHARED
291+ ${EXTENSIONS_SRC}
292+ )
293+
294+ add_executable (rbake
295+ ${RBAKE_SRC}
296+ )
297+
298+ add_executable (rpreview
299+ ${RPREVIEW_SRC}
300+ )
301+
302+ target_link_libraries (rpreview ${LIBGLEW} ${LIBGL} ${LIBM} SDL2)
303+ endif ()
304+
0 commit comments