diff options
-rw-r--r-- | utils/CMakeLists.txt | 717 |
1 files changed, 717 insertions, 0 deletions
diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt new file mode 100644 index 0000000000..1536465e3b --- /dev/null +++ b/utils/CMakeLists.txt | |||
@@ -0,0 +1,717 @@ | |||
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 | cmake_minimum_required(VERSION 3.12) | ||
16 | project(RockboxUtils) | ||
17 | |||
18 | set (CMAKE_EXPORT_COMPILE_COMMANDS ON) | ||
19 | |||
20 | find_program(CCACHE_PROGRAM ccache) | ||
21 | if(CCACHE_PROGRAM) | ||
22 | message("-- Found ccache, enabling") | ||
23 | set(CMAKE_C_COMPILER_LAUNCHER "${CCACHE_PROGRAM}") | ||
24 | set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE_PROGRAM}") | ||
25 | endif() | ||
26 | |||
27 | # Global compiler options | ||
28 | if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") | ||
29 | # Clang and AppleClang | ||
30 | if (CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC") | ||
31 | # using clang with clang-cl front end | ||
32 | elseif (CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "GNU") | ||
33 | # using clang with regular front end | ||
34 | add_compile_options(-Wall -Wextra) | ||
35 | endif() | ||
36 | elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") | ||
37 | add_compile_options(-Wall -Wextra) | ||
38 | endif() | ||
39 | |||
40 | |||
41 | enable_testing() | ||
42 | |||
43 | # Qt | ||
44 | find_package(QT NAMES Qt6 Qt5 REQUIRED) | ||
45 | if(QT_VERSION_MAJOR EQUAL 5) | ||
46 | find_package(Qt5 COMPONENTS Core Widgets Svg Multimedia Network Test LinguistTools REQUIRED) | ||
47 | else() | ||
48 | find_package(Qt6 REQUIRED COMPONENTS Core Core5Compat Widgets Svg Multimedia Network LinguistTools | ||
49 | OPTIONAL_COMPONENTS Test) | ||
50 | endif() | ||
51 | message("-- Found Qt${QT_VERSION_MAJOR}: ${Qt${QT_VERSION_MAJOR}_DIR}") | ||
52 | |||
53 | # If we're on Linux, try to find the used libs in the system. | ||
54 | if (CMAKE_SYSTEM_NAME STREQUAL "Linux") | ||
55 | # required system libs | ||
56 | find_package(PkgConfig) | ||
57 | pkg_check_modules(libusb QUIET REQUIRED IMPORTED_TARGET libusb-1.0) | ||
58 | message("-- Found libusb: ${libusb_LINK_LIBRARIES}") | ||
59 | |||
60 | # optional system libs. | ||
61 | pkg_check_modules(speex QUIET IMPORTED_TARGET speex speexdsp) | ||
62 | if (${speex_FOUND}) | ||
63 | message("-- Found speex: ${speex_LINK_LIBRARIES}") | ||
64 | else() | ||
65 | message("-- Could not find system speex, using our own copy.") | ||
66 | endif() | ||
67 | endif() | ||
68 | |||
69 | if(APPLE) | ||
70 | find_library(FRAMEWORK_IOKIT IOKit) | ||
71 | find_library(FRAMEWORK_COREFOUNDATION CoreFoundation) | ||
72 | find_library(FRAMEWORK_CARBON Carbon) | ||
73 | find_library(FRAMEWORK_SYSTEMCONFIGURATION SystemConfiguration) | ||
74 | find_library(FRAMEWORK_CORESERVICES CoreServices) | ||
75 | endif() | ||
76 | |||
77 | set(RBUTIL_TS_FILES | ||
78 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/lang/rbutil_cs.ts | ||
79 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/lang/rbutil_de.ts | ||
80 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/lang/rbutil_fi.ts | ||
81 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/lang/rbutil_fr.ts | ||
82 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/lang/rbutil_gr.ts | ||
83 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/lang/rbutil_he.ts | ||
84 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/lang/rbutil_it.ts | ||
85 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/lang/rbutil_ja.ts | ||
86 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/lang/rbutil_nl.ts | ||
87 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/lang/rbutil_pl.ts | ||
88 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/lang/rbutil_pt_BR.ts | ||
89 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/lang/rbutil_pt.ts | ||
90 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/lang/rbutil_ru.ts | ||
91 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/lang/rbutil_tr.ts | ||
92 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/lang/rbutil_zh_CN.ts | ||
93 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/lang/rbutil_zh_TW.ts | ||
94 | ) | ||
95 | if(QT_VERSION_MAJOR EQUAL 5) | ||
96 | qt5_add_translation(RBUTIL_QM_FILES ${RBUTIL_TS_FILES}) | ||
97 | else() | ||
98 | qt6_add_translation(RBUTIL_QM_FILES ${RBUTIL_TS_FILES}) | ||
99 | endif() | ||
100 | |||
101 | # The qrc file searches input files based on its location, and the qm files are | ||
102 | # generated in the build dir. Copy the qrc file to the build dir, make it | ||
103 | # depend on the qm files. cmake will then get deps right. | ||
104 | add_custom_command( | ||
105 | OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/rbutilqt-lang.qrc | ||
106 | COMMAND ${CMAKE_COMMAND} -E copy_if_different | ||
107 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/lang/rbutilqt-lang.qrc | ||
108 | ${CMAKE_CURRENT_BINARY_DIR} | ||
109 | DEPENDS ${RBUTIL_QM_FILES} | ||
110 | ) | ||
111 | |||
112 | add_executable(RockboxUtility WIN32 MACOSX_BUNDLE | ||
113 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/main.cpp | ||
114 | |||
115 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/aboutbox.ui | ||
116 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/configure.cpp | ||
117 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/configurefrm.ui | ||
118 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/configure.h | ||
119 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/createvoicefrm.ui | ||
120 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/createvoicewindow.cpp | ||
121 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/createvoicewindow.h | ||
122 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/encttscfggui.cpp | ||
123 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/encttscfggui.h | ||
124 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/installtalkfrm.ui | ||
125 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/installtalkwindow.cpp | ||
126 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/installtalkwindow.h | ||
127 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/preview.cpp | ||
128 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/previewfrm.ui | ||
129 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/preview.h | ||
130 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/progressloggerfrm.ui | ||
131 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/progressloggergui.cpp | ||
132 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/progressloggergui.h | ||
133 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/rbutilqt.cpp | ||
134 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/rbutilqtfrm.ui | ||
135 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/rbutilqt.h | ||
136 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/sysinfo.cpp | ||
137 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/sysinfofrm.ui | ||
138 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/sysinfo.h | ||
139 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/systrace.cpp | ||
140 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/systracefrm.ui | ||
141 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/systrace.h | ||
142 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/themesinstallfrm.ui | ||
143 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/themesinstallwindow.cpp | ||
144 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/themesinstallwindow.h | ||
145 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/uninstallfrm.ui | ||
146 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/uninstallwindow.cpp | ||
147 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/uninstallwindow.h | ||
148 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/version.h | ||
149 | |||
150 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/gui/backupdialog.cpp | ||
151 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/gui/backupdialogfrm.ui | ||
152 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/gui/backupdialog.h | ||
153 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/gui/changelog.cpp | ||
154 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/gui/changelogfrm.ui | ||
155 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/gui/changelog.h | ||
156 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/gui/comboboxviewdelegate.cpp | ||
157 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/gui/comboboxviewdelegate.h | ||
158 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/gui/infowidget.cpp | ||
159 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/gui/infowidgetfrm.ui | ||
160 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/gui/infowidget.h | ||
161 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/gui/selectiveinstallwidget.cpp | ||
162 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/gui/selectiveinstallwidgetfrm.ui | ||
163 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/gui/selectiveinstallwidget.h | ||
164 | |||
165 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/rbutilqt.qrc | ||
166 | ${CMAKE_CURRENT_BINARY_DIR}/rbutilqt-lang.qrc | ||
167 | ) | ||
168 | |||
169 | if(WIN32) | ||
170 | target_sources(RockboxUtility PRIVATE | ||
171 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/rbutilqt-win.qrc | ||
172 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/rbutilqt.rc) | ||
173 | # needed on Windows, otherwise svg icons won't show. | ||
174 | target_link_libraries(RockboxUtility Qt${QT_VERSION_MAJOR}::QSvgIconPlugin) | ||
175 | endif() | ||
176 | if(APPLE) | ||
177 | # MacOS Application Bundle specifics. | ||
178 | target_sources(RockboxUtility PRIVATE | ||
179 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/icons/rbutilqt.icns) | ||
180 | set_target_properties(RockboxUtility | ||
181 | PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/Info.plist) | ||
182 | set_source_files_properties(${CMAKE_CURRENT_LIST_DIR}/rbutilqt/icons/rbutilqt.icns | ||
183 | PROPERTIES MACOSX_PACKAGE_LOCATION Resources) | ||
184 | endif() | ||
185 | |||
186 | target_link_libraries(RockboxUtility rbbase cutelogger | ||
187 | Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Multimedia) | ||
188 | |||
189 | target_include_directories(RockboxUtility PRIVATE | ||
190 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/gui | ||
191 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt) | ||
192 | target_compile_definitions(RockboxUtility PRIVATE | ||
193 | QT_DEPRECATED_WARNINGS | ||
194 | RBUTIL _LARGEFILE64_SOURCE UNICODE) | ||
195 | |||
196 | set_property(TARGET RockboxUtility PROPERTY AUTOMOC ON) | ||
197 | set_property(TARGET RockboxUtility PROPERTY AUTORCC ON) | ||
198 | set_property(TARGET RockboxUtility PROPERTY AUTOUIC ON) | ||
199 | |||
200 | add_library(rbbase | ||
201 | ${CMAKE_CURRENT_LIST_DIR}/../tools/iriver.c | ||
202 | ${CMAKE_CURRENT_LIST_DIR}/../tools/iriver.h | ||
203 | ${CMAKE_CURRENT_LIST_DIR}/../tools/mkboot.c | ||
204 | ${CMAKE_CURRENT_LIST_DIR}/../tools/mkboot.h | ||
205 | ${CMAKE_CURRENT_LIST_DIR}/../tools/wavtrim.c | ||
206 | ${CMAKE_CURRENT_LIST_DIR}/../tools/wavtrim.h | ||
207 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/archiveutil.cpp | ||
208 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/archiveutil.h | ||
209 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/autodetection.cpp | ||
210 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/autodetection.h | ||
211 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallams.cpp | ||
212 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallams.h | ||
213 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallbase.cpp | ||
214 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallbase.h | ||
215 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallbspatch.cpp | ||
216 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallbspatch.h | ||
217 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallchinachip.cpp | ||
218 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallchinachip.h | ||
219 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallfile.cpp | ||
220 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallfile.h | ||
221 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallhelper.cpp | ||
222 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallhelper.h | ||
223 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallhex.cpp | ||
224 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallhex.h | ||
225 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallimx.cpp | ||
226 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallimx.h | ||
227 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallipod.cpp | ||
228 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallipod.h | ||
229 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallmi4.cpp | ||
230 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallmi4.h | ||
231 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallmpio.cpp | ||
232 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallmpio.h | ||
233 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstalls5l.cpp | ||
234 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstalls5l.h | ||
235 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallsansa.cpp | ||
236 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstallsansa.h | ||
237 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstalltcc.cpp | ||
238 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/bootloaderinstalltcc.h | ||
239 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/encoderbase.cpp | ||
240 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/encoderbase.h | ||
241 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/encoderexe.cpp | ||
242 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/encoderexe.h | ||
243 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/encoderlame.cpp | ||
244 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/encoderlame.h | ||
245 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/encoderrbspeex.cpp | ||
246 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/encoderrbspeex.h | ||
247 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/encttssettings.cpp | ||
248 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/encttssettings.h | ||
249 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/httpget.cpp | ||
250 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/httpget.h | ||
251 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/mspackutil.cpp | ||
252 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/mspackutil.h | ||
253 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/progressloggerinterface.h | ||
254 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/playerbuildinfo.cpp | ||
255 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/playerbuildinfo.h | ||
256 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/rbsettings.cpp | ||
257 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/rbsettings.h | ||
258 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/rockboxinfo.cpp | ||
259 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/rockboxinfo.h | ||
260 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/system.cpp | ||
261 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/system.h | ||
262 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/talkfile.cpp | ||
263 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/talkfile.h | ||
264 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/talkgenerator.cpp | ||
265 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/talkgenerator.h | ||
266 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/ttsbase.cpp | ||
267 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/ttsbase.h | ||
268 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/ttsespeak.h | ||
269 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/ttsespeakng.h | ||
270 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/ttsexes.cpp | ||
271 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/ttsexes.h | ||
272 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/ttsfestival.cpp | ||
273 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/ttsfestival.h | ||
274 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/ttsflite.h | ||
275 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/ttsmimic.h | ||
276 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/ttsmssp.h | ||
277 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/ttssapi.cpp | ||
278 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/ttssapi.h | ||
279 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/ttssapi4.h | ||
280 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/ttsswift.h | ||
281 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/uninstall.cpp | ||
282 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/uninstall.h | ||
283 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/utils.cpp | ||
284 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/utils.h | ||
285 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/voicefile.cpp | ||
286 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/voicefile.h | ||
287 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/zipinstaller.cpp | ||
288 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/zipinstaller.h | ||
289 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/ziputil.cpp | ||
290 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/ziputil.h | ||
291 | ) | ||
292 | |||
293 | if(APPLE) | ||
294 | target_sources(rbbase PRIVATE | ||
295 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/ttscarbon.cpp | ||
296 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base/ttscarbon.h) | ||
297 | endif() | ||
298 | |||
299 | target_link_libraries(rbbase | ||
300 | cutelogger quazip mspack bspatch rbspeex voicefont | ||
301 | sansapatcher ipodpatcher chinachippatcher | ||
302 | mkamsboot mkimxboot mkmpioboot mktccboot mks5lboot | ||
303 | Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Network) | ||
304 | target_include_directories(rbbase PUBLIC ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/base) | ||
305 | target_include_directories(rbbase PRIVATE ${CMAKE_CURRENT_LIST_DIR}/rbutilqt) | ||
306 | target_include_directories(rbbase PUBLIC ${CMAKE_CURRENT_LIST_DIR}/../tools) | ||
307 | target_compile_definitions(rbbase PUBLIC RBUTIL _LARGEFILE64_SOURCE UNICODE) | ||
308 | target_compile_definitions(rbbase PRIVATE QT_DEPRECATED_WARNINGS) | ||
309 | if(WIN32) | ||
310 | target_link_libraries(rbbase setupapi ws2_32 netapi32 crypt32 iphlpapi) | ||
311 | elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") | ||
312 | target_link_libraries(rbbase PkgConfig::libusb) | ||
313 | elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") | ||
314 | target_link_libraries(rbbase ${FRAMEWORK_IOKIT} ${FRAMEWORK_COREFOUNDATION} | ||
315 | ${FRAMEWORK_CARBON} ${FRAMEWORK_SYSTEMCONFIGURATION} ${FRAMEWORK_CORESERVICES}) | ||
316 | endif() | ||
317 | set_property(TARGET rbbase PROPERTY AUTOMOC ON) | ||
318 | |||
319 | # TODO: Upstream has cmake support, use that instead. | ||
320 | add_library(cutelogger) | ||
321 | # need to put those separate, otherwise cmake will not add them correctly -- seems to be related to moc'ing. | ||
322 | target_sources(cutelogger PUBLIC | ||
323 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/logger/include/AbstractAppender.h | ||
324 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/logger/include/AbstractStringAppender.h | ||
325 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/logger/include/ConsoleAppender.h | ||
326 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/logger/include/CuteLogger_global.h | ||
327 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/logger/include/FileAppender.h | ||
328 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/logger/include/Logger.h | ||
329 | #${CMAKE_CURRENT_LIST_DIR}/rbutilqt/logger/include/OutputDebugAppender.h | ||
330 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/logger/src/AbstractAppender.cpp | ||
331 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/logger/src/AbstractStringAppender.cpp | ||
332 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/logger/src/ConsoleAppender.cpp | ||
333 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/logger/src/FileAppender.cpp | ||
334 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/logger/src/Logger.cpp | ||
335 | #${CMAKE_CURRENT_LIST_DIR}/rbutilqt/logger/src/OutputDebugAppender.cpp | ||
336 | ) | ||
337 | target_include_directories(cutelogger PUBLIC ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/logger/include) | ||
338 | target_link_libraries(cutelogger PUBLIC Qt${QT_VERSION_MAJOR}::Core) | ||
339 | target_compile_definitions(cutelogger PUBLIC CUTELOGGER_STATIC) | ||
340 | set_property(TARGET cutelogger PROPERTY AUTOMOC ON) | ||
341 | |||
342 | # TODO: Upstream has cmake support, use that instead. | ||
343 | add_library(quazip | ||
344 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/quazip/ioapi.h | ||
345 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/quazip/minizip_crypt.h | ||
346 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/quazip/qioapi.cpp | ||
347 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/quazip/quazip.cpp | ||
348 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/quazip/quazipfile.cpp | ||
349 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/quazip/quazipfile.h | ||
350 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/quazip/quazipfileinfo.cpp | ||
351 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/quazip/quazipfileinfo.h | ||
352 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/quazip/quazip_global.h | ||
353 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/quazip/quazip.h | ||
354 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/quazip/quazipnewinfo.cpp | ||
355 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/quazip/quazipnewinfo.h | ||
356 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/quazip/unzip.c | ||
357 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/quazip/unzip.h | ||
358 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/quazip/zip.c | ||
359 | ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/quazip/zip.h | ||
360 | ) | ||
361 | target_include_directories(quazip PUBLIC ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/quazip) | ||
362 | target_link_libraries(quazip z Qt${QT_VERSION_MAJOR}::Core) | ||
363 | if(QT_VERSION_MAJOR EQUAL 6) | ||
364 | target_link_libraries(quazip Qt${QT_VERSION_MAJOR}::Core5Compat) | ||
365 | endif() | ||
366 | target_compile_definitions(quazip PUBLIC QUAZIP_STATIC) | ||
367 | set_property(TARGET quazip PROPERTY AUTOMOC ON) | ||
368 | |||
369 | add_library(mspack | ||
370 | rbutilqt/mspack/cabc.c | ||
371 | rbutilqt/mspack/cabd.c | ||
372 | rbutilqt/mspack/cab.h | ||
373 | #rbutilqt/mspack/chmc.c | ||
374 | #rbutilqt/mspack/chmd.c | ||
375 | #rbutilqt/mspack/chm.h | ||
376 | rbutilqt/mspack/des.h | ||
377 | #rbutilqt/mspack/hlpc.c | ||
378 | #rbutilqt/mspack/hlpd.c | ||
379 | #rbutilqt/mspack/hlp.h | ||
380 | #rbutilqt/mspack/kwajc.c | ||
381 | #rbutilqt/mspack/kwajd.c | ||
382 | #rbutilqt/mspack/kwaj.h | ||
383 | #rbutilqt/mspack/litc.c | ||
384 | #rbutilqt/mspack/litd.c | ||
385 | #rbutilqt/mspack/lit.h | ||
386 | #rbutilqt/mspack/lzssd.c | ||
387 | #rbutilqt/mspack/lzss.h | ||
388 | rbutilqt/mspack/lzxc.c | ||
389 | rbutilqt/mspack/lzxd.c | ||
390 | rbutilqt/mspack/lzx.h | ||
391 | rbutilqt/mspack/mspack.h | ||
392 | rbutilqt/mspack/mszipc.c | ||
393 | rbutilqt/mspack/mszipd.c | ||
394 | rbutilqt/mspack/mszip.h | ||
395 | rbutilqt/mspack/qtmd.c | ||
396 | rbutilqt/mspack/qtm.h | ||
397 | rbutilqt/mspack/readbits.h | ||
398 | rbutilqt/mspack/readhuff.h | ||
399 | rbutilqt/mspack/sha.h | ||
400 | rbutilqt/mspack/system-mspack.c | ||
401 | rbutilqt/mspack/system-mspack.h | ||
402 | #rbutilqt/mspack/szddc.c | ||
403 | #rbutilqt/mspack/szddd.c | ||
404 | #rbutilqt/mspack/szdd.h | ||
405 | ) | ||
406 | |||
407 | target_include_directories(mspack PUBLIC ${CMAKE_CURRENT_LIST_DIR}/rbutilqt/mspack) | ||
408 | |||
409 | |||
410 | add_library(ipodpatcher | ||
411 | ipodpatcher/arc4.h | ||
412 | ipodpatcher/arc4.c | ||
413 | ipodpatcher/fat32format.c | ||
414 | ipodpatcher/ipodpatcher.c | ||
415 | ipodpatcher/ipodio.h | ||
416 | ipodpatcher/ipodpatcher.h | ||
417 | ipodpatcher/parttypes.h | ||
418 | ) | ||
419 | if(WIN32) | ||
420 | target_sources(ipodpatcher PRIVATE | ||
421 | ipodpatcher/ipodio-win32.c | ||
422 | ipodpatcher/ipodio-win32-scsi.c | ||
423 | ) | ||
424 | else() | ||
425 | target_sources(ipodpatcher PRIVATE | ||
426 | ipodpatcher/ipodio-posix.c | ||
427 | ) | ||
428 | endif() | ||
429 | target_compile_definitions(ipodpatcher PUBLIC RBUTIL _LARGEFILE64_SOURCE) | ||
430 | target_include_directories(ipodpatcher PUBLIC ${CMAKE_CURRENT_LIST_DIR}/ipodpatcher) | ||
431 | |||
432 | add_library(sansapatcher | ||
433 | sansapatcher/parttypes.h | ||
434 | sansapatcher/sansaio.h | ||
435 | sansapatcher/sansapatcher.c | ||
436 | sansapatcher/sansapatcher.h | ||
437 | ) | ||
438 | if(WIN32) | ||
439 | target_sources(sansapatcher PRIVATE | ||
440 | sansapatcher/sansaio-win32.c | ||
441 | ) | ||
442 | else() | ||
443 | target_sources(sansapatcher PRIVATE | ||
444 | sansapatcher/sansaio-posix.c | ||
445 | ) | ||
446 | endif() | ||
447 | |||
448 | target_compile_definitions(sansapatcher PUBLIC RBUTIL _LARGEFILE64_SOURCE) | ||
449 | target_include_directories(sansapatcher PUBLIC ${CMAKE_CURRENT_LIST_DIR}/sansapatcher) | ||
450 | |||
451 | add_library(chinachippatcher | ||
452 | chinachippatcher/chinachip.c | ||
453 | chinachippatcher/chinachip.h | ||
454 | ) | ||
455 | target_compile_definitions(chinachippatcher PUBLIC RBUTIL _LARGEFILE64_SOURCE) | ||
456 | |||
457 | add_library(mkamsboot | ||
458 | mkamsboot/dualboot.c | ||
459 | mkamsboot/dualboot.h | ||
460 | mkamsboot/md5.c | ||
461 | mkamsboot/md5.h | ||
462 | mkamsboot/mkamsboot.c | ||
463 | mkamsboot/mkamsboot.h | ||
464 | ) | ||
465 | |||
466 | target_compile_definitions(mkamsboot PUBLIC _LARGEFILE64_SOURCE) | ||
467 | target_link_libraries(mkamsboot ucl) | ||
468 | |||
469 | add_library(ucl | ||
470 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/alloc.c | ||
471 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/fake16.h | ||
472 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/getbit.h | ||
473 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/internal.h | ||
474 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/io.c | ||
475 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/Makefile | ||
476 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/n2_99.ch | ||
477 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/n2b_99.c | ||
478 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/n2b_d.c | ||
479 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/n2b_ds.c | ||
480 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/n2b_to.c | ||
481 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/n2d_99.c | ||
482 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/n2d_d.c | ||
483 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/n2d_ds.c | ||
484 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/n2d_to.c | ||
485 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/n2e_99.c | ||
486 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/n2e_d.c | ||
487 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/n2e_ds.c | ||
488 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/n2e_to.c | ||
489 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/ucl_conf.h | ||
490 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/ucl_crc.c | ||
491 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/ucl_dll.c | ||
492 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/ucl_init.c | ||
493 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/ucl_mchw.ch | ||
494 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/ucl_ptr.c | ||
495 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/ucl_ptr.h | ||
496 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/ucl_str.c | ||
497 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/ucl_swd.ch | ||
498 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/ucl_util.c | ||
499 | ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/src/ucl_util.h | ||
500 | ) | ||
501 | |||
502 | target_include_directories(ucl PUBLIC ${CMAKE_CURRENT_LIST_DIR}/../tools/ucl/include) | ||
503 | |||
504 | add_library(rbspeex | ||
505 | ${CMAKE_CURRENT_LIST_DIR}/../tools/rbspeex/rbspeex.c | ||
506 | ${CMAKE_CURRENT_LIST_DIR}/../tools/rbspeex/rbspeex.h | ||
507 | ) | ||
508 | target_compile_definitions(rbspeex PRIVATE HAVE_CONFIG_H ROCKBOX_VOICE_ENCODER STATIC) | ||
509 | target_include_directories(rbspeex PUBLIC ${CMAKE_CURRENT_LIST_DIR}/../tools/rbspeex) | ||
510 | |||
511 | |||
512 | if (${speex_FOUND}) | ||
513 | target_link_libraries(rbspeex PUBLIC PkgConfig::speex) | ||
514 | else() | ||
515 | target_sources(rbspeex PRIVATE | ||
516 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/bits.c | ||
517 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/cb_search.c | ||
518 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/exc_10_16_table.c | ||
519 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/exc_10_32_table.c | ||
520 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/exc_20_32_table.c | ||
521 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/exc_5_256_table.c | ||
522 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/exc_5_64_table.c | ||
523 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/exc_8_128_table.c | ||
524 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/filters.c | ||
525 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/gain_table.c | ||
526 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/gain_table_lbr.c | ||
527 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/hexc_10_32_table.c | ||
528 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/hexc_table.c | ||
529 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/high_lsp_tables.c | ||
530 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/lsp.c | ||
531 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/lsp_tables_nb.c | ||
532 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/ltp.c | ||
533 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/modes.c | ||
534 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/modes_wb.c | ||
535 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/nb_celp.c | ||
536 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/quant_lsp.c | ||
537 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/sb_celp.c | ||
538 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/speex.c | ||
539 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/speex_callbacks.c | ||
540 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/lpc.c | ||
541 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/vbr.c | ||
542 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/vq.c | ||
543 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/window.c | ||
544 | ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex/resample.c | ||
545 | ) | ||
546 | target_include_directories(rbspeex PRIVATE ${CMAKE_CURRENT_LIST_DIR}/../lib/rbcodec/codecs/libspeex) | ||
547 | endif() | ||
548 | |||
549 | add_library(mkimxboot | ||
550 | mkimxboot/dualboot.c | ||
551 | mkimxboot/md5.c | ||
552 | mkimxboot/md5.h | ||
553 | mkimxboot/mkimxboot.c | ||
554 | mkimxboot/mkimxboot.h | ||
555 | ) | ||
556 | target_include_directories(mkimxboot PUBLIC ${CMAKE_CURRENT_LIST_DIR}/mkimxboot) | ||
557 | target_link_libraries(mkimxboot sbtools) | ||
558 | |||
559 | add_library(sbtools | ||
560 | imxtools/sbtools/crc.c | ||
561 | imxtools/sbtools/crypto.c | ||
562 | imxtools/sbtools/crypto.h | ||
563 | imxtools/sbtools/elf.c | ||
564 | imxtools/sbtools/elf.h | ||
565 | imxtools/sbtools/misc.c | ||
566 | imxtools/sbtools/misc.h | ||
567 | imxtools/sbtools/sb.c | ||
568 | imxtools/sbtools/sb.h | ||
569 | ) | ||
570 | |||
571 | target_include_directories(sbtools PUBLIC ${CMAKE_CURRENT_LIST_DIR}/imxtools/sbtools) | ||
572 | target_link_libraries(sbtools PUBLIC rbtomcrypt) | ||
573 | |||
574 | add_library(mkmpioboot | ||
575 | mkmpioboot/mkmpioboot.c | ||
576 | mkmpioboot/mkmpioboot.h | ||
577 | ) | ||
578 | target_include_directories(mkmpioboot PUBLIC ${CMAKE_CURRENT_LIST_DIR}/mkmpioboot) | ||
579 | |||
580 | add_library(mktccboot | ||
581 | mktccboot/mktccboot.c | ||
582 | mktccboot/mktccboot.h | ||
583 | ) | ||
584 | target_include_directories(mktccboot PUBLIC ${CMAKE_CURRENT_LIST_DIR}/mktccboot) | ||
585 | target_include_directories(mktccboot PRIVATE ${CMAKE_CURRENT_LIST_DIR}/../tools) | ||
586 | target_link_libraries(mktccboot PUBLIC telechips) | ||
587 | |||
588 | add_library(mks5lboot | ||
589 | mks5lboot/dualboot.c | ||
590 | mks5lboot/dualboot.h | ||
591 | mks5lboot/ipoddfu.c | ||
592 | mks5lboot/mkdfu.c | ||
593 | mks5lboot/mks5lboot.h | ||
594 | ) | ||
595 | target_include_directories(mks5lboot PUBLIC ${CMAKE_CURRENT_LIST_DIR}/mks5lboot) | ||
596 | |||
597 | add_library(bspatch | ||
598 | bspatch/bspatch.c | ||
599 | bspatch/bspatch.h | ||
600 | ) | ||
601 | target_include_directories(bspatch PUBLIC ${CMAKE_CURRENT_LIST_DIR}/bspatch) | ||
602 | target_link_libraries(bspatch bz2) | ||
603 | |||
604 | add_library(voicefont | ||
605 | ${CMAKE_CURRENT_LIST_DIR}/../tools/voicefont.c | ||
606 | ${CMAKE_CURRENT_LIST_DIR}/../tools/voicefont.h | ||
607 | ) | ||
608 | target_include_directories(voicefont PUBLIC ${CMAKE_CURRENT_LIST_DIR}/../tools) | ||
609 | target_compile_definitions(voicefont PUBLIC RBUTIL) | ||
610 | |||
611 | add_library(telechips | ||
612 | ${CMAKE_CURRENT_LIST_DIR}/../tools/telechips.c | ||
613 | ${CMAKE_CURRENT_LIST_DIR}/../tools/telechips.h | ||
614 | ) | ||
615 | target_include_directories(telechips PUBLIC ${CMAKE_CURRENT_LIST_DIR}/../tools) | ||
616 | |||
617 | find_library(LIBBZ2 bz2) | ||
618 | if(${LIBBZ2} STREQUAL "LIBBZ2-NOTFOUND") | ||
619 | message("-- bz2 not found, building our own") | ||
620 | add_library(bz2 | ||
621 | bzip2/blocksort.c | ||
622 | bzip2/bzlib.c | ||
623 | bzip2/bzlib.h | ||
624 | bzip2/bzlib_private.h | ||
625 | bzip2/compress.c | ||
626 | bzip2/crctable.c | ||
627 | bzip2/decompress.c | ||
628 | bzip2/huffman.c | ||
629 | bzip2/randtable.c | ||
630 | ) | ||
631 | target_include_directories(bz2 PUBLIC ${CMAKE_CURRENT_LIST_DIR}/bzip2) | ||
632 | else() | ||
633 | message("-- Found libbz2: ${LIBBZ2}") | ||
634 | endif() | ||
635 | |||
636 | add_library(rbtomcrypt | ||
637 | tomcrypt/src/ciphers/aes/aes.c | ||
638 | tomcrypt/src/ciphers/aes/aes_tab.c | ||
639 | tomcrypt/src/misc/crypt/crypt_argchk.c | ||
640 | tomcrypt/src/misc/crypt/crypt_register_cipher.c | ||
641 | tomcrypt/src/misc/crypt/crypt_cipher_is_valid.c | ||
642 | tomcrypt/src/misc/crypt/crypt_cipher_descriptor.c | ||
643 | tomcrypt/src/misc/zeromem.c | ||
644 | tomcrypt/src/misc/compare_testvector.c | ||
645 | tomcrypt/src/modes/cbc/cbc_start.c | ||
646 | tomcrypt/src/modes/cbc/cbc_decrypt.c | ||
647 | tomcrypt/src/modes/cbc/cbc_encrypt.c | ||
648 | tomcrypt/src/hashes/sha1.c | ||
649 | tomcrypt/src/headers/tomcrypt_argchk.h | ||
650 | tomcrypt/src/headers/tomcrypt_cfg.h | ||
651 | tomcrypt/src/headers/tomcrypt_cipher.h | ||
652 | tomcrypt/src/headers/tomcrypt_custom.h | ||
653 | tomcrypt/src/headers/tomcrypt.h | ||
654 | tomcrypt/src/headers/tomcrypt_hash.h | ||
655 | tomcrypt/src/headers/tomcrypt_mac.h | ||
656 | tomcrypt/src/headers/tomcrypt_macros.h | ||
657 | tomcrypt/src/headers/tomcrypt_math.h | ||
658 | tomcrypt/src/headers/tomcrypt_misc.h | ||
659 | tomcrypt/src/headers/tomcrypt_pkcs.h | ||
660 | tomcrypt/src/headers/tomcrypt_pk.h | ||
661 | tomcrypt/src/headers/tomcrypt_private.h | ||
662 | tomcrypt/src/headers/tomcrypt_prng.h | ||
663 | ) | ||
664 | target_include_directories(rbtomcrypt PUBLIC ${CMAKE_CURRENT_LIST_DIR}/tomcrypt/src/headers) | ||
665 | |||
666 | |||
667 | # Unit tests | ||
668 | add_executable(test_compareversion | ||
669 | rbutilqt/base/utils.cpp | ||
670 | rbutilqt/base/utils.h | ||
671 | rbutilqt/test/stubs/stubs-compareversion.cpp | ||
672 | rbutilqt/test/test-compareversion.cpp) | ||
673 | |||
674 | target_link_libraries(test_compareversion Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Test) | ||
675 | target_compile_definitions(test_compareversion PRIVATE UNICODE) | ||
676 | if(APPLE) | ||
677 | target_link_libraries(test_compareversion ${FRAMEWORK_IOKIT} ${FRAMEWORK_COREFOUNDATION} | ||
678 | ${FRAMEWORK_CARBON} ${FRAMEWORK_SYSTEMCONFIGURATION} ${FRAMEWORK_CORESERVICES}) | ||
679 | endif() | ||
680 | target_include_directories(test_compareversion PRIVATE rbutilqt/base rbutilqt/test/stubs) | ||
681 | add_test(test_compareversion test_compareversion) | ||
682 | set_property(TARGET test_compareversion PROPERTY AUTOMOC ON) | ||
683 | |||
684 | add_executable(test_httpget | ||
685 | rbutilqt/test/test-httpget.cpp | ||
686 | rbutilqt/base/httpget.cpp | ||
687 | rbutilqt/base/httpget.h) | ||
688 | target_link_libraries(test_httpget Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Test Qt${QT_VERSION_MAJOR}::Network) | ||
689 | target_include_directories(test_httpget PRIVATE rbutilqt/base rbutilqt/test/stubs) | ||
690 | add_test(test_httpget test_httpget) | ||
691 | set_property(TARGET test_httpget PROPERTY AUTOMOC ON) | ||
692 | |||
693 | add_executable(test_playerbuildinfo | ||
694 | rbutilqt/base/playerbuildinfo.cpp | ||
695 | rbutilqt/base/playerbuildinfo.h | ||
696 | rbutilqt/base/rbsettings.h | ||
697 | rbutilqt/base/rockboxinfo.h | ||
698 | rbutilqt/rbutilqt.qrc # needed for rbutil.ini resource. | ||
699 | rbutilqt/test/stubs/stubs-playerbuildinfo.cpp | ||
700 | rbutilqt/test/test-playerbuildinfo.cpp) | ||
701 | target_link_libraries(test_playerbuildinfo Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Test) | ||
702 | target_include_directories(test_playerbuildinfo PRIVATE rbutilqt/base rbutilqt/test/stubs) | ||
703 | add_test(test_playerbuildinfo test_playerbuildinfo) | ||
704 | set_property(TARGET test_playerbuildinfo PROPERTY AUTOMOC ON) | ||
705 | set_property(TARGET test_playerbuildinfo PROPERTY AUTORCC ON) | ||
706 | |||
707 | add_executable(test_rockboxinfo | ||
708 | rbutilqt/base/rockboxinfo.cpp | ||
709 | rbutilqt/base/rockboxinfo.h | ||
710 | rbutilqt/test/test-rockboxinfo.cpp) | ||
711 | |||
712 | target_link_libraries(test_rockboxinfo Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Test) | ||
713 | target_include_directories(test_rockboxinfo PRIVATE rbutilqt/base rbutilqt/test/stubs) | ||
714 | target_compile_definitions(test_rockboxinfo PRIVATE UNICODE) | ||
715 | add_test(test_rockboxinfo test_rockboxinfo) | ||
716 | set_property(TARGET test_rockboxinfo PROPERTY AUTOMOC ON) | ||
717 | |||