Files
Button/CMakeLists.txt
T
GrigoandClaude Opus 5.5 f07e153f09 Boot splash and periodic announcement banner
Splash: resources/splash/splash.gif built into the binary, played once by
SplashOverlay over a black cover present from the first frame (no UI
flash), then fades into the UI; hides icons loading. GIF, so no
QtMultimedia/gstreamer. Toggle: splash.enabled.

Banner (InfoBanner): metro-style band that fades/slides in with a hold
pictogram; text that does not fit runs as a seamless ticker for two
rounds. Never takes touches; hidden during splash and settings. Config
section banner (enabled, text, intervalSec, showSec, position,
accentColor), editable in the web UI and on-device settings; shown once
after saving.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 10:58:16 +00:00

97 lines
2.2 KiB
CMake

cmake_minimum_required(VERSION 3.10)
project(ButtonTask VERSION 2.5 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
find_package(Qt5 5.9 REQUIRED COMPONENTS Core Quick Qml Network)
set(SOURCES
main.cpp
src/configmanager.cpp
src/configmanager.h
src/buttonsmodel.cpp
src/buttonsmodel.h
src/buttoncontroller.cpp
src/buttoncontroller.h
src/responsecheck.cpp
src/responsecheck.h
src/settingscontainer.cpp
src/settingscontainer.h
src/systeminfo.cpp
src/systeminfo.h
src/sensorsbridge.cpp
src/sensorsbridge.h
src/uiidlewatch.cpp
src/uiidlewatch.h
src/sdwatchdog.cpp
src/sdwatchdog.h
src/recoverygesture.cpp
src/recoverygesture.h
)
set(RESOURCES
resources/qml.qrc
resources/icons.qrc
resources/splash.qrc
)
add_executable(ButtonTask ${SOURCES} ${RESOURCES})
target_include_directories(ButtonTask PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/src
)
target_link_libraries(ButtonTask PRIVATE
Qt5::Core
Qt5::Quick
Qt5::Qml
Qt5::Network
)
include(GNUInstallDirs)
install(TARGETS ButtonTask
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
install(FILES config/config.json
DESTINATION ${CMAKE_INSTALL_BINDIR}/config
)
install(DIRECTORY resources/default-icons/
DESTINATION ${CMAKE_INSTALL_BINDIR}/icons
FILES_MATCHING PATTERN "*.png" PATTERN "*.jpg"
)
install(DIRECTORY webconfig/
DESTINATION share/buttontask/webconfig
)
install(DIRECTORY collector/
DESTINATION share/buttontask/collector
PATTERN "__pycache__" EXCLUDE
PATTERN "wheels/*.whl" EXCLUDE
)
# Privileged helper scripts (network + OTA). Installed with execute perms so
# they work even when the source tree was checked out on a non-POSIX host.
install(PROGRAMS
webconfig/scripts/bt-netconfig
webconfig/scripts/bt-update
webconfig/scripts/bt-service
webconfig/scripts/bt-access
webconfig/scripts/bt-brightness
webconfig/scripts/bt-settime
webconfig/scripts/bt-reboot
webconfig/scripts/make-package.sh
DESTINATION share/buttontask/scripts
)
install(FILES webconfig/scripts/buttontask.sudoers
DESTINATION share/buttontask/scripts
)