Warning, /libraries/pulseaudio-qt/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 cmake_minimum_required(VERSION 3.16)
0002 
0003 set(PROJECT_VERSION 1.4.0)
0004 
0005 project(PulseAudioQt VERSION ${PROJECT_VERSION})
0006 
0007 include(FeatureSummary)
0008 find_package(ECM 5.90.0  NO_MODULE)
0009 set (KDE_COMPILERSETTINGS_LEVEL "5.82")
0010 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://kde.org/products/frameworks/")
0011 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES)
0012 
0013 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
0014 
0015 include(GenerateExportHeader)
0016 include(CMakePackageConfigHelpers)
0017 include(ECMSetupVersion)
0018 include(ECMGenerateHeaders)
0019 include(ECMGenerateExportHeader)
0020 include(ECMQtDeclareLoggingCategory)
0021 include(ECMAddQch)
0022 include(KDEClangFormat)
0023 include(ECMGeneratePkgConfigFile)
0024 
0025 include(KDEInstallDirs)
0026 include(KDECompilerSettings NO_POLICY_SCOPE)
0027 # include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE)
0028 include(KDECMakeSettings)
0029 include(KDEGitCommitHooks)
0030 
0031 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF)
0032 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)")
0033 
0034 ecm_setup_version(PROJECT VARIABLE_PREFIX PULSEAUDIOQT
0035                         VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/pulseaudioqt_version.h"
0036                         PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF${QT_MAJOR_VERSION}PulseAudioQtConfigVersion.cmake"
0037                         SOVERSION 4)
0038 
0039 set(REQUIRED_QT_VERSION 5.15.0)
0040 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core Gui DBus)
0041 
0042 find_package(Qt${QT_MAJOR_VERSION}Test ${REQUIRED_QT_VERSION} CONFIG)
0043 set_package_properties(Qt${QT_MAJOR_VERSION}Test PROPERTIES DESCRIPTION "Autotests for PulseAudioQt" TYPE OPTIONAL)
0044 
0045 find_package(Qt${QT_MAJOR_VERSION}Qml ${REQUIRED_QT_VERSION} CONFIG)
0046 set_package_properties(Qt${QT_MAJOR_VERSION}Qml PROPERTIES DESCRIPTION "Tests for PulseAudioQt" TYPE OPTIONAL)
0047 
0048 find_package(Qt${QT_MAJOR_VERSION}Quick ${REQUIRED_QT_VERSION} CONFIG)
0049 set_package_properties(Qt${QT_MAJOR_VERSION}Quick PROPERTIES DESCRIPTION "Tests for PulseAudioQt" TYPE OPTIONAL)
0050 
0051 # create a Config.cmake and a ConfigVersion.cmake file and install them
0052 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF${QT_MAJOR_VERSION}PulseAudioQt")
0053 
0054 
0055 install(FILES  "${CMAKE_CURRENT_BINARY_DIR}/KF${QT_MAJOR_VERSION}PulseAudioQtConfig.cmake"
0056                "${CMAKE_CURRENT_BINARY_DIR}/KF${QT_MAJOR_VERSION}PulseAudioQtConfigVersion.cmake"
0057         DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0058         COMPONENT Devel )
0059 
0060 configure_package_config_file(
0061   "${CMAKE_CURRENT_SOURCE_DIR}/KF${QT_MAJOR_VERSION}PulseAudioQtConfig.cmake.in"
0062   "${CMAKE_CURRENT_BINARY_DIR}/KF${QT_MAJOR_VERSION}PulseAudioQtConfig.cmake"
0063   INSTALL_DESTINATION  ${CMAKECONFIG_INSTALL_DIR}
0064 )
0065 
0066 find_package(PkgConfig REQUIRED)
0067 
0068 pkg_check_modules(LIBPULSE libpulse REQUIRED IMPORTED_TARGET)
0069 pkg_check_modules(LIBPULSE_MAINLOOP libpulse-mainloop-glib REQUIRED IMPORTED_TARGET)
0070 
0071 if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po")
0072     ecm_install_po_files_as_qm(po)
0073 endif()
0074 
0075 add_subdirectory(src)
0076 
0077 if (BUILD_TESTING)
0078     add_subdirectory(tests)
0079     if(Qt${QT_MAJOR_VERSION}Test_FOUND)
0080         add_subdirectory(autotests)
0081     endif()
0082 endif()
0083 
0084 if (BUILD_QCH)
0085     ecm_install_qch_export(
0086         TARGETS KF${QT_MAJOR_VERSION}PulseAudioQt_QCH
0087         FILE KF${QT_MAJOR_VERSION}PulseAudioQtQchTargets.cmake
0088         DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0089         COMPONENT Devel
0090     )
0091     set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF${QT_MAJOR_VERSION}PulseAudioQtQchTargets.cmake\")")
0092 endif()
0093 
0094 install(EXPORT PulseAudioQtTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF${QT_MAJOR_VERSION}PulseAudioQtTargets.cmake NAMESPACE KF${QT_MAJOR_VERSION}:: )
0095 
0096 install(FILES
0097         ${CMAKE_CURRENT_BINARY_DIR}/pulseaudioqt_version.h
0098         DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF} COMPONENT Devel )
0099 
0100 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
0101 
0102 # add clang-format target for all our real source files
0103 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
0104 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
0105 
0106 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)