summaryrefslogtreecommitdiff
path: root/utils/rbutilqt/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'utils/rbutilqt/CMakeLists.txt')
-rw-r--r--utils/rbutilqt/CMakeLists.txt406
1 files changed, 406 insertions, 0 deletions
diff --git a/utils/rbutilqt/CMakeLists.txt b/utils/rbutilqt/CMakeLists.txt
new file mode 100644
index 0000000000..138d0903cf
--- /dev/null
+++ b/utils/rbutilqt/CMakeLists.txt
@@ -0,0 +1,406 @@
1#
2# __________ __ ___.
3# Open \______ \ ____ ____ | | _\_ |__ _______ ___
4# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7# \/ \/ \/ \/ \/
8#
9# All files in this archive are subject to the GNU General Public License.
10# See the file COPYING in the source tree root for full license agreement.
11#
12# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
13# KIND, either express or implied.
14#
15
16set(RBUTIL_TS_FILES
17 ${CMAKE_CURRENT_LIST_DIR}/lang/rbutil_cs.ts
18 ${CMAKE_CURRENT_LIST_DIR}/lang/rbutil_de.ts
19 ${CMAKE_CURRENT_LIST_DIR}/lang/rbutil_fi.ts
20 ${CMAKE_CURRENT_LIST_DIR}/lang/rbutil_fr.ts
21 ${CMAKE_CURRENT_LIST_DIR}/lang/rbutil_gr.ts
22 ${CMAKE_CURRENT_LIST_DIR}/lang/rbutil_he.ts
23 ${CMAKE_CURRENT_LIST_DIR}/lang/rbutil_it.ts
24 ${CMAKE_CURRENT_LIST_DIR}/lang/rbutil_ja.ts
25 ${CMAKE_CURRENT_LIST_DIR}/lang/rbutil_nl.ts
26 ${CMAKE_CURRENT_LIST_DIR}/lang/rbutil_pl.ts
27 ${CMAKE_CURRENT_LIST_DIR}/lang/rbutil_pt_BR.ts
28 ${CMAKE_CURRENT_LIST_DIR}/lang/rbutil_pt.ts
29 ${CMAKE_CURRENT_LIST_DIR}/lang/rbutil_ru.ts
30 ${CMAKE_CURRENT_LIST_DIR}/lang/rbutil_tr.ts
31 ${CMAKE_CURRENT_LIST_DIR}/lang/rbutil_zh_CN.ts
32 ${CMAKE_CURRENT_LIST_DIR}/lang/rbutil_zh_TW.ts
33 )
34if(QT_VERSION_MAJOR EQUAL 5)
35 qt5_add_translation(RBUTIL_QM_FILES ${RBUTIL_TS_FILES})
36else()
37 qt6_add_translation(RBUTIL_QM_FILES ${RBUTIL_TS_FILES})
38endif()
39
40# The qrc file searches input files based on its location, and the qm files are
41# generated in the build dir. Copy the qrc file to the build dir, make it
42# depend on the qm files. cmake will then get deps right.
43add_custom_command(
44 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/rbutilqt-lang.qrc
45 COMMAND ${CMAKE_COMMAND} -E copy_if_different
46 ${CMAKE_CURRENT_LIST_DIR}/lang/rbutilqt-lang.qrc
47 ${CMAKE_CURRENT_BINARY_DIR}
48 DEPENDS ${RBUTIL_QM_FILES}
49 )
50
51add_executable(RockboxUtility WIN32 MACOSX_BUNDLE
52 ${CMAKE_CURRENT_LIST_DIR}/main.cpp
53
54 ${CMAKE_CURRENT_LIST_DIR}/aboutbox.ui
55 ${CMAKE_CURRENT_LIST_DIR}/configure.cpp
56 ${CMAKE_CURRENT_LIST_DIR}/configurefrm.ui
57 ${CMAKE_CURRENT_LIST_DIR}/configure.h
58 ${CMAKE_CURRENT_LIST_DIR}/createvoicefrm.ui
59 ${CMAKE_CURRENT_LIST_DIR}/createvoicewindow.cpp
60 ${CMAKE_CURRENT_LIST_DIR}/createvoicewindow.h
61 ${CMAKE_CURRENT_LIST_DIR}/encttscfggui.cpp
62 ${CMAKE_CURRENT_LIST_DIR}/encttscfggui.h
63 ${CMAKE_CURRENT_LIST_DIR}/installtalkfrm.ui
64 ${CMAKE_CURRENT_LIST_DIR}/installtalkwindow.cpp
65 ${CMAKE_CURRENT_LIST_DIR}/installtalkwindow.h
66 ${CMAKE_CURRENT_LIST_DIR}/preview.cpp
67 ${CMAKE_CURRENT_LIST_DIR}/previewfrm.ui
68 ${CMAKE_CURRENT_LIST_DIR}/preview.h
69 ${CMAKE_CURRENT_LIST_DIR}/progressloggerfrm.ui
70 ${CMAKE_CURRENT_LIST_DIR}/progressloggergui.cpp
71 ${CMAKE_CURRENT_LIST_DIR}/progressloggergui.h
72 ${CMAKE_CURRENT_LIST_DIR}/rbutilqt.cpp
73 ${CMAKE_CURRENT_LIST_DIR}/rbutilqtfrm.ui
74 ${CMAKE_CURRENT_LIST_DIR}/rbutilqt.h
75 ${CMAKE_CURRENT_LIST_DIR}/sysinfo.cpp
76 ${CMAKE_CURRENT_LIST_DIR}/sysinfofrm.ui
77 ${CMAKE_CURRENT_LIST_DIR}/sysinfo.h
78 ${CMAKE_CURRENT_LIST_DIR}/systrace.cpp
79 ${CMAKE_CURRENT_LIST_DIR}/systracefrm.ui
80 ${CMAKE_CURRENT_LIST_DIR}/systrace.h
81 ${CMAKE_CURRENT_LIST_DIR}/themesinstallfrm.ui
82 ${CMAKE_CURRENT_LIST_DIR}/themesinstallwindow.cpp
83 ${CMAKE_CURRENT_LIST_DIR}/themesinstallwindow.h
84 ${CMAKE_CURRENT_LIST_DIR}/uninstallfrm.ui
85 ${CMAKE_CURRENT_LIST_DIR}/uninstallwindow.cpp
86 ${CMAKE_CURRENT_LIST_DIR}/uninstallwindow.h
87 ${CMAKE_CURRENT_LIST_DIR}/version.h
88
89 ${CMAKE_CURRENT_LIST_DIR}/gui/backupdialog.cpp
90 ${CMAKE_CURRENT_LIST_DIR}/gui/backupdialogfrm.ui
91 ${CMAKE_CURRENT_LIST_DIR}/gui/backupdialog.h
92 ${CMAKE_CURRENT_LIST_DIR}/gui/changelog.cpp
93 ${CMAKE_CURRENT_LIST_DIR}/gui/changelogfrm.ui
94 ${CMAKE_CURRENT_LIST_DIR}/gui/changelog.h
95 ${CMAKE_CURRENT_LIST_DIR}/gui/comboboxviewdelegate.cpp
96 ${CMAKE_CURRENT_LIST_DIR}/gui/comboboxviewdelegate.h
97 ${CMAKE_CURRENT_LIST_DIR}/gui/infowidget.cpp
98 ${CMAKE_CURRENT_LIST_DIR}/gui/infowidgetfrm.ui
99 ${CMAKE_CURRENT_LIST_DIR}/gui/infowidget.h
100 ${CMAKE_CURRENT_LIST_DIR}/gui/selectiveinstallwidget.cpp
101 ${CMAKE_CURRENT_LIST_DIR}/gui/selectiveinstallwidgetfrm.ui
102 ${CMAKE_CURRENT_LIST_DIR}/gui/selectiveinstallwidget.h
103
104 ${CMAKE_CURRENT_LIST_DIR}/rbutilqt.qrc
105 ${CMAKE_CURRENT_BINARY_DIR}/rbutilqt-lang.qrc
106 )
107
108if(WIN32)
109 target_sources(RockboxUtility PRIVATE
110 ${CMAKE_CURRENT_LIST_DIR}/rbutilqt-win.qrc
111 ${CMAKE_CURRENT_LIST_DIR}/rbutilqt.rc)
112 # needed on Windows, otherwise svg icons won't show.
113 target_link_libraries(RockboxUtility Qt${QT_VERSION_MAJOR}::QSvgIconPlugin)
114endif()
115if(APPLE)
116 # MacOS Application Bundle specifics.
117 target_sources(RockboxUtility PRIVATE
118 ${CMAKE_CURRENT_LIST_DIR}/icons/rbutilqt.icns)
119 set_target_properties(RockboxUtility
120 PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_LIST_DIR}/Info.plist)
121 set_source_files_properties(${CMAKE_CURRENT_LIST_DIR}/icons/rbutilqt.icns
122 PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
123endif()
124
125target_link_libraries(RockboxUtility rbbase cutelogger
126 Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Multimedia)
127
128target_include_directories(RockboxUtility PRIVATE
129 ${CMAKE_CURRENT_LIST_DIR}/gui
130 ${CMAKE_CURRENT_LIST_DIR})
131target_compile_definitions(RockboxUtility PRIVATE
132 QT_DEPRECATED_WARNINGS
133 RBUTIL _LARGEFILE64_SOURCE UNICODE)
134
135set_property(TARGET RockboxUtility PROPERTY AUTOMOC ON)
136set_property(TARGET RockboxUtility PROPERTY AUTORCC ON)
137set_property(TARGET RockboxUtility PROPERTY AUTOUIC ON)
138
139deploy_qt(RockboxUtility
140 ${QT_BINDIR}
141 ${CMAKE_CURRENT_LIST_DIR}/../../docs/logo/rockbox-clef.svg
142 ${CMAKE_CURRENT_LIST_DIR}/RockboxUtility.desktop
143 ${CMAKE_CURRENT_LIST_DIR}/dmgbuild.cfg)
144
145add_library(rbbase
146 ${CMAKE_CURRENT_LIST_DIR}/../../tools/iriver.c
147 ${CMAKE_CURRENT_LIST_DIR}/../../tools/iriver.h
148 ${CMAKE_CURRENT_LIST_DIR}/../../tools/mkboot.c
149 ${CMAKE_CURRENT_LIST_DIR}/../../tools/mkboot.h
150 ${CMAKE_CURRENT_LIST_DIR}/../../tools/wavtrim.c
151 ${CMAKE_CURRENT_LIST_DIR}/../../tools/wavtrim.h
152 ${CMAKE_CURRENT_LIST_DIR}/base/archiveutil.cpp
153 ${CMAKE_CURRENT_LIST_DIR}/base/archiveutil.h
154 ${CMAKE_CURRENT_LIST_DIR}/base/autodetection.cpp
155 ${CMAKE_CURRENT_LIST_DIR}/base/autodetection.h
156 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallams.cpp
157 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallams.h
158 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallbase.cpp
159 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallbase.h
160 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallbspatch.cpp
161 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallbspatch.h
162 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallchinachip.cpp
163 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallchinachip.h
164 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallfile.cpp
165 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallfile.h
166 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallhelper.cpp
167 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallhelper.h
168 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallhex.cpp
169 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallhex.h
170 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallimx.cpp
171 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallimx.h
172 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallipod.cpp
173 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallipod.h
174 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallmi4.cpp
175 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallmi4.h
176 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallmpio.cpp
177 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallmpio.h
178 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstalls5l.cpp
179 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstalls5l.h
180 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallsansa.cpp
181 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstallsansa.h
182 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstalltcc.cpp
183 ${CMAKE_CURRENT_LIST_DIR}/base/bootloaderinstalltcc.h
184 ${CMAKE_CURRENT_LIST_DIR}/base/encoderbase.cpp
185 ${CMAKE_CURRENT_LIST_DIR}/base/encoderbase.h
186 ${CMAKE_CURRENT_LIST_DIR}/base/encoderexe.cpp
187 ${CMAKE_CURRENT_LIST_DIR}/base/encoderexe.h
188 ${CMAKE_CURRENT_LIST_DIR}/base/encoderlame.cpp
189 ${CMAKE_CURRENT_LIST_DIR}/base/encoderlame.h
190 ${CMAKE_CURRENT_LIST_DIR}/base/encoderrbspeex.cpp
191 ${CMAKE_CURRENT_LIST_DIR}/base/encoderrbspeex.h
192 ${CMAKE_CURRENT_LIST_DIR}/base/encttssettings.cpp
193 ${CMAKE_CURRENT_LIST_DIR}/base/encttssettings.h
194 ${CMAKE_CURRENT_LIST_DIR}/base/httpget.cpp
195 ${CMAKE_CURRENT_LIST_DIR}/base/httpget.h
196 ${CMAKE_CURRENT_LIST_DIR}/base/mspackutil.cpp
197 ${CMAKE_CURRENT_LIST_DIR}/base/mspackutil.h
198 ${CMAKE_CURRENT_LIST_DIR}/base/progressloggerinterface.h
199 ${CMAKE_CURRENT_LIST_DIR}/base/playerbuildinfo.cpp
200 ${CMAKE_CURRENT_LIST_DIR}/base/playerbuildinfo.h
201 ${CMAKE_CURRENT_LIST_DIR}/base/rbsettings.cpp
202 ${CMAKE_CURRENT_LIST_DIR}/base/rbsettings.h
203 ${CMAKE_CURRENT_LIST_DIR}/base/rockboxinfo.cpp
204 ${CMAKE_CURRENT_LIST_DIR}/base/rockboxinfo.h
205 ${CMAKE_CURRENT_LIST_DIR}/base/system.cpp
206 ${CMAKE_CURRENT_LIST_DIR}/base/system.h
207 ${CMAKE_CURRENT_LIST_DIR}/base/talkfile.cpp
208 ${CMAKE_CURRENT_LIST_DIR}/base/talkfile.h
209 ${CMAKE_CURRENT_LIST_DIR}/base/talkgenerator.cpp
210 ${CMAKE_CURRENT_LIST_DIR}/base/talkgenerator.h
211 ${CMAKE_CURRENT_LIST_DIR}/base/ttsbase.cpp
212 ${CMAKE_CURRENT_LIST_DIR}/base/ttsbase.h
213 ${CMAKE_CURRENT_LIST_DIR}/base/ttsespeak.h
214 ${CMAKE_CURRENT_LIST_DIR}/base/ttsespeakng.h
215 ${CMAKE_CURRENT_LIST_DIR}/base/ttsexes.cpp
216 ${CMAKE_CURRENT_LIST_DIR}/base/ttsexes.h
217 ${CMAKE_CURRENT_LIST_DIR}/base/ttsfestival.cpp
218 ${CMAKE_CURRENT_LIST_DIR}/base/ttsfestival.h
219 ${CMAKE_CURRENT_LIST_DIR}/base/ttsflite.h
220 ${CMAKE_CURRENT_LIST_DIR}/base/ttsmimic.h
221 ${CMAKE_CURRENT_LIST_DIR}/base/ttsmssp.h
222 ${CMAKE_CURRENT_LIST_DIR}/base/ttssapi.cpp
223 ${CMAKE_CURRENT_LIST_DIR}/base/ttssapi.h
224 ${CMAKE_CURRENT_LIST_DIR}/base/ttssapi4.h
225 ${CMAKE_CURRENT_LIST_DIR}/base/ttsswift.h
226 ${CMAKE_CURRENT_LIST_DIR}/base/uninstall.cpp
227 ${CMAKE_CURRENT_LIST_DIR}/base/uninstall.h
228 ${CMAKE_CURRENT_LIST_DIR}/base/utils.cpp
229 ${CMAKE_CURRENT_LIST_DIR}/base/utils.h
230 ${CMAKE_CURRENT_LIST_DIR}/base/voicefile.cpp
231 ${CMAKE_CURRENT_LIST_DIR}/base/voicefile.h
232 ${CMAKE_CURRENT_LIST_DIR}/base/zipinstaller.cpp
233 ${CMAKE_CURRENT_LIST_DIR}/base/zipinstaller.h
234 ${CMAKE_CURRENT_LIST_DIR}/base/ziputil.cpp
235 ${CMAKE_CURRENT_LIST_DIR}/base/ziputil.h
236 )
237
238if(APPLE)
239 target_sources(rbbase PRIVATE
240 ${CMAKE_CURRENT_LIST_DIR}/base/ttscarbon.cpp
241 ${CMAKE_CURRENT_LIST_DIR}/base/ttscarbon.h)
242endif()
243
244target_link_libraries(rbbase
245 cutelogger quazip mspack bspatch rbspeex voicefont
246 sansapatcher ipodpatcher chinachippatcher
247 mkamsboot mkimxboot mkmpioboot mktccboot mks5lboot
248 Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Network)
249target_include_directories(rbbase PUBLIC ${CMAKE_CURRENT_LIST_DIR}/base)
250target_include_directories(rbbase PRIVATE ${CMAKE_CURRENT_LIST_DIR})
251target_include_directories(rbbase PUBLIC ${CMAKE_CURRENT_LIST_DIR}/../../tools)
252target_compile_definitions(rbbase PUBLIC RBUTIL _LARGEFILE64_SOURCE UNICODE)
253target_compile_definitions(rbbase PRIVATE QT_DEPRECATED_WARNINGS)
254if(WIN32)
255 target_link_libraries(rbbase setupapi ws2_32 netapi32 crypt32 iphlpapi)
256elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
257 target_link_libraries(rbbase PkgConfig::libusb)
258elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
259 target_link_libraries(rbbase ${FRAMEWORK_IOKIT} ${FRAMEWORK_COREFOUNDATION}
260 ${FRAMEWORK_CARBON} ${FRAMEWORK_SYSTEMCONFIGURATION} ${FRAMEWORK_CORESERVICES})
261endif()
262set_property(TARGET rbbase PROPERTY AUTOMOC ON)
263
264# TODO: Upstream has cmake support, use that instead.
265add_library(cutelogger)
266# need to put those separate, otherwise cmake will not add them correctly -- seems to be related to moc'ing.
267target_sources(cutelogger PUBLIC
268 ${CMAKE_CURRENT_LIST_DIR}/logger/include/AbstractAppender.h
269 ${CMAKE_CURRENT_LIST_DIR}/logger/include/AbstractStringAppender.h
270 ${CMAKE_CURRENT_LIST_DIR}/logger/include/ConsoleAppender.h
271 ${CMAKE_CURRENT_LIST_DIR}/logger/include/CuteLogger_global.h
272 ${CMAKE_CURRENT_LIST_DIR}/logger/include/FileAppender.h
273 ${CMAKE_CURRENT_LIST_DIR}/logger/include/Logger.h
274 #${CMAKE_CURRENT_LIST_DIR}/logger/include/OutputDebugAppender.h
275 ${CMAKE_CURRENT_LIST_DIR}/logger/src/AbstractAppender.cpp
276 ${CMAKE_CURRENT_LIST_DIR}/logger/src/AbstractStringAppender.cpp
277 ${CMAKE_CURRENT_LIST_DIR}/logger/src/ConsoleAppender.cpp
278 ${CMAKE_CURRENT_LIST_DIR}/logger/src/FileAppender.cpp
279 ${CMAKE_CURRENT_LIST_DIR}/logger/src/Logger.cpp
280 #${CMAKE_CURRENT_LIST_DIR}/logger/src/OutputDebugAppender.cpp
281 )
282target_include_directories(cutelogger PUBLIC ${CMAKE_CURRENT_LIST_DIR}/logger/include)
283target_link_libraries(cutelogger PUBLIC Qt${QT_VERSION_MAJOR}::Core)
284target_compile_definitions(cutelogger PUBLIC CUTELOGGER_STATIC)
285set_property(TARGET cutelogger PROPERTY AUTOMOC ON)
286
287# TODO: Upstream has cmake support, use that instead.
288add_library(quazip
289 ${CMAKE_CURRENT_LIST_DIR}/quazip/ioapi.h
290 ${CMAKE_CURRENT_LIST_DIR}/quazip/minizip_crypt.h
291 ${CMAKE_CURRENT_LIST_DIR}/quazip/qioapi.cpp
292 ${CMAKE_CURRENT_LIST_DIR}/quazip/quazip.cpp
293 ${CMAKE_CURRENT_LIST_DIR}/quazip/quazipfile.cpp
294 ${CMAKE_CURRENT_LIST_DIR}/quazip/quazipfile.h
295 ${CMAKE_CURRENT_LIST_DIR}/quazip/quazipfileinfo.cpp
296 ${CMAKE_CURRENT_LIST_DIR}/quazip/quazipfileinfo.h
297 ${CMAKE_CURRENT_LIST_DIR}/quazip/quazip_global.h
298 ${CMAKE_CURRENT_LIST_DIR}/quazip/quazip.h
299 ${CMAKE_CURRENT_LIST_DIR}/quazip/quazipnewinfo.cpp
300 ${CMAKE_CURRENT_LIST_DIR}/quazip/quazipnewinfo.h
301 ${CMAKE_CURRENT_LIST_DIR}/quazip/unzip.c
302 ${CMAKE_CURRENT_LIST_DIR}/quazip/unzip.h
303 ${CMAKE_CURRENT_LIST_DIR}/quazip/zip.c
304 ${CMAKE_CURRENT_LIST_DIR}/quazip/zip.h
305 )
306target_include_directories(quazip PUBLIC ${CMAKE_CURRENT_LIST_DIR}/quazip)
307target_link_libraries(quazip z Qt${QT_VERSION_MAJOR}::Core)
308if(QT_VERSION_MAJOR EQUAL 6)
309 target_link_libraries(quazip Qt${QT_VERSION_MAJOR}::Core5Compat)
310endif()
311target_compile_definitions(quazip PUBLIC QUAZIP_STATIC)
312set_property(TARGET quazip PROPERTY AUTOMOC ON)
313
314add_library(mspack
315 mspack/cabc.c
316 mspack/cabd.c
317 mspack/cab.h
318 #mspack/chmc.c
319 #mspack/chmd.c
320 #mspack/chm.h
321 mspack/des.h
322 #mspack/hlpc.c
323 #mspack/hlpd.c
324 #mspack/hlp.h
325 #mspack/kwajc.c
326 #mspack/kwajd.c
327 #mspack/kwaj.h
328 #mspack/litc.c
329 #mspack/litd.c
330 #mspack/lit.h
331 #mspack/lzssd.c
332 #mspack/lzss.h
333 mspack/lzxc.c
334 mspack/lzxd.c
335 mspack/lzx.h
336 mspack/mspack.h
337 mspack/mszipc.c
338 mspack/mszipd.c
339 mspack/mszip.h
340 mspack/qtmd.c
341 mspack/qtm.h
342 mspack/readbits.h
343 mspack/readhuff.h
344 mspack/sha.h
345 mspack/system-mspack.c
346 mspack/system-mspack.h
347 #mspack/szddc.c
348 #mspack/szddd.c
349 #mspack/szdd.h
350 )
351
352target_include_directories(mspack PUBLIC ${CMAKE_CURRENT_LIST_DIR}/mspack)
353
354
355# Unit tests
356add_executable(test_compareversion
357 base/utils.cpp
358 base/utils.h
359 test/stubs/stubs-compareversion.cpp
360 test/test-compareversion.cpp)
361
362target_link_libraries(test_compareversion Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Test)
363target_compile_definitions(test_compareversion PRIVATE UNICODE)
364if(APPLE)
365 target_link_libraries(test_compareversion ${FRAMEWORK_IOKIT} ${FRAMEWORK_COREFOUNDATION}
366 ${FRAMEWORK_CARBON} ${FRAMEWORK_SYSTEMCONFIGURATION} ${FRAMEWORK_CORESERVICES})
367endif()
368target_include_directories(test_compareversion PRIVATE base test/stubs)
369add_test(test_compareversion test_compareversion)
370set_property(TARGET test_compareversion PROPERTY AUTOMOC ON)
371
372add_executable(test_httpget
373 test/test-httpget.cpp
374 base/httpget.cpp
375 base/httpget.h)
376target_link_libraries(test_httpget Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Test Qt${QT_VERSION_MAJOR}::Network)
377target_include_directories(test_httpget PRIVATE base test/stubs)
378add_test(test_httpget test_httpget)
379set_property(TARGET test_httpget PROPERTY AUTOMOC ON)
380
381add_executable(test_playerbuildinfo
382 base/playerbuildinfo.cpp
383 base/playerbuildinfo.h
384 base/rbsettings.h
385 base/rockboxinfo.h
386 rbutilqt.qrc # needed for rbutil.ini resource.
387 test/stubs/stubs-playerbuildinfo.cpp
388 test/test-playerbuildinfo.cpp)
389target_link_libraries(test_playerbuildinfo Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Test)
390target_include_directories(test_playerbuildinfo PRIVATE base test/stubs)
391add_test(test_playerbuildinfo test_playerbuildinfo)
392set_property(TARGET test_playerbuildinfo PROPERTY AUTOMOC ON)
393set_property(TARGET test_playerbuildinfo PROPERTY AUTORCC ON)
394
395add_executable(test_rockboxinfo
396 base/rockboxinfo.cpp
397 base/rockboxinfo.h
398 test/test-rockboxinfo.cpp)
399
400target_link_libraries(test_rockboxinfo Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Test)
401target_include_directories(test_rockboxinfo PRIVATE base test/stubs)
402target_compile_definitions(test_rockboxinfo PRIVATE UNICODE)
403add_test(test_rockboxinfo test_rockboxinfo)
404set_property(TARGET test_rockboxinfo PROPERTY AUTOMOC ON)
405
406