Files
scheincommander/CMakeLists.txt
2023-03-05 02:26:49 +01:00

92 lines
2.6 KiB
CMake

cmake_minimum_required(VERSION 3.16)
project(scheincommander VERSION 0.1 LANGUAGES CXX)
set(CMAKE_AUTOMOC ON)
#set(CMAKE_CXX_STANDARD 20)
#set(CMAKE_CXX_STANDARD_REQUIRED ON)
#set(CMAKE_CXX_EXTENSIONS ON)
add_compile_options(-std=c++2b)
find_program(CCACHE_FOUND ccache)
if(CCACHE_FOUND)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
endif(CCACHE_FOUND)
find_package(Qt6 6.4 REQUIRED COMPONENTS Quick SerialPort)
qt_standard_project_setup()
qt_add_executable(appscheincommander
main.cpp
devicetypesmodel.h devicetypesmodel.cpp
dmxcontroller.h dmxcontroller.cpp
dmxcontrollerthread.h dmxcontrollerthread.cpp
lightproject.h lightproject.cpp
devicesmodel.h devicesmodel.cpp
devicetyperegistersmodel.h devicetyperegistersmodel.cpp
presetsmodel.h presetsmodel.cpp
deviceregistervaluehelper.h deviceregistervaluehelper.cpp
projectloader.h projectloader.cpp
scheincommandersettings.h scheincommandersettings.cpp
iconutils.h iconutils.cpp
presetstepsmodel.h presetstepsmodel.cpp
patternmaker.h patternmaker.cpp
)
qt_add_qml_module(appscheincommander
URI scheincommander
VERSION 1.0
RESOURCES
scheincommander.png
scheincommander.ico
icons/movinghead.png
icons/nebelmaschine.png
icons/rgbstrahler.png
ui-icons/MaterialIcons-Regular.ttf
QML_FILES
main.qml
HomePage.qml
SettingsPage.qml
IconChooserDelegateLayout.qml
LightControlWindow.qml
LightSliderPane.qml
EditableListView.qml
DeviceTypesSettingsPage.qml
DevicesSettingsPage.qml
Vector3DField.qml
DmxSlider.qml
StatusBar.qml
PresetsSettingsPage.qml
IconComboBox.qml
IconsModel.qml
DeviceTypeRegisterTypesModel.qml
LampRegistersPanel.qml
AnimatedInputPanel.qml
AnimatedStackView.qml
Devices3dView.qml
DoubleSpinBox.qml
TorchControlPage.qml
)
add_definitions(-DCMAKE_PROJECT_VERSION=${CMAKE_PROJECT_VERSION})
set_target_properties(appscheincommander PROPERTIES
MACOSX_BUNDLE_GUI_IDENTIFIER my.example.com
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
MACOSX_BUNDLE TRUE
WIN32_EXECUTABLE TRUE
)
target_link_libraries(appscheincommander
PRIVATE
Qt6::Quick
Qt6::SerialPort
)
install(TARGETS appscheincommander
BUNDLE DESTINATION .
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})