1 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
3 find_package(OpenGL REQUIRED)
4 find_package(GTK${GTK_TARGET} REQUIRED)
6 string(SUBSTRING ${CMAKE_SHARED_MODULE_SUFFIX} 1 -1 _clibext)
7 add_definitions(-DCMAKE_SHARED_MODULE_SUFFIX="${_clibext}")
11 autosave.cpp autosave.h
13 brush_primit.cpp brush_primit.h
14 brushmanip.cpp brushmanip.h
15 brushmodule.cpp brushmodule.h
16 brushnode.cpp brushnode.h
17 brushtokens.cpp brushtokens.h
18 brushxml.cpp brushxml.h
20 camwindow.cpp camwindow.h
21 clippertool.cpp clippertool.h
22 commands.cpp commands.h
27 eclass_def.cpp eclass_def.h
28 eclass_doom3.cpp eclass_doom3.h
29 eclass_fgd.cpp eclass_fgd.h
30 eclass_xml.cpp eclass_xml.h
32 entityinspector.cpp entityinspector.h
33 entitylist.cpp entitylist.h
34 environment.cpp environment.h
36 feedback.cpp feedback.h
37 filetypes.cpp filetypes.h
38 filterbar.cpp filterbar.h
40 findtexturedialog.cpp findtexturedialog.h
42 groupdialog.cpp groupdialog.h
45 gtktheme.cpp gtktheme.h
49 mainframe.cpp mainframe.h
52 nullmodel.cpp nullmodel.h
55 patchdialog.cpp patchdialog.h
56 patchmanip.cpp patchmanip.h
57 patchmodule.cpp patchmodule.h
59 pluginapi.cpp pluginapi.h
60 pluginmanager.cpp pluginmanager.h
61 pluginmenu.cpp pluginmenu.h
62 plugintoolbar.cpp plugintoolbar.h
64 preferencedictionary.cpp preferencedictionary.h
65 preferences.cpp preferences.h
68 referencecache.cpp referencecache.h
69 renderer.cpp renderer.h
70 renderstate.cpp renderstate.h
72 scenegraph.cpp scenegraph.h
74 selection.cpp selection.h
78 stacktrace.cpp stacktrace.h
79 surfacedialog.cpp surfacedialog.h
80 texmanip.cpp texmanip.h
81 textureentry.cpp textureentry.h
82 textures.cpp textures.h
83 texwindow.cpp texwindow.h
85 treemodel.cpp treemodel.h
89 watchbsp.cpp watchbsp.h
91 windowobservers.cpp windowobservers.h
92 xmlstuff.cpp xmlstuff.h
93 xywindow.cpp xywindow.h
97 list(APPEND RADIANTLIST multimon.cpp multimon.h)
100 radiant_tool(${RADIANT_BASENAME} WIN32 radiant.rc ${RADIANTLIST})
101 add_dependencies(${RADIANT_BASENAME} modules)
102 target_link_libraries(${RADIANT_BASENAME}
106 ${GTK${GTK_TARGET}_LIBRARIES}
135 target_link_libraries(${RADIANT_BASENAME} ${X11_LIBRARIES})
138 # PIE executables were wrongly recognized as shared libraries on Linux
139 # because of a mistake in the mime-type library.
140 # Because of that it was not possible to launch such executables from
143 # While the problem is fixed upstream, most distributions still ship
144 # with a faulty mime-type library and may do for a long time.
146 # See: https://gitlab.freedesktop.org/xdg/shared-mime-info/-/issues/11
148 # It may produce such warning though at strip time:
149 # warning: allocated section `.dynstr' not in segment
150 # and produce an unusable binary, better not strip when using this hack.
152 # This hack is only wanted for release build and
153 # when NetRadiant is not installed system-wide.
154 if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux"
155 AND "${CMAKE_BUILD_TYPE}" STREQUAL "Release"
157 target_link_libraries(${RADIANT_BASENAME} -no-pie)
160 copy_dlls(${RADIANT_BASENAME})