1
0
Fork 0
mirror of https://github.com/HenkKalkwater/harbour-sailfin.git synced 2024-11-22 09:15:18 +00:00
harbour-sailfin/sailfish/CMakeLists.txt
Chris Josten 0278e3f364 sailfish: add LiveTvChannels page
This ocmmit adds a LiveTvChannels page for displaying the programs that
are now playing.

The section Live TV Channels on the main page now shows the TV channel
list in order of the channel number.

Additionally, it fixes an issue in ApiModel, where it would not reload
when a new loader was assigned. This is now fixed and some code on pages
that worked around this fix has been removed.
2024-06-03 22:14:50 +02:00

138 lines
4.8 KiB
CMake

project(harbour-sailfin-sailfish)
# find_library(SAILFISH sailfishapp 1.0 REQUIRED)
include(ExternalProject)
# FIXME: don't hardcode /home/deploy/installroot/
set(DEPLOY_ROOT /home/deploy/installroot/)
ExternalProject_Add(BlurhashQt
# PREFIX ${CMAKE_CURRENT_BINARY_DIR}/lib/blurhash-qt
GIT_REPOSITORY https://github.com/HenkKalkwater/BlurhashQt.git
GIT_TAG 61ae7f0feca6ab67da1bfdbcb222bbd12e8f7e07
CMAKE_ARGS -DBUILD_SHARED_LIBS:BOOL=ON -DENABLE_EXPORT=OFF -DQML_PLUGIN_PATH=${PROJECT_BINARY_DIR}/plugins/)
find_package(Qt5 COMPONENTS Gui Qml Quick LinguistTools)
find_package(SailfishApp 1.0 REQUIRED)
set(harbour-sailfin_SOURCES
src/harbour-sailfin.cpp)
set(sailfin_QML_SOURCES
qml/Constants.qml
qml/Utils.js
qml/components/music/NarrowAlbumCover.qml
qml/components/music/WideAlbumCover.qml
qml/components/music/SongDelegate.qml
qml/components/videoplayer/VideoError.qml
qml/components/videoplayer/VideoHud.qml
qml/components/ContributorsSection.qml
qml/components/IconListItem.qml
qml/components/ItemChildrenShowcase.qml
qml/components/JItem.qml
qml/components/LibraryItemDelegate.qml
qml/components/MoreSection.qml
qml/components/PlainLabel.qml
qml/components/PlaybackBar.qml
qml/components/PlayQueue.qml
qml/components/PlayToolbar.qml
qml/components/RemoteImage.qml
qml/components/Shim.qml
qml/components/UserGridDelegate.qml
qml/components/VideoPlayer.qml
qml/components/VideoTrackSelector.qml
qml/cover/CollectionPage.qml
qml/cover/PosterCover.qml
qml/cover/NowPlayingCover.qml
qml/pages/LegalPage.qml
qml/pages/MainPage.qml
qml/pages/AboutPage.qml
qml/harbour-sailfin.qml
qml/pages/ConnectingPage.qml
qml/pages/ControllableDevicesPage.qml
qml/pages/QuickConnectDialog.qml
qml/pages/SettingsPage.qml
qml/pages/VideoPage.qml
qml/pages/itemdetails/BaseDetailPage.qml
qml/pages/itemdetails/CollectionPage.qml
qml/pages/itemdetails/EpisodePage.qml
qml/pages/itemdetails/FilmPage.qml
qml/pages/itemdetails/LiveTvChannelPage.qml
qml/pages/itemdetails/LiveTvChannelsPage.qml
qml/pages/itemdetails/MusicAlbumPage.qml
qml/pages/itemdetails/MusicArtistPage.qml
qml/pages/itemdetails/MusicLibraryPage.qml
qml/pages/itemdetails/PhotoPage.qml
qml/pages/itemdetails/SeasonPage.qml
qml/pages/itemdetails/SeriesPage.qml
qml/pages/itemdetails/UnsupportedPage.qml
qml/pages/itemdetails/VideoPage.qml
qml/pages/settings/DebugPage.qml
qml/pages/settings/StreamingPage.qml
qml/pages/setup/AddServerConnectingPage.qml
qml/pages/setup/AddServerPage.qml
qml/pages/setup/LoginDialog.qml
qml/qmldir)
set(TRANSLATION_SOURCE_FILES
${harbour-sailfin_SOURCES}
${sailfin_QML_SOURCES}
)
set(TRANSLATION_TS_FILES
translations/harbour-sailfin.ts
translations/harbour-sailfin-de.ts
translations/harbour-sailfin-ru.ts
)
qt5_create_translation(TRANSLATION_QM_FILES
${TRANSLATION_SOURCE_FILES}
${TRANSLATION_TS_FILES})
add_custom_target(translations ALL DEPENDS ${TRANSLATION_QM_FILES})
add_executable(harbour-sailfin ${harbour-sailfin_SOURCES} ${sailfin_QML_SOURCES})
target_link_libraries(harbour-sailfin PRIVATE Qt5::Gui Qt5::Qml Qt5::Quick SailfishApp::SailfishApp
# Note: this may break when the compiler changes. -rdynamic and -pie seem to be needed for the
# invoker/booster to work
JellyfinQt "-Wl,-rpath,${CMAKE_INSTALL_LIBDIR} -rdynamic -pie")
target_compile_definitions(harbour-sailfin
PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
install(TARGETS harbour-sailfin
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(DIRECTORY ${PROJECT_BINARY_DIR}/plugins/
DESTINATION share/harbour-sailfin/)
install(DIRECTORY qml
DESTINATION share/harbour-sailfin
)
install(FILES ${TRANSLATION_QM_FILES}
DESTINATION share/harbour-sailfin/translations
)
install(FILES harbour-sailfin.desktop
DESTINATION share/applications
)
install(FILES icons/86x86/harbour-sailfin.png
DESTINATION share/icons/hicolor/86x86/apps
)
install(FILES icons/108x108/harbour-sailfin.png
DESTINATION share/icons/hicolor/108x108/apps )
install(FILES icons/128x128/harbour-sailfin.png
DESTINATION share/icons/hicolor/128x128/apps
)
install(FILES icons/172x172/harbour-sailfin.png
DESTINATION share/icons/hicolor/172x172/apps )
# Tell Qt Creator where the application executable(s) would be located on the
# device.
#
# It is not necessary to list other deployables than executables (runtime
# targets) here. The deployment process of Sailfish OS projects is opaque to
# Qt Creator and the information contained in QtCreatorDeployment.txt is only
# used to locate the executable associated with the active run configuration
# on the device in order to run it.
#
# Search the Qt Creator Manual to learn about the QtCreatorDeployment.txt file
# format.
file(WRITE "${CMAKE_BINARY_DIR}/QtCreatorDeployment.txt"
"${CMAKE_INSTALL_PREFIX}\n${CMAKE_BINARY_DIR}/sailfish/harbour-sailfin:bin")