mirror of
https://github.com/kavishdevar/librepods.git
synced 2026-01-28 22:01:50 +00:00
* linux(i18n): add Turkish translations - Add Qt Linguist translation infrastructure to CMakeLists.txt - Wrap UI strings with qsTr() in Main.qml - Wrap menu strings with tr() in trayiconmanager.cpp - Add QTranslator loader in main.cpp for automatic locale detection - Create Turkish translation file (librepods_tr.ts) Translations include: - Main window: connection status, noise control modes, settings - Tray menu: all menu items and tooltips - System notifications * fix: allocate QTranslator on heap to ensure lifetime
103 lines
2.5 KiB
CMake
103 lines
2.5 KiB
CMake
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")
|