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
38 findtexturedialog.cpp findtexturedialog.h
40 groupdialog.cpp groupdialog.h
46 mainframe.cpp mainframe.h
49 nullmodel.cpp nullmodel.h
52 patchdialog.cpp patchdialog.h
53 patchmanip.cpp patchmanip.h
54 patchmodule.cpp patchmodule.h
56 pluginapi.cpp pluginapi.h
57 pluginmanager.cpp pluginmanager.h
58 pluginmenu.cpp pluginmenu.h
59 plugintoolbar.cpp plugintoolbar.h
61 preferencedictionary.cpp preferencedictionary.h
62 preferences.cpp preferences.h
65 referencecache.cpp referencecache.h
66 renderer.cpp renderer.h
67 renderstate.cpp renderstate.h
69 scenegraph.cpp scenegraph.h
71 selection.cpp selection.h
75 stacktrace.cpp stacktrace.h
76 surfacedialog.cpp surfacedialog.h
77 texmanip.cpp texmanip.h
78 textureentry.cpp textureentry.h
79 textures.cpp textures.h
80 texwindow.cpp texwindow.h
82 treemodel.cpp treemodel.h
86 watchbsp.cpp watchbsp.h
88 windowobservers.cpp windowobservers.h
89 xmlstuff.cpp xmlstuff.h
90 xywindow.cpp xywindow.h
94 list(APPEND RADIANTLIST multimon.cpp multimon.h)
97 radiant_tool(${RADIANT_BASENAME} WIN32 radiant.rc ${RADIANTLIST})
98 add_dependencies(${RADIANT_BASENAME} modules)
99 target_link_libraries(${RADIANT_BASENAME}
103 ${GTK${GTK_TARGET}_LIBRARIES}
131 target_link_libraries(${RADIANT_BASENAME} ${X11_LIBRARIES})
134 # PIE executables were wrongly recognized as shared libraries on Linux
135 # because of a mistake in the mime-type library.
136 # Because of that it was not possible to launch such executables from
139 # While the problem is fixed upstream, most distributions still ship
140 # with a faulty mime-type library and may do for a long time.
142 # See: https://gitlab.freedesktop.org/xdg/shared-mime-info/-/issues/11
144 # It may produce such warning though at strip time:
145 # warning: allocated section `.dynstr' not in segment
146 # and produce an unusable binary, better not strip when using this hack.
148 # This hack is only wanted for release build and
149 # when NetRadiant is not installed system-wide.
150 if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux"
151 AND "${CMAKE_BUILD_TYPE}" STREQUAL "Release"
153 target_link_libraries(${RADIANT_BASENAME} -no-pie)
156 copy_dlls(${RADIANT_BASENAME})