OSDN Git Service

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