OSDN Git Service

[BUILD] Set SOVERSION and GIT hash automatically.
[csp-qt/common_source_project-fm7.git] / source / src / qt / gui / CMakeLists.txt
1 message("* qt/gui")
2
3 set(THIS_LIB_VERSION 2.15.3)
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_3/qt_glutil_gl4_3.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           dialog_set_key.h
38           dialog_set_key_combo.h
39           dialog_movie.h
40           display_log.h
41           
42           tab_movie_general.h
43           tab_movie_h264.h
44           tab_movie_mpeg4.h
45
46           dock_disks.h
47           
48           draw_thread.h
49           joy_thread.h
50           emu_thread_tmpl.h
51           
52           qt_debugger_tmpl.h
53 )
54
55
56 set(s_qt_gui_srcs
57           emuevents_control.cpp
58           qt_gldraw.cpp
59           qt_glutil.cpp
60           qt_glpack.cpp
61           gl2/qt_glutil_gl2_0.cpp
62           gl3/qt_glutil_gl3_0.cpp
63           gl4_3/qt_glutil_gl4_3.cpp
64           gles2/qt_glutil_gles_2.cpp
65           qt_glevents.cpp
66           qt_dialogs.cpp
67
68           qt_input.cpp
69           qt_drawitem.cpp
70           menu_control.cpp
71           menu_metaclass.cpp
72           menu_disk.cpp
73           menu_harddisk.cpp
74           menu_quickdisk.cpp
75           menu_compactdisc.cpp
76           menu_laserdisc.cpp
77           menu_cmt.cpp
78           menu_cart.cpp
79           menu_main.cpp
80           menu_sound.cpp
81           menu_binary.cpp
82           menu_bubble.cpp
83           menu_screen.cpp
84           mainwindow_utils.cpp
85           util_fd.cpp
86           util_hdd.cpp
87           util_cd.cpp
88           util_ld.cpp
89           util_cmt.cpp
90           util_qd.cpp
91           util_cart.cpp
92           util_binary.cpp
93           util_bubble.cpp
94           display_statusbar.cpp
95           display_about.cpp
96           display_text_document.cpp
97           sound_dialog.cpp
98           dropdown_keyset.cpp
99           dropdown_joystick.cpp
100           dropdown_jsbutton.cpp
101           dropdown_jspage.cpp
102           dialog_set_key.cpp
103           dialog_set_key_combo.cpp
104           dialog_movie.cpp
105           display_log.cpp
106           
107           tab_movie_general.cpp
108           tab_movie_h264.cpp
109           tab_movie_mpeg4.cpp
110
111           dock_disks.cpp
112           
113           draw_thread.cpp
114           joy_thread.cpp
115           emu_thread_tmpl.cpp
116           qt_debugger_tmpl.cpp
117
118           menu_flags_tmpl.cpp
119           ../common/util_bubble2.cpp
120 #         qt_main.cpp
121 )
122 add_definitions(-D__GUI_LIBRARY_NAME=\"libCSPgui.${THIS_LIB_VERSION}\")
123
124 if(USE_QT_5)
125   QT5_WRAP_CPP(s_qt_gui_headers_MOC ${s_qt_gui_headers})
126 #    QT5_ADD_RESOURCES(s_qt_gui_RCC ${RESOURCE}
127 #                      ${CMAKE_SOURCE_DIR}/../../src/qt/common/qrc/commontexts.qrc
128 #                     ${CMAKE_SOURCE_DIR}/../../src/qt/common/qrc/shaders.qrc
129 #                     )
130     QT5_ADD_RESOURCES(s_qt_gui_RCC ${RESOURCE}
131                       ${CMAKE_CURRENT_SOURCE_DIR}/../common/qrc/commontexts.qrc
132                       ${CMAKE_CURRENT_SOURCE_DIR}/../common/qrc/shaders.qrc
133                       )
134 else()
135   QT4_WRAP_CPP(s_qt_gui_headers_MOC ${s_qt_gui_headers})
136 endif()
137
138 if(WIN32)
139 include (GenerateExportHeader)
140 add_library(CSPgui SHARED
141           ${s_qt_gui_srcs}
142           ${s_qt_gui_headers_MOC}
143           ${s_qt_gui_RCC}
144           )
145
146 target_link_libraries(CSPgui 
147           ${CMAKE_CURRENT_SOURCE_DIR}/../../../build-cmake/bin-win32/libCSPosd.dll.a
148 #         ${CMAKE_CURRENT_SOURCE_DIR}/../../../build-cmake/bin-win32/libqt_avio.a
149 #         ${LIBAV_LIBRARIES}
150           ${CMAKE_CURRENT_SOURCE_DIR}/../../../build-cmake/bin-win32/libCSPavio.dll.a
151           ${CMAKE_CURRENT_SOURCE_DIR}/../../../build-cmake/bin-win32/libCSPemu_utils.dll.a
152           Qt5::Core
153           Qt5::Gui
154           Qt5::OpenGL
155           Qt5::Widgets
156           ${SDL2_LIBRARIES}
157           )
158 set_target_properties(CSPgui PROPERTIES
159                              SOVERSION ${THIS_LIB_VERSION}
160                              VERSION ${THIS_LIB_VERSION}
161                              LINK_INTERFACE_LIBRARIES ""
162                              )
163 generate_export_header(CSPgui
164         BASE_NAME CSPgui
165         EXPORT_MACRO_NAME CSPgui_EXPORT
166         EXPORT_FILE_NAME CSPgui_Export.h
167         STATIC_DEFINE CSPgui_BUILT_AS_STATIC
168 )
169 else()
170 set(s_qt_gui_srcs ${s_qt_gui_srcs} qt_main.cpp)
171
172 add_library(CSPgui SHARED
173           ${s_qt_gui_srcs}
174           ${s_qt_gui_headers_MOC}
175           ${s_qt_gui_RCC}
176 )
177 #add_precompiled_header(CSPgui pch_list
178 #               SOURCE_CXX pch.cpp FORCEINCLUDE
179 #)
180 target_link_libraries(CSPgui PUBLIC
181           Qt5::Core
182           Qt5::Gui
183           Qt5::OpenGL
184           Qt5::Widgets
185           ${SDL2_LIBRARIES}
186           )
187
188 set_target_properties(CSPgui PROPERTIES 
189                              SOVERSION ${THIS_LIB_VERSION}
190                              VERSION ${THIS_LIB_VERSION}
191                              )
192 INSTALL(TARGETS CSPgui DESTINATION ${LIBCSP_INSTALL_DIR})
193
194 endif()
195
196 #cotire(CSPgui)