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

0001 cmake_minimum_required(VERSION 3.16)
0002 
0003 project(audiocd VERSION "5.1.0")
0004 
0005 set(QT_MIN_VERSION "6.5.0")
0006 set(KF_MIN_VERSION "5.240.0")
0007 
0008 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE)
0009 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
0010 
0011 include(KDEInstallDirs)
0012 include(KDECMakeSettings)
0013 include(KDECompilerSettings NO_POLICY_SCOPE)
0014 include(KDEClangFormat)
0015 
0016 include(ECMSetupVersion)
0017 include(ECMQtDeclareLoggingCategory)
0018 include(CMakePushCheckState)
0019 include(GenerateExportHeader)
0020 include(CheckStructHasMember)
0021 include(FeatureSummary)
0022 include(KDEGitCommitHooks)
0023 include(ECMDeprecationSettings)
0024 
0025 find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS Core Widgets)
0026 find_package(Qt6 REQUIRED COMPONENTS Core5Compat)
0027 
0028 find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS
0029     Config
0030     I18n
0031     DocTools
0032     KIO
0033     KCMUtils
0034 )
0035 find_package(KCompactDisc6)
0036 set_package_properties(KCompactDisc6 PROPERTIES
0037     DESCRIPTION "KCompactDisc library"
0038     URL "https://commits.kde.org/libkcompactdisc"
0039     TYPE REQUIRED
0040     PURPOSE "libkcompactdisc is used to access CD drives."
0041 )
0042 find_package(KCddb6 5.1)
0043 set_package_properties(KCddb6 PROPERTIES
0044     DESCRIPTION "Library used to retrieve audio CD metadata from the Internet"
0045     URL "https://commits.kde.org/libkcddb"
0046     TYPE REQUIRED
0047     PURPOSE "libkcddb is used to retrieve audio CD meta data from the internet."
0048 )
0049 
0050 find_package(Cdparanoia REQUIRED)
0051 
0052 cmake_push_check_state()
0053 set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${CDPARANOIA_INCLUDE_DIR})
0054 check_struct_has_member("struct cdrom_drive" "ioctl_device_name" "cdda_interface.h" CDDA_IOCTL_DEVICE_EXISTS)
0055 cmake_pop_check_state()
0056 if(CDDA_IOCTL_DEVICE_EXISTS)
0057     set(HAVE_CDDA_IOCTL_DEVICE 1)
0058 else()
0059     set(HAVE_CDDA_IOCTL_DEVICE 0)
0060 endif()
0061 execute_process(
0062     COMMAND sed -e "s|cdda_private_data_t \\*private;|cdda_private_data_t \\*private_data;|g"
0063     # The next line should be removed if strerror_tr will be used somewhere
0064     COMMAND sed -e "/static\ char/,/}\;/d"
0065     INPUT_FILE ${CDPARANOIA_INCLUDE_DIR}/cdda_interface.h
0066     OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/cdda_interface.hpp
0067     RESULT_VARIABLE CDDA_INTERFACE_EDIT_ERROR
0068 )
0069 if (CDDA_INTERFACE_EDIT_ERROR)
0070     message(STATUS "Fixing cdda_interface.h for C++ failed with exit code ${CDDA_INTERFACE_EDIT_ERROR}")
0071 endif()
0072 
0073 configure_file(config-audiocd.h.in ${CMAKE_CURRENT_BINARY_DIR}/config-audiocd.h)
0074 
0075 #############################
0076 ecm_set_disabled_deprecation_versions(QT 6.6
0077     KF 5.240.0
0078     )
0079 add_subdirectory(plugins)
0080 add_subdirectory(kcmaudiocd)
0081 add_subdirectory(data)
0082 add_subdirectory(doc)
0083 
0084 add_library(kio_audiocd MODULE)
0085 target_sources(kio_audiocd PRIVATE
0086     audiocd.cpp audiocd.h
0087 )
0088 
0089 ecm_qt_declare_logging_category(kio_audiocd
0090     HEADER audiocd_kio_debug.h
0091     IDENTIFIER AUDIOCD_KIO_LOG
0092     CATEGORY_NAME kf.kio.workers.audiocd
0093     OLD_CATEGORY_NAMES kf5.kio.audiocd kf.kio.slaves.audiocd
0094     DEFAULT_SEVERITY Warning
0095     DESCRIPTION "audiocd KIO worker"
0096     EXPORT AUDIOCD
0097 )
0098 
0099 set_target_properties(kio_audiocd PROPERTIES OUTPUT_NAME "audiocd")
0100 
0101 target_link_libraries(kio_audiocd
0102     audiocdplugins
0103     KF6::I18n
0104     Qt::Widgets
0105     Cdparanoia::Cdparanoia
0106 )
0107 target_link_libraries(kio_audiocd Qt6::Core5Compat KCompactDisc6)
0108 
0109 install(TARGETS kio_audiocd  DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/kio)
0110 
0111 ecm_qt_install_logging_categories(
0112     EXPORT AUDIOCD
0113     FILE kio_audiocd.categories
0114     DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
0115 )
0116 
0117 ki18n_install(po)
0118 kdoctools_install(po)
0119 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
0120 
0121 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)