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 Multimedia) set(SOURCES main.cpp src/configmanager.cpp src/configmanager.h src/buttonsmodel.cpp src/buttonsmodel.h src/buttoncontroller.cpp src/buttoncontroller.h src/audiorecorder.cpp src/audiorecorder.h src/responsecheck.cpp src/responsecheck.h src/settingscontainer.cpp src/settingscontainer.h src/systeminfo.cpp src/systeminfo.h ) set(RESOURCES resources/qml.qrc resources/icons.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 Qt5::Multimedia ) 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 ) # 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 )