Inial python script actor implementation

This commit is contained in:
Carl Philipp Klemm 2026-06-09 19:38:12 +02:00
parent 45676b3384
commit 3df91cc73d
331 changed files with 99399 additions and 5 deletions

View file

@ -12,11 +12,17 @@ add_compile_options(-Wall)
# Find Qt packages
find_package(Qt6 COMPONENTS Core Gui Widgets Network Multimedia SerialPort Mqtt WebSockets REQUIRED)
# Find Python
find_package(Python3 COMPONENTS Interpreter Development REQUIRED)
# Find dependencies using pkg-config
find_package(PkgConfig REQUIRED)
pkg_check_modules(PIPEWIRE REQUIRED libpipewire-0.3)
pkg_check_modules(LIBNL3 REQUIRED libnl-3.0 libnl-genl-3.0)
# QCodeEditor
add_subdirectory(src/external/QCodeEditor)
# Enable automatic moc and uic processing
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
@ -65,6 +71,8 @@ set(SHINTERFACE_CORE_SOURCES
src/actors/regulator.cpp
src/actors/timeractor.h
src/actors/timeractor.cpp
src/actors/scriptactor.h
src/actors/scriptactor.cpp
src/sensors/sensor.h
src/sensors/sensor.cpp
@ -110,6 +118,8 @@ target_link_libraries(smartvos_core
Qt6::WebSockets
${PIPEWIRE_LIBRARIES}
${LIBNL3_LIBRARIES}
Python3::Python
QCodeEditor
)
# Add include paths to static library
@ -159,6 +169,10 @@ add_executable(smartvos
src/ui/actorwidgets/alarmwidget.cpp
src/ui/actorwidgets/regulatorwdiget.h
src/ui/actorwidgets/regulatorwdiget.cpp
src/ui/actorwidgets/scriptactorwidget.h
src/ui/actorwidgets/scriptactorwidget.cpp
src/ui/scripteditordialog.h
src/ui/scripteditordialog.cpp
src/ui/itemsettingswidgets/messageitemsettingswidget.h
src/ui/itemsettingswidgets/messageitemsettingswidget.cpp
@ -185,6 +199,7 @@ target_sources(smartvos
src/ui/actorwidgets/timeractorwidget.ui
src/ui/actorwidgets/alarmwidget.ui
src/ui/actorwidgets/regulatorwdiget.ui
src/ui/actorwidgets/scriptactorwidget.ui
src/ui/itemsettingswidgets/messageitemsettingswidget.ui
src/ui/itemsettingswidgets/relayitemsettingswidget.ui
src/ui/itemsettingswidgets/systemitemsettingswidget.ui
@ -210,6 +225,7 @@ target_link_libraries(smartvos
Qt6::WebSockets
${PIPEWIRE_LIBRARIES}
${LIBNL3_LIBRARIES}
Python3::Python
)
# Add include paths