mirror of
https://github.com/spalencsar/bearwave.git
synced 2026-07-06 22:24:17 +02:00
76 lines
1.8 KiB
CMake
76 lines
1.8 KiB
CMake
# BearWave Source Files
|
|
|
|
# Core application
|
|
set(SOURCES
|
|
main.cpp
|
|
radiostation.cpp
|
|
radiobrowser.cpp
|
|
radiobackend.cpp
|
|
bearplayer.cpp
|
|
coverartfetcher.cpp
|
|
mprisadaptor.cpp
|
|
bearwavecontroladaptor.cpp
|
|
notificationmanager.cpp
|
|
icyreader.cpp
|
|
systemtraymanager.cpp
|
|
)
|
|
|
|
# Create executable
|
|
add_executable(bearwave ${SOURCES})
|
|
|
|
if(BEARWAVE_GIT_HASH)
|
|
# set via -D from build scripts
|
|
elseif(DEFINED ENV{BEARWAVE_GIT_HASH} AND NOT "$ENV{BEARWAVE_GIT_HASH}" STREQUAL "")
|
|
set(BEARWAVE_GIT_HASH "$ENV{BEARWAVE_GIT_HASH}")
|
|
else()
|
|
execute_process(
|
|
COMMAND git rev-parse --short HEAD
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/..
|
|
OUTPUT_VARIABLE BEARWAVE_GIT_HASH
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
ERROR_QUIET
|
|
)
|
|
endif()
|
|
if(NOT BEARWAVE_GIT_HASH)
|
|
set(BEARWAVE_GIT_HASH "unknown")
|
|
endif()
|
|
|
|
target_compile_definitions(bearwave PRIVATE
|
|
BEARWAVE_VERSION="${PROJECT_VERSION}"
|
|
BEARWAVE_GIT_HASH="${BEARWAVE_GIT_HASH}"
|
|
)
|
|
|
|
# Qt Resources
|
|
target_sources(bearwave PRIVATE qml.qrc)
|
|
|
|
qt_add_lrelease(bearwave
|
|
TS_FILES
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../translations/bearwave_de.ts
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../translations/bearwave_ru.ts
|
|
QM_FILES_OUTPUT_VARIABLE bearwave_qm_files
|
|
)
|
|
|
|
foreach(qm_file IN LISTS bearwave_qm_files)
|
|
get_filename_component(qm_name "${qm_file}" NAME)
|
|
set_source_files_properties("${qm_file}" PROPERTIES QT_RESOURCE_ALIAS "${qm_name}")
|
|
endforeach()
|
|
|
|
qt_add_resources(bearwave bearwave_translations
|
|
PREFIX /i18n
|
|
FILES ${bearwave_qm_files}
|
|
)
|
|
|
|
# Link libraries
|
|
target_link_libraries(bearwave PRIVATE
|
|
Qt6::Core
|
|
Qt6::DBus
|
|
Qt6::Network
|
|
Qt6::Quick
|
|
Qt6::QuickControls2
|
|
Qt6::Widgets
|
|
Qt6::Multimedia
|
|
)
|
|
|
|
# Install
|
|
install(TARGETS bearwave DESTINATION bin)
|