Warning, /multimedia/audex/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 cmake_minimum_required(VERSION 3.16.0)
0002 
0003 project(Audex VERSION "0.98")
0004 
0005 set(KF6_MIN_VERSION "5.245.0")
0006 
0007 find_package(ECM ${KF6_MIN_VERSION} REQUIRED NO_MODULE)
0008 
0009 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH}
0010                       ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
0011 configure_file(config.h.cmake ${CMAKE_BINARY_DIR}/config.h)
0012 
0013 set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall -g")
0014 set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
0015 
0016 include(KDEInstallDirs)
0017 include(KDECMakeSettings)
0018 include(KDECompilerSettings NO_POLICY_SCOPE)
0019 include(ECMInstallIcons)
0020 include(ECMAddTests)
0021 include(FeatureSummary)
0022 include(KDEClangFormat)
0023 
0024 find_package(Qt6 6.5 REQUIRED COMPONENTS Widgets Qml Core5Compat)
0025 find_package(
0026   KF6 ${KF6_MIN_VER} REQUIRED
0027   COMPONENTS Config
0028              Completion
0029              CoreAddons
0030              Crash
0031              I18n
0032              IconThemes
0033              KCMUtils
0034              KIO
0035              Solid
0036              TextWidgets
0037              WidgetsAddons
0038              XmlGui)
0039 find_package(KCddb6 5.1)
0040 set_package_properties(
0041   KCddb6 PROPERTIES
0042   DESCRIPTION "CDDB library"
0043   URL "https://commits.kde.org/libkcddb"
0044   TYPE REQUIRED
0045   PURPOSE "libkcddb is used to retrieve audio CD meta data from the internet.")
0046 find_package(cdio REQUIRED)
0047 find_package(cdio_cdda REQUIRED)
0048 find_package(cdio_paranoia REQUIRED)
0049 
0050 include_directories(
0051   ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${CDIO_INCLUDE_DIRS}
0052   ${CDIO_CDDA_INCLUDE_DIRS} ${CDIO_PARANOIA_INCLUDE_DIRS})
0053 
0054 add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050e00)
0055 
0056 remove_definitions(
0057   -DQT_NO_CAST_FROM_ASCII -DQT_NO_URL_CAST_FROM_STRING
0058   -DQT_NO_CAST_FROM_BYTEARRAY -DQT_USE_QSTRINGBUILDER -DQT_NO_FOREACH)
0059 
0060 set(CMAKE_C_FLAGS "${AUDEX_ID3_CFLAGS} ${CMAKE_C_FLAGS}")
0061 
0062 set(audex_SRCS
0063     main.cpp
0064     mainwindow.cpp
0065     models/cddamodel.cpp
0066     models/profilemodel.cpp
0067     utils/schemeparser.cpp
0068     utils/playlist.cpp
0069     utils/wavefilewriter.cpp
0070     utils/cddacdio.cpp
0071     utils/cddadevices.cpp
0072     utils/encoderwrapper.cpp
0073     utils/cddaextractthread.cpp
0074     utils/upload.cpp
0075     utils/encoderassistant.cpp
0076     utils/hashlist.cpp
0077     utils/crc32hash.cpp
0078     utils/parameters.cpp
0079     utils/cuesheetwriter.cpp
0080     utils/discidcalculator.cpp
0081     widgets/cddaheaderwidget.cpp
0082     widgets/generalsettingswidget.cpp
0083     widgets/devicewidget.cpp
0084     widgets/profilewidget.cpp
0085     widgets/remoteserversettingswidget.cpp
0086     widgets/lamewidget.cpp
0087     widgets/oggencwidget.cpp
0088     widgets/opusencwidget.cpp
0089     widgets/flacwidget.cpp
0090     widgets/faacwidget.cpp
0091     widgets/wavewidget.cpp
0092     widgets/customwidget.cpp
0093     dialogs/cddaheaderdatadialog.cpp
0094     dialogs/profiledatadialog.cpp
0095     dialogs/profiledatacoverdialog.cpp
0096     dialogs/profiledataplaylistdialog.cpp
0097     dialogs/profiledatainfodialog.cpp
0098     dialogs/profiledatahashlistdialog.cpp
0099     dialogs/profiledatacuesheetdialog.cpp
0100     dialogs/profiledatalogfiledialog.cpp
0101     dialogs/profiledatasinglefiledialog.cpp
0102     dialogs/schemewizarddialog.cpp
0103     dialogs/commandwizarddialog.cpp
0104     dialogs/filenameschemewizarddialog.cpp
0105     dialogs/extractingprogressdialog.cpp
0106     dialogs/logviewdialog.cpp
0107     dialogs/textviewdialog.cpp
0108     dialogs/errordialog.cpp
0109     core/audex.cpp)
0110 
0111 ki18n_wrap_ui(
0112   audex_SRCS
0113   widgets/generalsettingswidgetUI.ui
0114   widgets/devicewidgetUI.ui
0115   widgets/profilewidgetUI.ui
0116   widgets/remoteserversettingswidgetUI.ui
0117   widgets/lamewidgetUI.ui
0118   widgets/oggencwidgetUI.ui
0119   widgets/opusencwidgetUI.ui
0120   widgets/flacwidgetUI.ui
0121   widgets/faacwidgetUI.ui
0122   widgets/wavewidgetUI.ui
0123   widgets/customwidgetUI.ui
0124   dialogs/cddaheaderdatawidgetUI.ui
0125   dialogs/profiledatawidgetUI.ui
0126   dialogs/profiledatacoverwidgetUI.ui
0127   dialogs/profiledataplaylistwidgetUI.ui
0128   dialogs/profiledatainfowidgetUI.ui
0129   dialogs/profiledatahashlistwidgetUI.ui
0130   dialogs/profiledatacuesheetwidgetUI.ui
0131   dialogs/profiledatalogfilewidgetUI.ui
0132   dialogs/profiledatasinglefilewidgetUI.ui
0133   dialogs/schemewizardwidgetUI.ui
0134   dialogs/commandwizardwidgetUI.ui
0135   dialogs/filenameschemewizardwidgetUI.ui
0136   dialogs/extractingprogresswidgetUI.ui
0137   dialogs/logviewwidgetUI.ui
0138   dialogs/textviewwidgetUI.ui)
0139 
0140 kconfig_add_kcfg_files(audex_SRCS preferences.kcfgc)
0141 qt_add_resources(audex_SRCS audex.qrc)
0142 
0143 add_executable(audex ${audex_SRCS})
0144 target_link_libraries(
0145   audex
0146   Qt6::Widgets
0147   Qt6::Qml
0148   Qt6::Core5Compat
0149   KF6::Completion
0150   KF6::CoreAddons
0151   KF6::Crash
0152   KF6::I18n
0153   KF6::IconThemes
0154   KF6::IconWidgets
0155   KF6::KCMUtils
0156   KF6::KIOWidgets
0157   KF6::Solid
0158   KF6::TextWidgets
0159   KF6::WidgetsAddons
0160   KF6::XmlGui
0161   KCddb6
0162   ${CDIO_LIBRARIES}
0163   ${CDIO_CDDA_LIBRARIES}
0164   ${CDIO_PARANOIA_LIBRARIES})
0165 
0166 install(TARGETS audex DESTINATION ${KDE_INSTALL_BINDIR})
0167 install(PROGRAMS org.kde.audex.desktop DESTINATION ${KDE_INSTALL_APPDIR})
0168 install(FILES org.kde.audex.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
0169 install(FILES audex-rip-audiocd.desktop
0170         DESTINATION ${KDE_INSTALL_DATADIR}/solid/actions)
0171 
0172 add_subdirectory(icons)
0173 add_subdirectory(images)
0174 
0175 if(BUILD_TESTING)
0176   find_package(Qt6Test REQUIRED)
0177   add_subdirectory(test)
0178 endif()
0179 
0180 # Install translations
0181 ki18n_install(po)
0182 
0183 # add clang-format target for all our real source files
0184 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
0185 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
0186 
0187 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES)