1 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
3 find_package(OpenGL REQUIRED)
5 string(SUBSTRING ${CMAKE_SHARED_MODULE_SUFFIX} 1 -1 _clibext)
6 add_definitions(-DCMAKE_SHARED_MODULE_SUFFIX="${_clibext}")
10 autosave.cpp autosave.h
12 brush_primit.cpp brush_primit.h
13 brushmanip.cpp brushmanip.h
14 brushmodule.cpp brushmodule.h
15 brushnode.cpp brushnode.h
16 brushtokens.cpp brushtokens.h
17 brushxml.cpp brushxml.h
19 camwindow.cpp camwindow.h
20 clippertool.cpp clippertool.h
21 commands.cpp commands.h
26 eclass_def.cpp eclass_def.h
27 eclass_doom3.cpp eclass_doom3.h
28 eclass_fgd.cpp eclass_fgd.h
29 eclass_xml.cpp eclass_xml.h
31 entityinspector.cpp entityinspector.h
32 entitylist.cpp entitylist.h
33 environment.cpp environment.h
35 feedback.cpp feedback.h
36 filetypes.cpp filetypes.h
37 filterbar.cpp filterbar.h
39 findtexturedialog.cpp findtexturedialog.h
41 groupdialog.cpp groupdialog.h
44 gtktheme.cpp gtktheme.h
48 mainframe.cpp mainframe.h
51 nullmodel.cpp nullmodel.h
54 patchdialog.cpp patchdialog.h
55 patchmanip.cpp patchmanip.h
56 patchmodule.cpp patchmodule.h
58 pluginapi.cpp pluginapi.h
59 pluginmanager.cpp pluginmanager.h
60 pluginmenu.cpp pluginmenu.h
61 plugintoolbar.cpp plugintoolbar.h
63 preferencedictionary.cpp preferencedictionary.h
64 preferences.cpp preferences.h
67 referencecache.cpp referencecache.h
68 renderer.cpp renderer.h
69 renderstate.cpp renderstate.h
71 scenegraph.cpp scenegraph.h
73 selection.cpp selection.h
77 stacktrace.cpp stacktrace.h
78 surfacedialog.cpp surfacedialog.h
79 texmanip.cpp texmanip.h
80 textureentry.cpp textureentry.h
81 textures.cpp textures.h
82 texwindow.cpp texwindow.h
84 treemodel.cpp treemodel.h
88 watchbsp.cpp watchbsp.h
90 windowobservers.cpp windowobservers.h
91 xmlstuff.cpp xmlstuff.h
92 xywindow.cpp xywindow.h
96 list(APPEND RADIANTLIST multimon.cpp multimon.h)
99 radiant_tool(${RADIANT_BASENAME} WIN32 radiant.rc ${RADIANTLIST})
100 add_dependencies(${RADIANT_BASENAME} modules)
101 target_link_libraries(${RADIANT_BASENAME}
105 ${GTK${GTK_TARGET}_LIBRARIES}
134 target_link_libraries(${RADIANT_BASENAME} ${X11_LIBRARIES})
137 # PIE executables were wrongly recognized as shared libraries on Linux
138 # because of a mistake in the mime-type library.
139 # Because of that it was not possible to launch such executables from
142 # While the problem is fixed upstream, most distributions still ship
143 # with a faulty mime-type library and may do for a long time.
145 # See: https://gitlab.freedesktop.org/xdg/shared-mime-info/-/issues/11
147 # It may produce such warning though at strip time:
148 # warning: allocated section `.dynstr' not in segment
149 # and produce an unusable binary, better not strip when using this hack.
151 # This hack is only wanted for release build and
152 # when NetRadiant is not installed system-wide.
153 if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux"
154 AND "${CMAKE_BUILD_TYPE}" STREQUAL "Release"
156 target_link_libraries(${RADIANT_BASENAME} -no-pie)
159 copy_dlls(${RADIANT_BASENAME})