Hyperion Light updates (#1434)

* Hyperion Light - Allow hyperion remote as component

* Fix missing guard

* NSIS installation via Choco removed because already installed on windows server 2022

* Correct CMAKEList defaults

* Align package creation with build rules for components

* Fix Copy/Paste issue

Co-authored-by: Paulchen Panther <Paulchen-Panter@protonmail.com>
This commit is contained in:
LordGrey 2022-03-05 15:18:01 +01:00 committed by GitHub
parent 14b6a114bb
commit 5cd3881067
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 143 additions and 118 deletions

View File

@ -159,10 +159,10 @@ jobs:
path: C:\Users\runneradmin\AppData\Local\Temp\chocolatey path: C:\Users\runneradmin\AppData\Local\Temp\chocolatey
key: ${{ runner.os }}-chocolatey key: ${{ runner.os }}-chocolatey
- name: Install Python, NSIS, OpenSSL, DirectX SDK - name: Install Python, OpenSSL, DirectX SDK
shell: powershell shell: powershell
run: | run: |
choco install --no-progress python nsis openssl directx-sdk -y choco install --no-progress python openssl directx-sdk -y
- name: Install libjpeg-turbo - name: Install libjpeg-turbo
run: | run: |

View File

@ -122,10 +122,10 @@ jobs:
path: C:\Users\runneradmin\AppData\Local\Temp\chocolatey path: C:\Users\runneradmin\AppData\Local\Temp\chocolatey
key: ${{ runner.os }}-chocolatey key: ${{ runner.os }}-chocolatey
- name: Install Python, NSIS, OpenSSL, DirectX SDK - name: Install Python, OpenSSL, DirectX SDK
shell: powershell shell: powershell
run: | run: |
choco install --no-progress python nsis openssl directx-sdk -y choco install --no-progress python openssl directx-sdk -y
- name: Install libjpeg-turbo - name: Install libjpeg-turbo
run: | run: |

View File

@ -72,6 +72,7 @@ SET ( DEFAULT_DEV_WS281XPWM OFF )
SET ( DEFAULT_AVAHI ON ) SET ( DEFAULT_AVAHI ON )
SET ( DEFAULT_EFFECTENGINE ON ) SET ( DEFAULT_EFFECTENGINE ON )
SET ( DEFAULT_EXPERIMENTAL OFF ) SET ( DEFAULT_EXPERIMENTAL OFF )
SET ( DEFAULT_REMOTE_CTL ON )
# Build # Build
SET ( DEFAULT_JSONCHECKS ON ) SET ( DEFAULT_JSONCHECKS ON )
@ -296,10 +297,10 @@ message(STATUS "LED-Device options:")
addIndent(" - ") addIndent(" - ")
option(ENABLE_DEV_NETWORK "Enable the Network devices" ${DEFAULT_DEV_NETWORK} ) option(ENABLE_DEV_NETWORK "Enable the Network devices" ${DEFAULT_DEV_NETWORK} )
message(STATUS "DEFAULT_DEV_NETWORK = ${DEFAULT_DEV_NETWORK}") message(STATUS "ENABLE_DEV_NETWORK = ${ENABLE_DEV_NETWORK}")
option(ENABLE_DEV_SERIAL "Enable the Serial devices" ${DEFAULT_DEV_SERIAL} ) option(ENABLE_DEV_SERIAL "Enable the Serial devices" ${DEFAULT_DEV_SERIAL} )
message(STATUS "DEFAULT_DEV_SERIAL = ${DEFAULT_DEV_SERIAL}") message(STATUS "ENABLE_DEV_SERIAL = ${ENABLE_DEV_SERIAL}")
option(ENABLE_DEV_SPI "Enable the SPI device" ${DEFAULT_DEV_SPI} ) option(ENABLE_DEV_SPI "Enable the SPI device" ${DEFAULT_DEV_SPI} )
message(STATUS "ENABLE_DEV_SPI = ${ENABLE_DEV_SPI}") message(STATUS "ENABLE_DEV_SPI = ${ENABLE_DEV_SPI}")
@ -318,15 +319,18 @@ removeIndent()
message(STATUS "Services options:") message(STATUS "Services options:")
addIndent(" - ") addIndent(" - ")
option(ENABLE_EFFECTENGINE "Enable Effect-Engine" ${DEFAULT_EFFECTENGINE})
message(STATUS "ENABLE_EFFECTENGINE = " ${ENABLE_EFFECTENGINE})
option(ENABLE_AVAHI "Enable Zeroconf" ${DEFAULT_AVAHI}) option(ENABLE_AVAHI "Enable Zeroconf" ${DEFAULT_AVAHI})
message(STATUS "ENABLE_AVAHI = " ${ENABLE_AVAHI}) message(STATUS "ENABLE_AVAHI = " ${ENABLE_AVAHI})
option(ENABLE_EFFECTENGINE "Enable Effect-Engine" ${DEFAULT_EFFECTENGINE})
message(STATUS "ENABLE_EFFECTENGINE = " ${ENABLE_EFFECTENGINE})
option(ENABLE_EXPERIMENTAL "Compile experimental features" ${DEFAULT_EXPERIMENTAL}) option(ENABLE_EXPERIMENTAL "Compile experimental features" ${DEFAULT_EXPERIMENTAL})
message(STATUS "ENABLE_EXPERIMENTAL = ${ENABLE_EXPERIMENTAL}") message(STATUS "ENABLE_EXPERIMENTAL = ${ENABLE_EXPERIMENTAL}")
option(ENABLE_REMOTE_CTL "Enable Hyperion remote control" ${DEFAULT_REMOTE_CTL})
message(STATUS "ENABLE_REMOTE_CTL = " ${ENABLE_REMOTE_CTL})
removeIndent() removeIndent()
message(STATUS "Build options:") message(STATUS "Build options:")
@ -338,6 +342,12 @@ message(STATUS "ENABLE_JSONCHECKS = ${ENABLE_JSONCHECKS}")
option(ENABLE_DEPLOY_DEPENDENCIES "Deploy with dependencies" ${DEFAULT_DEPLOY_DEPENDENCIES}) option(ENABLE_DEPLOY_DEPENDENCIES "Deploy with dependencies" ${DEFAULT_DEPLOY_DEPENDENCIES})
message(STATUS "ENABLE_DEPLOY_DEPENDENCIES = ${ENABLE_DEPLOY_DEPENDENCIES}") message(STATUS "ENABLE_DEPLOY_DEPENDENCIES = ${ENABLE_DEPLOY_DEPENDENCIES}")
option(ENABLE_PROFILER "enable profiler capabilities - not for release code" OFF)
message(STATUS "ENABLE_PROFILER = ${ENABLE_PROFILER}")
option(ENABLE_TESTS "Compile additional test applications" ${DEFAULT_TESTS})
message(STATUS "ENABLE_TESTS = ${ENABLE_TESTS}")
if (ENABLE_AVAHI) if (ENABLE_AVAHI)
message(STATUS "DEFAULT_USE_SHARED_AVAHI_LIBS = ${DEFAULT_USE_SHARED_AVAHI_LIBS}") message(STATUS "DEFAULT_USE_SHARED_AVAHI_LIBS = ${DEFAULT_USE_SHARED_AVAHI_LIBS}")
endif() endif()
@ -345,12 +355,6 @@ message(STATUS "DEFAULT_USE_SYSTEM_FLATBUFFERS_LIBS = ${DEFAULT_USE_SYSTEM_FLATB
message(STATUS "DEFAULT_USE_SYSTEM_MBEDTLS_LIBS = ${DEFAULT_USE_SYSTEM_MBEDTLS_LIBS}") message(STATUS "DEFAULT_USE_SYSTEM_MBEDTLS_LIBS = ${DEFAULT_USE_SYSTEM_MBEDTLS_LIBS}")
message(STATUS "DEFAULT_USE_SYSTEM_PROTO_LIBS = ${DEFAULT_USE_SYSTEM_PROTO_LIBS}") message(STATUS "DEFAULT_USE_SYSTEM_PROTO_LIBS = ${DEFAULT_USE_SYSTEM_PROTO_LIBS}")
option(ENABLE_PROFILER "enable profiler capabilities - not for release code" OFF)
message(STATUS "ENABLE_PROFILER = ${ENABLE_PROFILER}")
option(ENABLE_TESTS "Compile additional test applications" ${DEFAULT_TESTS})
message(STATUS "ENABLE_TESTS = ${ENABLE_TESTS}")
removeIndent() removeIndent()
SET ( FLATBUFFERS_INSTALL_BIN_DIR ${CMAKE_BINARY_DIR}/flatbuf ) SET ( FLATBUFFERS_INSTALL_BIN_DIR ${CMAKE_BINARY_DIR}/flatbuf )

View File

@ -78,6 +78,9 @@
// Define to enable experimental features // Define to enable experimental features
#cmakedefine ENABLE_EXPERIMENTAL #cmakedefine ENABLE_EXPERIMENTAL
// Define to enable Hyperion remote control
#cmakedefine ENABLE_REMOTE_CTL
// Define to enable profiler for development purpose // Define to enable profiler for development purpose
#cmakedefine ENABLE_PROFILER #cmakedefine ENABLE_PROFILER

View File

@ -138,34 +138,40 @@ SET ( CPACK_COMPONENTS_GROUPING "ALL_COMPONENTS_IN_ONE")
# Components base (All builds) # Components base (All builds)
SET ( CPACK_COMPONENTS_ALL "Hyperion" ) SET ( CPACK_COMPONENTS_ALL "Hyperion" )
SET ( CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} "hyperion_remote" )
# Optional compiled # Optional compiled
if(ENABLE_QT)
SET ( CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} "hyperion_qt" ) if(ENABLE_REMOTE_CTL)
endif() SET ( CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} "hyperion_remote" )
if(ENABLE_AMLOGIC)
SET ( CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} "hyperion_aml" )
endif()
if(ENABLE_V4L2)
SET ( CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} "hyperion_v4l2" )
endif()
if(ENABLE_X11)
SET ( CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} "hyperion_x11" )
endif()
if(ENABLE_XCB)
SET ( CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} "hyperion_xcb" )
endif()
if(ENABLE_DISPMANX)
SET ( CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} "hyperion_dispmanx" )
endif()
if(ENABLE_FB)
SET ( CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} "hyperion_framebuffer" )
endif()
if(ENABLE_OSX)
SET ( CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} "hyperion_osx" )
endif() endif()
# only include standalone grabber with build was with flatbuffer client
if(ENABLE_FLATBUF_CONNECT)
if(ENABLE_QT)
SET ( CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} "hyperion_qt" )
endif()
if(ENABLE_AMLOGIC)
SET ( CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} "hyperion_aml" )
endif()
if(ENABLE_V4L2)
SET ( CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} "hyperion_v4l2" )
endif()
if(ENABLE_X11)
SET ( CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} "hyperion_x11" )
endif()
if(ENABLE_XCB)
SET ( CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} "hyperion_xcb" )
endif()
if(ENABLE_DISPMANX)
SET ( CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} "hyperion_dispmanx" )
endif()
if(ENABLE_FB)
SET ( CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} "hyperion_framebuffer" )
endif()
if(ENABLE_OSX)
SET ( CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} "hyperion_osx" )
endif()
endif(ENABLE_FLATBUF_CONNECT)
# Only include Hyperion to macOS dmg package (without standalone programs) # Only include Hyperion to macOS dmg package (without standalone programs)
IF ( CPACK_GENERATOR MATCHES "DragNDrop" ) IF ( CPACK_GENERATOR MATCHES "DragNDrop" )
LIST ( REMOVE_ITEM CPACK_COMPONENTS_ALL "hyperion_remote" "hyperion_qt" "hyperion_osx" ) LIST ( REMOVE_ITEM CPACK_COMPONENTS_ALL "hyperion_remote" "hyperion_qt" "hyperion_osx" )
@ -182,8 +188,7 @@ INCLUDE ( CPack )
cpack_add_install_type(Full DISPLAY_NAME "Full") cpack_add_install_type(Full DISPLAY_NAME "Full")
cpack_add_install_type(Min DISPLAY_NAME "Minimal") cpack_add_install_type(Min DISPLAY_NAME "Minimal")
cpack_add_component_group(Runtime EXPANDED DESCRIPTION "Hyperion runtime and hyperion-remote commandline tool") cpack_add_component_group(Runtime EXPANDED DESCRIPTION "Hyperion runtime")
cpack_add_component_group(Screencapture EXPANDED DESCRIPTION "Standalone Screencapture commandline programs")
# Components base # Components base
cpack_add_component(Hyperion cpack_add_component(Hyperion
@ -194,84 +199,92 @@ cpack_add_component(Hyperion
REQUIRED REQUIRED
) )
# optional components
if(ENABLE_REMOTE_CTL)
cpack_add_component_group(Remote DESCRIPTION "hyperion-remote commandline tool")
cpack_add_component(hyperion_remote cpack_add_component(hyperion_remote
DISPLAY_NAME "Hyperion Remote" DISPLAY_NAME "Hyperion Remote"
DESCRIPTION "Hyperion remote cli tool" DESCRIPTION "Hyperion remote cli tool"
INSTALL_TYPES Full INSTALL_TYPES Full
GROUP Runtime GROUP Remote
DEPENDS Hyperion DEPENDS Hyperion
) )
endif()
# optional compiled # only include standalone grabber with build was with flatbuffer client
if(ENABLE_QT) if(ENABLE_FLATBUF_CONNECT)
cpack_add_component(hyperion_qt cpack_add_component_group(Screencapture EXPANDED DESCRIPTION "Standalone Screencapture commandline programs")
DISPLAY_NAME "Qt Standalone Screencap" if(ENABLE_QT)
DESCRIPTION "Qt based standalone screen capture" cpack_add_component(hyperion_qt
INSTALL_TYPES Full DISPLAY_NAME "Qt Standalone Screencap"
GROUP Screencapture DESCRIPTION "Qt based standalone screen capture"
DEPENDS Hyperion INSTALL_TYPES Full
) GROUP Screencapture
endif() DEPENDS Hyperion
if(ENABLE_AMLOGIC) )
cpack_add_component(hyperion_aml endif()
DISPLAY_NAME "Amlogic Standalone Screencap" if(ENABLE_AMLOGIC)
DESCRIPTION "Amlogic based standalone screen capture" cpack_add_component(hyperion_aml
INSTALL_TYPES Full DISPLAY_NAME "Amlogic Standalone Screencap"
GROUP Screencapture DESCRIPTION "Amlogic based standalone screen capture"
DEPENDS Hyperion INSTALL_TYPES Full
) GROUP Screencapture
endif() DEPENDS Hyperion
if(ENABLE_V4L2) )
cpack_add_component(hyperion_v4l2 endif()
DISPLAY_NAME "V4l2 Standalone Screencap" if(ENABLE_V4L2)
DESCRIPTION "Video for Linux 2 based standalone screen capture" cpack_add_component(hyperion_v4l2
INSTALL_TYPES Full DISPLAY_NAME "V4l2 Standalone Screencap"
GROUP Screencapture DESCRIPTION "Video for Linux 2 based standalone screen capture"
DEPENDS Hyperion INSTALL_TYPES Full
) GROUP Screencapture
endif() DEPENDS Hyperion
if(ENABLE_X11) )
cpack_add_component(hyperion_x11 endif()
DISPLAY_NAME "X11 Standalone Screencap" if(ENABLE_X11)
DESCRIPTION "X11 based standalone screen capture" cpack_add_component(hyperion_x11
INSTALL_TYPES Full DISPLAY_NAME "X11 Standalone Screencap"
GROUP Screencapture DESCRIPTION "X11 based standalone screen capture"
DEPENDS Hyperion INSTALL_TYPES Full
) GROUP Screencapture
endif() DEPENDS Hyperion
if(ENABLE_X11) )
cpack_add_component(hyperion_xcb endif()
DISPLAY_NAME "XCB Standalone Screencap" if(ENABLE_XCB)
DESCRIPTION "XCB based standalone screen capture" cpack_add_component(hyperion_xcb
INSTALL_TYPES Full DISPLAY_NAME "XCB Standalone Screencap"
GROUP Screencapture DESCRIPTION "XCB based standalone screen capture"
DEPENDS Hyperion INSTALL_TYPES Full
) GROUP Screencapture
endif() DEPENDS Hyperion
if(ENABLE_DISPMANX) )
cpack_add_component(hyperion_dispmanx endif()
DISPLAY_NAME "RPi dispmanx Standalone Screencap" if(ENABLE_DISPMANX)
DESCRIPTION "Raspbery Pi dispmanx based standalone screen capture" cpack_add_component(hyperion_dispmanx
INSTALL_TYPES Full DISPLAY_NAME "RPi dispmanx Standalone Screencap"
GROUP Screencapture DESCRIPTION "Raspbery Pi dispmanx based standalone screen capture"
DEPENDS Hyperion INSTALL_TYPES Full
) GROUP Screencapture
endif() DEPENDS Hyperion
if(ENABLE_FB) )
cpack_add_component(hyperion_framebuffer endif()
DISPLAY_NAME "Framebuffer Standalone Screencap" if(ENABLE_FB)
DESCRIPTION "Framebuffer based standalone screen capture" cpack_add_component(hyperion_framebuffer
INSTALL_TYPES Full DISPLAY_NAME "Framebuffer Standalone Screencap"
GROUP Screencapture DESCRIPTION "Framebuffer based standalone screen capture"
DEPENDS Hyperion INSTALL_TYPES Full
) GROUP Screencapture
endif() DEPENDS Hyperion
if(ENABLE_OSX) )
cpack_add_component(hyperion_osx endif()
DISPLAY_NAME "Mac osx Standalone Screencap" if(ENABLE_OSX)
DESCRIPTION "Mac osx based standalone screen capture" cpack_add_component(hyperion_osx
INSTALL_TYPES Full DISPLAY_NAME "Mac osx Standalone Screencap"
GROUP Screencapture DESCRIPTION "Mac osx based standalone screen capture"
DEPENDS Hyperion INSTALL_TYPES Full
) GROUP Screencapture
endif() DEPENDS Hyperion
)
endif()
endif(ENABLE_FLATBUF_CONNECT)

View File

@ -1,4 +1,6 @@
add_subdirectory(build/hidapi) if (ENABLE_DEV_USB_HID)
add_subdirectory(build/hidapi)
endif()
if (ENABLE_DEV_TINKERFORGE) if (ENABLE_DEV_TINKERFORGE)
add_subdirectory(build/tinkerforge) add_subdirectory(build/tinkerforge)

View File

@ -1,7 +1,10 @@
add_subdirectory(hyperiond) add_subdirectory(hyperiond)
add_subdirectory(hyperion-remote)
# The following binaries are just compiled if requested # The following binaries are just compiled if requested
if (ENABLE_REMOTE_CTL)
add_subdirectory(hyperion-remote)
endif()
if (ENABLE_AMLOGIC AND ENABLE_FLATBUF_CONNECT) if (ENABLE_AMLOGIC AND ENABLE_FLATBUF_CONNECT)
add_subdirectory(hyperion-aml) add_subdirectory(hyperion-aml)
endif() endif()