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}
132 target_link_libraries(${RADIANT_BASENAME} ${X11_LIBRARIES})
135 # PIE executables were wrongly recognized as shared libraries on Linux
136 # because of a mistake in the mime-type library.
137 # Because of that it was not possible to launch such executables from
140 # While the problem is fixed upstream, most distributions still ship
141 # with a faulty mime-type library and may do for a long time.
143 # See: https://gitlab.freedesktop.org/xdg/shared-mime-info/-/issues/11
145 # It may produce such warning though at strip time:
146 # warning: allocated section `.dynstr' not in segment
147 # and produce an unusable binary, better not strip when using this hack.
149 # This hack is only wanted for release build and
150 # when NetRadiant is not installed system-wide.
151 if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux"
152 AND "${CMAKE_BUILD_TYPE}" STREQUAL "Release"
154 target_link_libraries(${RADIANT_BASENAME} -no-pie)
157 copy_dlls(${RADIANT_BASENAME})