cmake_minimum_required(VERSION 3.16) project(linux VERSION 0.1 LANGUAGES CXX) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(Qt6 REQUIRED COMPONENTS Quick Widgets Bluetooth DBus LinguistTools) find_package(OpenSSL REQUIRED) find_package(PkgConfig REQUIRED) pkg_check_modules(PULSEAUDIO REQUIRED libpulse) qt_standard_project_setup() # Translation files set(TS_FILES translations/librepods_tr.ts ) qt_add_executable(librepods main.cpp logger.h media/mediacontroller.cpp media/mediacontroller.h media/pulseaudiocontroller.cpp media/pulseaudiocontroller.h airpods_packets.h trayiconmanager.cpp trayiconmanager.h enums.h battery.hpp BluetoothMonitor.cpp BluetoothMonitor.h autostartmanager.hpp BasicControlCommand.hpp deviceinfo.hpp ble/bleutils.cpp ble/bleutils.h ble/blemanager.cpp ble/blemanager.h thirdparty/QR-Code-generator/qrcodegen.cpp thirdparty/QR-Code-generator/qrcodegen.hpp QRCodeImageProvider.hpp eardetection.hpp media/playerstatuswatcher.cpp media/playerstatuswatcher.h systemsleepmonitor.hpp ) qt_add_qml_module(librepods URI linux VERSION 1.0 QML_FILES Main.qml BatteryIndicator.qml SegmentedControl.qml PodColumn.qml Icon.qml KeysQRDialog.qml ) # Add the resource file qt_add_resources(librepods "resources" PREFIX "/icons" FILES assets/airpods.png assets/pod.png assets/pod_case.png assets/pod3.png assets/pod3_case.png assets/pod4_case.png assets/podpro.png assets/podpro_case.png assets/podmax.png assets/fonts/SF-Symbols-6.ttf ) target_link_libraries(librepods PRIVATE Qt6::Quick Qt6::Widgets Qt6::Bluetooth Qt6::DBus OpenSSL::SSL OpenSSL::Crypto ${PULSEAUDIO_LIBRARIES} ) target_include_directories(librepods PRIVATE ${PULSEAUDIO_INCLUDE_DIRS}) include(GNUInstallDirs) install(TARGETS librepods BUNDLE DESTINATION . LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) install(FILES assets/me.kavishdevar.librepods.desktop DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications") install(FILES assets/librepods.png DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/512x512/apps") # Translation support qt_add_translations(librepods TS_FILES ${TS_FILES} QM_FILES_OUTPUT_VARIABLE QM_FILES ) # Install translation files install(FILES ${QM_FILES} DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/librepods/translations")