OSDN Git Service

[VM][Qt][UI][EMU][WIP] Use EMU_TEMPLATE:: instead of EMU:: . Some VMs are not apply...
[csp-qt/common_source_project-fm7.git] / source / src / qt / gui / CMakeLists.txt
1 message("* qt/gui")
2
3 set(THIS_LIB_VERSION 2.24.0)
4 #include(cotire)
5 #include(PrecompiledHeader)
6
7 set(s_qt_gui_headers
8           qt_dialogs.h
9           qt_gldraw.h
10           qt_glpack.h
11           
12           gl/qt_glutil_gl_tmpl.h
13           gl2/qt_glutil_gl2_0.h
14           gl3/qt_glutil_gl3_0.h
15           gl4_5/qt_glutil_gl4_5.h
16           gles2/qt_glutil_gles_2.h
17           
18           commonclasses.h
19           sound_dialog.h
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           gl2/qt_glutil_gl2_0.cpp
68           gl3/qt_glutil_gl3_0.cpp
69           gl4_5/qt_glutil_gl4_5.cpp
70           gles2/qt_glutil_gles_2.cpp
71           qt_glevents.cpp
72           qt_dialogs.cpp
73           qt_lineeditplus.cpp
74           
75           qt_input.cpp
76           qt_drawitem.cpp
77           menu_control.cpp
78           menu_metaclass.cpp
79           menu_disk.cpp
80           menu_harddisk.cpp
81           menu_quickdisk.cpp
82           menu_compactdisc.cpp
83           menu_laserdisc.cpp
84           menu_cmt.cpp
85           menu_cart.cpp
86           menu_main.cpp
87           menu_emulator.cpp
88           menu_machine.cpp
89           menu_sound.cpp
90           menu_binary.cpp
91           menu_bubble.cpp
92           menu_screen.cpp
93           mainwindow_utils.cpp
94           util_fd.cpp
95           util_hdd.cpp
96           util_cd.cpp
97           util_ld.cpp
98           util_cmt.cpp
99           util_qd.cpp
100           util_cart.cpp
101           util_binary.cpp
102           util_bubble.cpp
103           display_statusbar.cpp
104           display_about.cpp
105           display_text_document.cpp
106           sound_dialog.cpp
107           dialog_memory.cpp
108           
109           dropdown_keyset.cpp
110           dropdown_joystick.cpp
111           dropdown_jsbutton.cpp
112           dropdown_jspage.cpp
113
114           dropdown_joykey.cpp
115           dropdown_joykeybutton.cpp
116           
117           dialog_set_key.cpp
118           dialog_set_key_combo.cpp
119           dialog_movie.cpp
120           display_log.cpp
121           
122           tab_movie_general.cpp
123           tab_movie_h264.cpp
124           tab_movie_mpeg4.cpp
125
126           dock_disks.cpp
127           
128           draw_thread.cpp
129           joy_thread.cpp
130           emu_thread_tmpl.cpp
131           qt_debugger_tmpl.cpp
132
133           menu_flags_tmpl.cpp
134           ../common/util_fd2.cpp
135           ../common/util_hdd2.cpp
136 #         ../common/util_bubble2.cpp
137 #         qt_main.cpp
138 )
139 add_definitions(-D__GUI_LIBRARY_NAME=\"libCSPgui.${THIS_LIB_VERSION}\")
140
141 if(USE_QT_5)
142   QT5_WRAP_CPP(s_qt_gui_headers_MOC ${s_qt_gui_headers})
143 #    QT5_ADD_RESOURCES(s_qt_gui_RCC ${RESOURCE}
144 #                      ${CMAKE_SOURCE_DIR}/../../src/qt/common/qrc/commontexts.qrc
145 #                     ${CMAKE_SOURCE_DIR}/../../src/qt/common/qrc/shaders.qrc
146 #                     )
147     QT5_ADD_RESOURCES(s_qt_gui_RCC ${RESOURCE}
148                       ${CMAKE_CURRENT_SOURCE_DIR}/../common/qrc/commontexts.qrc
149                       ${CMAKE_CURRENT_SOURCE_DIR}/../common/qrc/shaders.qrc
150                       )
151 else()
152   QT4_WRAP_CPP(s_qt_gui_headers_MOC ${s_qt_gui_headers})
153 endif()
154
155 if(WIN32)
156 include (GenerateExportHeader)
157 add_library(CSPgui SHARED
158           ${s_qt_gui_srcs}
159           ${s_qt_gui_headers_MOC}
160           ${s_qt_gui_RCC}
161           )
162
163 target_link_libraries(CSPgui 
164           PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../../build-cmake/bin-win32/libCSPosd.dll.a
165 #         ${LIBAV_LIBRARIES}
166           ${CMAKE_CURRENT_SOURCE_DIR}/../../../build-cmake/bin-win32/libCSPavio.dll.a
167           ${CMAKE_CURRENT_SOURCE_DIR}/../../../build-cmake/bin-win32/libCSPemu_utils.dll.a
168           Qt5::Core
169           Qt5::Gui
170           Qt5::OpenGL
171           Qt5::Widgets
172           ${SDL2_LIBRARIES}
173           )
174 set_target_properties(CSPgui PROPERTIES
175                              SOVERSION ${THIS_LIB_VERSION}
176                              VERSION ${THIS_LIB_VERSION}
177                              LINK_INTERFACE_LIBRARIES ""
178                              )
179 generate_export_header(CSPgui
180         BASE_NAME CSPgui
181         EXPORT_MACRO_NAME CSPgui_EXPORT
182         EXPORT_FILE_NAME CSPgui_Export.h
183         STATIC_DEFINE CSPgui_BUILT_AS_STATIC
184 )
185 else()
186 set(s_qt_gui_srcs ${s_qt_gui_srcs} qt_main.cpp)
187
188 add_library(CSPgui SHARED
189           ${s_qt_gui_srcs}
190           ${s_qt_gui_headers_MOC}
191           ${s_qt_gui_RCC}
192 )
193 #add_precompiled_header(CSPgui pch_list
194 #               SOURCE_CXX pch.cpp FORCEINCLUDE
195 #)
196 target_link_libraries(CSPgui PUBLIC
197           Qt5::Core
198           Qt5::Gui
199           Qt5::OpenGL
200           Qt5::Widgets
201           ${SDL2_LIBRARIES}
202           )
203
204 set_target_properties(CSPgui PROPERTIES 
205                              SOVERSION ${THIS_LIB_VERSION}
206                              VERSION ${THIS_LIB_VERSION}
207                              )
208 INSTALL(TARGETS CSPgui DESTINATION ${LIBCSP_INSTALL_DIR})
209
210 endif()
211
212 #cotire(CSPgui)