Warning, /libraries/phonon/phonon/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 if(PHONON_BUILD_EXPERIMENTAL) 0002 add_subdirectory(experimental) 0003 endif() 0004 0005 configure_file(phononconfig_p.h.in ${CMAKE_CURRENT_BINARY_DIR}/phonon/phononconfig_p.h @ONLY) 0006 configure_file(phononnamespace.h.in ${CMAKE_CURRENT_BINARY_DIR}/phonon/phononnamespace.h @ONLY) 0007 0008 find_package(PulseAudio 0.9.15) 0009 set_package_properties(PulseAudio PROPERTIES 0010 TYPE RECOMMENDED 0011 DESCRIPTION "A cross-platform, networked sound server" 0012 URL "http://www.pulseaudio.org") 0013 find_package(GLIB2) 0014 set_package_properties(GLIB2 PROPERTIES 0015 TYPE RECOMMENDED 0016 DESCRIPTION "GLib 2 is required to compile the pulseaudio for Phonon" 0017 URL "http://www.gtk.org/download/") 0018 0019 if (GLIB2_FOUND AND PULSEAUDIO_FOUND) 0020 set(PHONON_PULSESUPPORT TRUE CACHE BOOL "Has Phonon pulseaudio support ?") 0021 if(PHONON_PULSESUPPORT) 0022 add_definitions(-DHAVE_PULSEAUDIO) 0023 endif(PHONON_PULSESUPPORT) 0024 include_directories(${GLIB2_INCLUDE_DIR} ${PULSEAUDIO_INCLUDE_DIR}) 0025 else(GLIB2_FOUND AND PULSEAUDIO_FOUND) 0026 set(PHONON_PULSESUPPORT FALSE CACHE BOOL "Has Phonon pulseaudio support ?") 0027 set(PULSEAUDIO_INCLUDE_DIR "") 0028 set(PULSEAUDIO_LIBRARY "") 0029 set(PULSEAUDIO_MAINLOOP_LIBRARY "") 0030 endif(GLIB2_FOUND AND PULSEAUDIO_FOUND) 0031 0032 set(phonon_LIB_SRCS 0033 abstractaudiooutput.cpp 0034 abstractaudiooutput_p.cpp 0035 abstractmediastream.cpp 0036 abstractvideooutput.cpp 0037 abstractvideooutput_p.cpp 0038 audiodataoutput.cpp 0039 audiooutput.cpp 0040 audiooutputinterface.cpp 0041 backendcapabilities.cpp 0042 effect.cpp 0043 effectparameter.cpp 0044 effectwidget.cpp 0045 factory.cpp 0046 globalconfig.cpp 0047 iodevicestream.cpp 0048 mediacontroller.cpp 0049 mediaobject.cpp 0050 medianode.cpp 0051 mediasource.cpp 0052 mrl.cpp 0053 objectdescription.cpp 0054 objectdescriptionmodel.cpp 0055 path.cpp 0056 phononnamespace.cpp 0057 platform.cpp 0058 pulsesupport.cpp 0059 seekslider.cpp 0060 statesvalidator.cpp 0061 streaminterface.cpp 0062 swiftslider.cpp 0063 volumefadereffect.cpp 0064 volumeslider.cpp 0065 videoplayer.cpp 0066 videowidget.cpp 0067 ${phonon_VGO_SRCS} 0068 ) 0069 0070 ecm_create_qm_loader(phonon_LIB_SRCS libphonon_qt) 0071 0072 option(PHONON_NO_PLATFORMPLUGIN "Do not use any platform plugin") 0073 if (PHONON_NO_PLATFORMPLUGIN) 0074 add_definitions(-DQT_NO_PHONON_PLATFORMPLUGIN) 0075 endif (PHONON_NO_PLATFORMPLUGIN) 0076 0077 add_definitions(-DPHONON_PLUGIN_PATH="${PLUGIN_INSTALL_DIR}") 0078 add_definitions(-DPHONON_BACKEND_DIR_SUFFIX="/${BACKEND_DIR_SUFFIX}/") 0079 0080 set(optional_link_libraries) 0081 0082 if(PHONON_PULSESUPPORT) 0083 list(APPEND phonon_LIB_SRCS pulsestream.cpp) 0084 list(APPEND optional_link_libraries ${GOBJECT_LIBRARIES} ${PULSEAUDIO_LIBRARY} ${PULSEAUDIO_MAINLOOP_LIBRARY}) 0085 endif() 0086 0087 add_library(${PHONON_LIB_SONAME} SHARED ${phonon_LIB_SRCS}) 0088 add_library(Phonon::${PHONON_LIB_SONAME} ALIAS ${PHONON_LIB_SONAME}) 0089 0090 target_link_libraries(${PHONON_LIB_SONAME} 0091 PUBLIC 0092 Qt${QT_MAJOR_VERSION}::Core 0093 Qt${QT_MAJOR_VERSION}::Widgets 0094 PRIVATE 0095 ${optional_link_libraries} 0096 ) 0097 0098 if (QT_MAJOR_VERSION STREQUAL "6") 0099 target_link_libraries(${PHONON_LIB_SONAME} PRIVATE Qt6::Core5Compat) 0100 endif() 0101 0102 set_target_properties(${PHONON_LIB_SONAME} 0103 PROPERTIES 0104 VERSION ${PHONON_VERSION} 0105 SOVERSION ${PHONON_SOVERSION} 0106 DEFINE_SYMBOL MAKE_PHONON_LIB) 0107 0108 target_include_directories(${PHONON_LIB_SONAME} 0109 INTERFACE "$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}>" 0110 PUBLIC 0111 # snake header <phonon/foo.h> 0112 "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../;${CMAKE_CURRENT_BINARY_DIR}/../;${CMAKE_CURRENT_BINARY_DIR};${CMAKE_CURRENT_BINARY_DIR}/phonon>" 0113 # camel header <phonon/Foo> 0114 "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../includes;${CMAKE_CURRENT_BINARY_DIR}/../includes;${CMAKE_CURRENT_BINARY_DIR};${CMAKE_CURRENT_BINARY_DIR}/phonon>") 0115 0116 install(TARGETS ${PHONON_LIB_SONAME} EXPORT PhononLibs${QT_MAJOR_VERSION} ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) 0117 0118 install(FILES 0119 abstractaudiooutput.h 0120 abstractmediastream.h 0121 abstractvideooutput.h 0122 addoninterface.h 0123 audiodataoutput.h 0124 audiodataoutputinterface.h 0125 audiooutput.h 0126 audiooutputinterface.h 0127 backendcapabilities.h 0128 backendinterface.h 0129 effect.h 0130 effectinterface.h 0131 effectparameter.h 0132 effectwidget.h 0133 globalconfig.h 0134 globaldescriptioncontainer.h 0135 mediacontroller.h 0136 medianode.h 0137 mediaobject.h 0138 mediaobjectinterface.h 0139 mediasource.h 0140 mrl.h 0141 objectdescription.h 0142 objectdescriptionmodel.h 0143 path.h 0144 phonon_export.h 0145 phonondefs.h 0146 platformplugin.h 0147 pulsesupport.h 0148 seekslider.h 0149 streaminterface.h 0150 videoplayer.h 0151 videowidget.h 0152 videowidgetinterface.h 0153 volumefadereffect.h 0154 volumefaderinterface.h 0155 volumeslider.h 0156 ${phonon_VGO_HDRS} 0157 ${CMAKE_CURRENT_BINARY_DIR}/phonon/phononnamespace.h 0158 ${CMAKE_CURRENT_BINARY_DIR}/phonon_version.h 0159 DESTINATION ${INCLUDE_INSTALL_DIR}/phonon COMPONENT Devel)