Warning, /multimedia/libkcompactdisc/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 ## Compiler flags 0002 0003 add_definitions(-DTRANSLATION_DOMAIN=\"libkcompactdisc\") 0004 0005 if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_C_COMPILER_ID MATCHES "Clang") 0006 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99") ## ALSA no longer compiles with -std=c90, see https://bugzilla.novell.com/show_bug.cgi?id=817077 0007 endif() 0008 0009 find_package(ALSA) 0010 set_package_properties(ALSA PROPERTIES 0011 URL "https://www.alsa-project.org/" 0012 DESCRIPTION "ALSA provides audio and MIDI functionality" 0013 TYPE OPTIONAL 0014 PURPOSE "Play back audio CDs via ALSA") 0015 set(HAVE_ALSA ${ALSA_FOUND}) 0016 0017 0018 if (QT_MAJOR_VERSION STREQUAL "5") 0019 set(KCOMPACTDISC_INSTALL_INCLUDEDIR "${KDE_INSTALL_INCLUDEDIR_KF}/KCompactDisc") 0020 set(KCOMPACTDISC_CMAKECONFIG_NAME "KF5CompactDisc") 0021 set(LIBRARYFILE_NAME "KF5CompactDisc") 0022 set(TARGET_EXPORT_NAME "CompactDisc") 0023 set(NAMESPACE_NAME "KF5::") 0024 else() 0025 set(KCOMPACTDISC_INSTALL_INCLUDEDIR "${KDE_INSTALL_INCLUDEDIR}/KCompactDisc6") 0026 set(KCOMPACTDISC_CMAKECONFIG_NAME "KCompactDisc6") 0027 set(LIBRARYFILE_NAME "KCompactDisc6") 0028 set(TARGET_EXPORT_NAME "KCompactDisc6") 0029 set(NAMESPACE_NAME "") 0030 endif() 0031 0032 # Version Setup 0033 0034 ecm_setup_version(${KCompactDisc_VERSION} 0035 VARIABLE_PREFIX KCOMPACTDISC 0036 VERSION_HEADER ${CMAKE_CURRENT_BINARY_DIR}/kcompactdisc_version.h 0037 PACKAGE_VERSION_FILE ${CMAKE_CURRENT_BINARY_DIR}/${KCOMPACTDISC_CMAKECONFIG_NAME}ConfigVersion.cmake 0038 SOVERSION 5 0039 ) 0040 0041 configure_file(config-alsa.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-alsa.h) 0042 0043 add_library(KCompactDisc SHARED) 0044 set_target_properties(KCompactDisc PROPERTIES 0045 VERSION ${KCOMPACTDISC_VERSION} 0046 SOVERSION ${KCOMPACTDISC_SOVERSION} 0047 OUTPUT_NAME ${LIBRARYFILE_NAME} 0048 EXPORT_NAME ${TARGET_EXPORT_NAME} 0049 ) 0050 0051 if (QT_MAJOR_VERSION STREQUAL "5") 0052 add_library(KF5::CompactDisc ALIAS KCompactDisc) 0053 endif() 0054 0055 if (QT_MAJOR_VERSION STREQUAL "5") 0056 set(_generate_export_header_version_args) 0057 else() 0058 # For Qt6/KF6 world transitively include the version header 0059 if(ECM_VERSION VERSION_LESS "5.106") 0060 set(include_version_header_code "#include <kcompactdisc_version.h>\n") 0061 set(_generate_export_header_version_args CUSTOM_CONTENT_FROM_VARIABLE include_version_header_code) 0062 else() 0063 set(_generate_export_header_version_args USE_VERSION_HEADER) 0064 endif() 0065 endif() 0066 ecm_generate_export_header(KCompactDisc 0067 BASE_NAME KCompactDisc 0068 VERSION ${KCOMPACTDISC_VERSION} 0069 DEPRECATED_BASE_VERSION 0 0070 ${_generate_export_header_version_args} 0071 ) 0072 0073 if (APPLE OR WIN32 OR CMAKE_SYSTEM_NAME STREQUAL GNU) 0074 set(USE_WMLIB false) 0075 else() 0076 set(USE_WMLIB true) 0077 endif() 0078 0079 target_sources(KCompactDisc PRIVATE 0080 kcompactdisc.cpp kcompactdisc.h 0081 kcompactdisc_p.cpp kcompactdisc_p.h 0082 phonon_interface.cpp phonon_interface.h 0083 ) 0084 0085 if (USE_WMLIB) 0086 target_sources(KCompactDisc PRIVATE 0087 wmlib_interface.cpp wmlib_interface.h 0088 0089 wmlib/audio/audio.c 0090 wmlib/audio/audio_arts.c 0091 wmlib/audio/audio_alsa.c 0092 wmlib/audio/audio_sun.c 0093 0094 wmlib/cdda.c 0095 wmlib/cddb.c 0096 wmlib/cdrom.c 0097 wmlib/wm_helpers.c 0098 wmlib/cdtext.c 0099 wmlib/scsi.c 0100 wmlib/plat_aix.c 0101 wmlib/plat_bsd386.c 0102 wmlib/plat_freebsd.c 0103 wmlib/plat_hpux.c 0104 wmlib/plat_irix.c 0105 wmlib/plat_linux.c 0106 wmlib/plat_svr4.c 0107 wmlib/plat_ultrix.c 0108 wmlib/plat_news.c 0109 wmlib/plat_openbsd.c 0110 wmlib/plat_osf1.c 0111 wmlib/plat_sun.c 0112 wmlib/plat_scor5.c 0113 wmlib/drv_sony.c 0114 wmlib/drv_toshiba.c 0115 ) 0116 target_compile_definitions(KCompactDisc PRIVATE -DUSE_WMLIB=1) 0117 endif() 0118 0119 target_link_libraries(KCompactDisc 0120 PUBLIC 0121 Qt::Core 0122 PRIVATE 0123 Qt::DBus 0124 KF${KF_MAJOR_VERSION}::Solid 0125 KF${KF_MAJOR_VERSION}::I18n 0126 Phonon::phonon4qt${QT_MAJOR_VERSION} 0127 ) 0128 0129 if (HAVE_ALSA) 0130 target_link_libraries(KCompactDisc PRIVATE ALSA::ALSA) 0131 endif() 0132 0133 if (USE_WMLIB) 0134 find_package(Threads) 0135 target_link_libraries(KCompactDisc PRIVATE ${CMAKE_THREAD_LIBS_INIT}) 0136 endif() 0137 0138 target_include_directories(KCompactDisc 0139 INTERFACE 0140 "$<INSTALL_INTERFACE:${KCOMPACTDISC_INSTALL_INCLUDEDIR}>" 0141 ) 0142 0143 ecm_generate_headers(KCompactDisc_HEADERS 0144 HEADER_NAMES 0145 KCompactDisc 0146 REQUIRED_HEADERS KCompactDisc_HEADERS 0147 ) 0148 0149 if (QT_MAJOR_VERSION STREQUAL "6") 0150 install(TARGETS KCompactDisc EXPORT KCompactDiscTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) 0151 else() 0152 install(TARGETS KCompactDisc EXPORT KCompactDiscTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS}) 0153 endif() 0154 install(FILES 0155 ${CMAKE_CURRENT_BINARY_DIR}/kcompactdisc_export.h 0156 ${KCompactDisc_HEADERS} 0157 DESTINATION ${KCOMPACTDISC_INSTALL_INCLUDEDIR} 0158 COMPONENT Devel 0159 ) 0160 install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR}) 0161 0162 0163 set(CMAKECONFIG_INSTALL_DIR ${KDE_INSTALL_CMAKEPACKAGEDIR}/${KCOMPACTDISC_CMAKECONFIG_NAME}) 0164 0165 configure_package_config_file( 0166 ${CMAKE_CURRENT_SOURCE_DIR}/KF5CompactDiscConfig.cmake.in 0167 ${CMAKE_CURRENT_BINARY_DIR}/${KCOMPACTDISC_CMAKECONFIG_NAME}Config.cmake 0168 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0169 ) 0170 0171 install(FILES 0172 ${CMAKE_CURRENT_BINARY_DIR}/${KCOMPACTDISC_CMAKECONFIG_NAME}Config.cmake 0173 ${CMAKE_CURRENT_BINARY_DIR}/${KCOMPACTDISC_CMAKECONFIG_NAME}ConfigVersion.cmake 0174 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0175 COMPONENT Devel 0176 ) 0177 0178 install(EXPORT 0179 KCompactDiscTargets 0180 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0181 FILE ${KCOMPACTDISC_CMAKECONFIG_NAME}Targets.cmake 0182 NAMESPACE ${NAMESPACE_NAME} 0183 COMPONENT Devel 0184 ) 0185 0186 install(FILES 0187 ${CMAKE_CURRENT_BINARY_DIR}/kcompactdisc_version.h 0188 DESTINATION "${KCOMPACTDISC_INSTALL_INCLUDEDIR}" 0189 COMPONENT Devel 0190 ) 0191 0192 ecm_generate_pri_file( 0193 BASE_NAME KCompactDisc 0194 LIB_NAME ${KCOMPACTDISC_CMAKECONFIG_NAME} 0195 DEPS "core dbus phonon4qt5 KCoreAddons KI18n Solid" 0196 FILENAME_VAR PRI_FILENAME 0197 INCLUDE_INSTALL_DIR ${KCOMPACTDISC_INSTALL_INCLUDEDIR} 0198 ) 0199 install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR})