OSDN Git Service

[VM][WIP] Merging upstream 2022-09-09.Still be imcompleted.
[csp-qt/common_source_project-fm7.git] / source / src / qt / gui / CMakeLists.txt
1 message("* qt/gui")
2
3 set(THIS_LIB_VERSION 8.10.0)
4
5 set(s_qt_gui_headers
6           qt_dialogs.h
7           qt_gldraw.h
8           qt_glpack.h
9
10           gl/qt_glutil_gl_tmpl.h
11           gl2/qt_glutil_gl2_0.h
12           gl3/qt_glutil_gl3_0.h
13           gl4_5/qt_glutil_gl4_5.h
14           gles2/qt_glutil_gles_2.h
15
16           commonclasses.h
17           sound_dialog.h
18           mouse_dialog.h
19
20           virtualfileslist.h
21
22           mainwidget_base.h
23           menu_metaclass.h
24           menu_disk.h
25           menu_harddisk.h
26           menu_cmt.h
27           menu_cart.h
28           menu_quickdisk.h
29           menu_compactdisc.h
30           menu_laserdisc.h
31           menu_binary.h
32           menu_bubble.h
33           display_about.h
34           display_text_document.h
35           dropdown_keyset.h
36           dropdown_joystick.h
37           dropdown_jsbutton.h
38           dropdown_jspage.h
39
40           dropdown_joykey.h
41           dropdown_joykeybutton.h
42           dialog_set_key.h
43           dialog_set_key_combo.h
44           dialog_movie.h
45           dialog_memory.h
46
47           display_log.h
48
49           tab_movie_general.h
50           tab_movie_h264.h
51           tab_movie_mpeg4.h
52
53           dock_disks.h
54
55           draw_thread.h
56           joy_thread.h
57           ../emu_thread/emu_thread_tmpl.h
58
59           qt_debugger_tmpl.h
60           qt_lineeditplus.h
61 )
62
63
64 set(s_qt_gui_srcs
65           emuevents_control.cpp
66           qt_gldraw.cpp
67           qt_glutil.cpp
68           qt_glpack.cpp
69           gl/qt_glutil_gl_tmpl.cpp
70           gl2/qt_glutil_gl2_0.cpp
71           gl3/qt_glutil_gl3_0.cpp
72           gl4_5/qt_glutil_gl4_5.cpp
73           gles2/qt_glutil_gles_2.cpp
74           qt_glevents.cpp
75
76           virtualfileslist.cpp
77
78           qt_dialogs.cpp
79           qt_lineeditplus.cpp
80
81           qt_input.cpp
82           qt_drawitem.cpp
83           menu_control.cpp
84           menu_metaclass.cpp
85           menu_disk.cpp
86           menu_harddisk.cpp
87           menu_quickdisk.cpp
88           menu_compactdisc.cpp
89           menu_laserdisc.cpp
90           menu_cmt.cpp
91           menu_cart.cpp
92           menu_main.cpp
93           menu_emulator.cpp
94           menu_machine.cpp
95           menu_sound.cpp
96           menu_binary.cpp
97           menu_bubble.cpp
98           menu_screen.cpp
99           mainwindow_utils.cpp
100           util_fd.cpp
101           util_hdd.cpp
102           util_cd.cpp
103           util_ld.cpp
104           util_cmt.cpp
105           util_qd.cpp
106           util_cart.cpp
107           util_binary.cpp
108           util_bubble.cpp
109           display_statusbar.cpp
110           display_about.cpp
111           display_text_document.cpp
112           sound_dialog.cpp
113           mouse_dialog.cpp
114           dialog_memory.cpp
115
116           dropdown_keyset.cpp
117           dropdown_joystick.cpp
118           dropdown_jsbutton.cpp
119           dropdown_jspage.cpp
120
121           dropdown_joykey.cpp
122           dropdown_joykeybutton.cpp
123
124           dialog_set_key.cpp
125           dialog_set_key_combo.cpp
126           dialog_movie.cpp
127           display_log.cpp
128
129           tab_movie_general.cpp
130           tab_movie_h264.cpp
131           tab_movie_mpeg4.cpp
132
133           dock_disks.cpp
134
135           draw_thread.cpp
136           joy_thread.cpp
137
138           qt_debugger_tmpl.cpp
139
140           menu_flags_tmpl.cpp
141
142           util_fd2.cpp
143           util_hdd2.cpp
144
145           ../emu_thread/emu_thread_tmpl.cpp
146           ../emu_thread/utils.cpp
147           ../emu_thread/inputs.cpp
148           ../emu_thread/sequences.cpp
149           ../emu_thread/emu_thread_slots.cpp
150 )
151 add_definitions(-D__GUI_LIBRARY_NAME=\"libCSPgui.${THIS_LIB_VERSION}\")
152
153 MAKE_WRAP_CPP(s_qt_gui_headers_MOC ${s_qt_gui_headers})
154 if(CHECK_QT_6)
155   QT_ADD_RESOURCES(s_qt_gui_RCC ${RESOURCE}
156               ${CMAKE_CURRENT_SOURCE_DIR}/../common/qrc/commontexts.qrc
157                       ${CMAKE_CURRENT_SOURCE_DIR}/../common/qrc/shaders.qrc
158                       ${CMAKE_CURRENT_SOURCE_DIR}/../common/qrc/i18n_global.qrc
159                       ${CMAKE_CURRENT_SOURCE_DIR}/../common/qrc/icons.qrc
160                       )
161 else()
162   QT5_ADD_RESOURCES(s_qt_gui_RCC ${RESOURCE}
163               ${CMAKE_CURRENT_SOURCE_DIR}/../common/qrc/commontexts.qrc
164                       ${CMAKE_CURRENT_SOURCE_DIR}/../common/qrc/shaders.qrc
165                       ${CMAKE_CURRENT_SOURCE_DIR}/../common/qrc/i18n_global.qrc
166                       ${CMAKE_CURRENT_SOURCE_DIR}/../common/qrc/icons.qrc
167                       )
168 endif()
169
170 if(WIN32)
171   include (GenerateExportHeader)
172   add_library(CSPgui SHARED
173         ${s_qt_gui_srcs}
174         ${s_qt_gui_headers_MOC}
175         ${s_qt_gui_RCC}
176         )
177
178   if(CHECK_QT_6)
179         target_link_libraries(CSPgui
180           PRIVATE         CSPosd
181           CSPavio
182           CSPemu_utils
183           Qt::Core
184           Qt::Gui
185           Qt::OpenGL
186           Qt::Widgets
187           ${SDL2_LIBRARIES}
188           ${ADDITIONAL_DLL_LIBRARIES}
189           )
190   else()
191         target_link_libraries(CSPgui
192           PRIVATE         CSPosd
193           CSPavio
194           CSPemu_utils
195           Qt5::Core
196           Qt5::Gui
197           Qt5::OpenGL
198           Qt5::Widgets
199           ${SDL2_LIBRARIES}
200           ${ADDITIONAL_DLL_LIBRARIES}
201           )
202   endif()
203   set_target_properties(CSPgui PROPERTIES
204         SOVERSION ${THIS_LIB_VERSION}
205         VERSION ${THIS_LIB_VERSION}
206         LINK_INTERFACE_LIBRARIES ""
207         )
208   generate_export_header(CSPgui
209     BASE_NAME CSPgui
210     EXPORT_MACRO_NAME CSPgui_EXPORT
211     EXPORT_FILE_NAME CSPgui_Export.h
212     STATIC_DEFINE CSPgui_BUILT_AS_STATIC
213         )
214   set_std(CSPgui)
215 else()
216   set(s_qt_gui_srcs ${s_qt_gui_srcs} qt_main.cpp)
217
218   add_library(CSPgui SHARED
219         ${s_qt_gui_srcs}
220         ${s_qt_gui_headers_MOC}
221         ${s_qt_gui_RCC}
222         )
223   #add_precompiled_header(CSPgui pch_list
224   #             SOURCE_CXX pch.cpp FORCEINCLUDE
225   #)
226   if(CHECK_QT_6)
227         target_link_libraries(CSPgui PUBLIC
228           Qt::Core
229           Qt::Gui
230           Qt::OpenGL
231           Qt::Widgets
232           ${SDL2_LIBRARIES}
233           ${ADDITIONAL_DLL_LIBRARIES}
234           )
235   else()
236         target_link_libraries(CSPgui PUBLIC
237           Qt5::Core
238           Qt5::Gui
239           Qt5::OpenGL
240           Qt5::Widgets
241           ${SDL2_LIBRARIES}
242           ${ADDITIONAL_DLL_LIBRARIES}
243           )
244   endif()
245
246   set_target_properties(CSPgui PROPERTIES
247         SOVERSION ${THIS_LIB_VERSION}
248         VERSION ${THIS_LIB_VERSION}
249         )
250   INSTALL(TARGETS CSPgui DESTINATION ${LIBCSP_INSTALL_DIR})
251   set_std(CSPgui)
252 endif()