-
-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
207 lines (184 loc) · 5.86 KB
/
CMakeLists.txt
File metadata and controls
207 lines (184 loc) · 5.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
cmake_minimum_required(VERSION 3.16.0)
# KDE Applications version, managed by release script.
set(RELEASE_SERVICE_VERSION_MAJOR "26")
set(RELEASE_SERVICE_VERSION_MINOR "07")
set(RELEASE_SERVICE_VERSION_MICRO "70")
set(RELEASE_SERVICE_VERSION
"${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}"
)
project(Audex VERSION ${RELEASE_SERVICE_VERSION})
set(KF6_MIN_VERSION "5.245.0")
find_package(ECM ${KF6_MIN_VERSION} REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH}
${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
include(KDEInstallDirs)
include(KDECMakeSettings)
include(KDECompilerSettings NO_POLICY_SCOPE)
include(ECMSetupVersion)
include(ECMInstallIcons)
include(ECMAddTests)
include(ECMAddAppIcon)
include(FeatureSummary)
include(KDEClangFormat)
find_package(Qt6 6.5 REQUIRED COMPONENTS Widgets Qml)
find_package(
KF6 ${KF6_MIN_VER} REQUIRED
COMPONENTS Config
Completion
CoreAddons
Crash
I18n
IconThemes
KCMUtils
KIO
Solid
TextWidgets
WidgetsAddons
XmlGui)
find_package(KCddb6 5.1)
set_package_properties(
KCddb6 PROPERTIES
DESCRIPTION "CDDB library"
URL "https://commits.kde.org/libkcddb"
TYPE REQUIRED
PURPOSE "libkcddb is used to retrieve audio CD meta data from the internet.")
find_package(cdio REQUIRED)
find_package(cdio_cdda REQUIRED)
find_package(cdio_paranoia REQUIRED)
include_directories(
${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${CDIO_INCLUDE_DIRS}
${CDIO_CDDA_INCLUDE_DIRS} ${CDIO_PARANOIA_INCLUDE_DIRS})
add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050e00)
ecm_setup_version(${PROJECT_VERSION} VARIABLE_PREFIX AUDEX VERSION_HEADER
${CMAKE_CURRENT_BINARY_DIR}/audex-version.h)
remove_definitions(
-DQT_NO_CAST_FROM_ASCII -DQT_NO_URL_CAST_FROM_STRING
-DQT_NO_CAST_FROM_BYTEARRAY -DQT_USE_QSTRINGBUILDER -DQT_NO_FOREACH)
set(CMAKE_C_FLAGS "${AUDEX_ID3_CFLAGS} ${CMAKE_C_FLAGS}")
set(audex_SRCS
main.cpp
mainwindow.cpp
models/cddamodel.cpp
models/profilemodel.cpp
utils/schemeparser.cpp
utils/playlist.cpp
utils/wavefilewriter.cpp
utils/samplearray.cpp
utils/cddaparanoia.cpp
utils/cddadevices.cpp
utils/encoderwrapper.cpp
utils/cddaextractthread.cpp
utils/upload.cpp
utils/encoderassistant.cpp
utils/hashlist.cpp
utils/crc.cpp
utils/parameters.cpp
utils/cuesheetwriter.cpp
utils/discidcalculator.cpp
widgets/cddaheaderwidget.cpp
widgets/generalsettingswidget.cpp
widgets/devicewidget.cpp
widgets/profilewidget.cpp
widgets/remoteserversettingswidget.cpp
widgets/lamewidget.cpp
widgets/oggencwidget.cpp
widgets/opusencwidget.cpp
widgets/flacwidget.cpp
widgets/faacwidget.cpp
widgets/wavewidget.cpp
widgets/customwidget.cpp
dialogs/cddaheaderdatadialog.cpp
dialogs/profiledatadialog.cpp
dialogs/profiledatacoverdialog.cpp
dialogs/profiledataplaylistdialog.cpp
dialogs/profiledatainfodialog.cpp
dialogs/profiledatahashlistdialog.cpp
dialogs/profiledatacuesheetdialog.cpp
dialogs/profiledatalogfiledialog.cpp
dialogs/profiledatasinglefiledialog.cpp
dialogs/schemewizarddialog.cpp
dialogs/commandwizarddialog.cpp
dialogs/filenameschemewizarddialog.cpp
dialogs/extractingprogressdialog.cpp
dialogs/logviewdialog.cpp
dialogs/textviewdialog.cpp
dialogs/errordialog.cpp
core/audex.cpp)
ki18n_wrap_ui(
audex_SRCS
widgets/generalsettingswidgetUI.ui
widgets/devicewidgetUI.ui
widgets/profilewidgetUI.ui
widgets/remoteserversettingswidgetUI.ui
widgets/lamewidgetUI.ui
widgets/oggencwidgetUI.ui
widgets/opusencwidgetUI.ui
widgets/flacwidgetUI.ui
widgets/faacwidgetUI.ui
widgets/wavewidgetUI.ui
widgets/customwidgetUI.ui
dialogs/cddaheaderdatawidgetUI.ui
dialogs/profiledatawidgetUI.ui
dialogs/profiledatacoverwidgetUI.ui
dialogs/profiledataplaylistwidgetUI.ui
dialogs/profiledatainfowidgetUI.ui
dialogs/profiledatahashlistwidgetUI.ui
dialogs/profiledatacuesheetwidgetUI.ui
dialogs/profiledatalogfilewidgetUI.ui
dialogs/profiledatasinglefilewidgetUI.ui
dialogs/schemewizardwidgetUI.ui
dialogs/commandwizardwidgetUI.ui
dialogs/filenameschemewizardwidgetUI.ui
dialogs/extractingprogresswidgetUI.ui
dialogs/logviewwidgetUI.ui
dialogs/textviewwidgetUI.ui)
kconfig_add_kcfg_files(audex_SRCS preferences.kcfgc)
qt_add_resources(audex_SRCS audex.qrc)
add_executable(audex ${audex_SRCS})
target_link_libraries(
audex
Qt6::Widgets
Qt6::Qml
KF6::Completion
KF6::CoreAddons
KF6::Crash
KF6::I18n
KF6::IconThemes
KF6::IconWidgets
KF6::KCMUtils
KF6::KIOWidgets
KF6::Solid
KF6::TextWidgets
KF6::WidgetsAddons
KF6::XmlGui
KCddb6
${CDIO_LIBRARIES}
${CDIO_CDDA_LIBRARIES}
${CDIO_PARANOIA_LIBRARIES})
ecm_add_app_icon(
audex
ICONS
icons/sc-apps-org.kde.audex.svg
icons/16-apps-org.kde.audex.png
icons/32-apps-org.kde.audex.png
icons/48-apps-org.kde.audex.png
icons/64-apps-org.kde.audex.png
icons/128-apps-org.kde.audex.png)
install(TARGETS audex DESTINATION ${KDE_INSTALL_BINDIR})
install(PROGRAMS org.kde.audex.desktop DESTINATION ${KDE_INSTALL_APPDIR})
install(FILES org.kde.audex.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
install(FILES audex-rip-audiocd.desktop
DESTINATION ${KDE_INSTALL_DATADIR}/solid/actions)
install(FILES org.kde.audex.svg
DESTINATION ${KDE_INSTALL_FULL_ICONDIR}/hicolor/scalable/apps)
add_subdirectory(images)
if(BUILD_TESTING)
find_package(Qt6Test REQUIRED)
add_subdirectory(test)
endif()
# Install translations
ki18n_install(po)
# add clang-format target for all our real source files
file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES)