2021-10-16 14:07:36 +02:00
|
|
|
macro(DeployMacOS TARGET)
|
|
|
|
if (EXISTS ${TARGET_FILE})
|
|
|
|
message(STATUS "Collecting Dependencies for target file: ${TARGET_FILE}")
|
|
|
|
|
2021-11-16 18:12:56 +01:00
|
|
|
get_target_property(QMAKE_EXECUTABLE Qt${QT_VERSION_MAJOR}::qmake IMPORTED_LOCATION)
|
2021-10-16 14:07:36 +02:00
|
|
|
execute_process(
|
|
|
|
COMMAND ${QMAKE_EXECUTABLE} -query QT_INSTALL_PLUGINS
|
|
|
|
OUTPUT_VARIABLE QT_PLUGIN_DIR
|
|
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
|
|
)
|
|
|
|
|
2022-05-22 08:01:49 +02:00
|
|
|
install(CODE "set(TARGET_FILE \"${TARGET_FILE}\")" COMPONENT "Hyperion")
|
|
|
|
install(CODE "set(TARGET_BUNDLE_NAME \"${TARGET}.app\")" COMPONENT "Hyperion")
|
|
|
|
install(CODE "set(PLUGIN_DIR \"${QT_PLUGIN_DIR}\")" COMPONENT "Hyperion")
|
|
|
|
install(CODE "set(BUILD_DIR \"${CMAKE_BINARY_DIR}\")" COMPONENT "Hyperion")
|
|
|
|
install(CODE "set(ENABLE_EFFECTENGINE \"${ENABLE_EFFECTENGINE}\")" COMPONENT "Hyperion")
|
|
|
|
|
2021-10-16 14:07:36 +02:00
|
|
|
install(CODE [[
|
2022-05-22 08:01:49 +02:00
|
|
|
|
|
|
|
file(GET_RUNTIME_DEPENDENCIES
|
|
|
|
EXECUTABLES ${TARGET_FILE}
|
|
|
|
RESOLVED_DEPENDENCIES_VAR resolved_deps
|
|
|
|
UNRESOLVED_DEPENDENCIES_VAR unresolved_deps
|
2021-10-16 14:07:36 +02:00
|
|
|
)
|
2022-05-22 08:01:49 +02:00
|
|
|
|
|
|
|
foreach(dependency ${resolved_deps})
|
|
|
|
string(FIND ${dependency} "dylib" _index)
|
|
|
|
if (${_index} GREATER -1)
|
|
|
|
file(INSTALL
|
|
|
|
FILES "${dependency}"
|
|
|
|
DESTINATION "${CMAKE_INSTALL_PREFIX}/${TARGET_BUNDLE_NAME}/Contents/Frameworks"
|
|
|
|
TYPE SHARED_LIBRARY
|
|
|
|
)
|
|
|
|
else()
|
2021-10-16 14:07:36 +02:00
|
|
|
file(INSTALL
|
2022-05-22 08:01:49 +02:00
|
|
|
FILES "${dependency}"
|
|
|
|
DESTINATION "${CMAKE_INSTALL_PREFIX}/${TARGET_BUNDLE_NAME}/Contents/lib"
|
2021-10-16 14:07:36 +02:00
|
|
|
TYPE SHARED_LIBRARY
|
|
|
|
)
|
2022-05-22 08:01:49 +02:00
|
|
|
endif()
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
list(LENGTH unresolved_deps unresolved_length)
|
|
|
|
if("${unresolved_length}" GREATER 0)
|
|
|
|
MESSAGE("The following unresolved dependencies were discovered: ${unresolved_deps}")
|
2021-10-16 14:07:36 +02:00
|
|
|
endif()
|
2022-02-11 20:36:15 +01:00
|
|
|
|
2022-05-22 08:01:49 +02:00
|
|
|
foreach(PLUGIN "platforms" "sqldrivers" "imageformats")
|
|
|
|
if(EXISTS ${PLUGIN_DIR}/${PLUGIN})
|
|
|
|
file(GLOB files "${PLUGIN_DIR}/${PLUGIN}/*")
|
2023-10-01 21:56:53 +02:00
|
|
|
list(FILTER files EXCLUDE REGEX ".*libqwebp\\.dylib$")
|
2022-05-22 08:01:49 +02:00
|
|
|
foreach(file ${files})
|
|
|
|
file(GET_RUNTIME_DEPENDENCIES
|
|
|
|
EXECUTABLES ${file}
|
|
|
|
RESOLVED_DEPENDENCIES_VAR PLUGINS
|
|
|
|
UNRESOLVED_DEPENDENCIES_VAR unresolved_deps
|
|
|
|
)
|
|
|
|
|
|
|
|
foreach(DEPENDENCY ${PLUGINS})
|
|
|
|
file(INSTALL
|
|
|
|
DESTINATION "${CMAKE_INSTALL_PREFIX}/${TARGET_BUNDLE_NAME}/Contents/lib"
|
|
|
|
TYPE SHARED_LIBRARY
|
|
|
|
FILES ${DEPENDENCY}
|
|
|
|
)
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
get_filename_component(singleQtLib ${file} NAME)
|
|
|
|
list(APPEND QT_PLUGINS "${CMAKE_INSTALL_PREFIX}/${TARGET_BUNDLE_NAME}/Contents/plugins/${PLUGIN}/${singleQtLib}")
|
|
|
|
file(INSTALL
|
|
|
|
FILES ${file}
|
|
|
|
DESTINATION "${CMAKE_INSTALL_PREFIX}/${TARGET_BUNDLE_NAME}/Contents/plugins/${PLUGIN}"
|
|
|
|
TYPE SHARED_LIBRARY
|
|
|
|
)
|
|
|
|
|
|
|
|
endforeach()
|
|
|
|
endif()
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
include(BundleUtilities)
|
|
|
|
fixup_bundle("${CMAKE_INSTALL_PREFIX}/${TARGET_BUNDLE_NAME}" "${QT_PLUGINS}" "${CMAKE_INSTALL_PREFIX}/${TARGET_BUNDLE_NAME}/Contents/lib" IGNORE_ITEM "python;python3;Python;Python3;.Python;.Python3")
|
|
|
|
|
|
|
|
if(ENABLE_EFFECTENGINE)
|
|
|
|
|
|
|
|
# Detect the Python version and modules directory
|
|
|
|
find_package(Python3 3.5 REQUIRED)
|
|
|
|
execute_process(
|
|
|
|
COMMAND ${Python3_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(standard_lib=True))"
|
|
|
|
OUTPUT_VARIABLE PYTHON_MODULES_DIR
|
|
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
2022-02-11 20:36:15 +01:00
|
|
|
)
|
2022-05-22 08:01:49 +02:00
|
|
|
|
|
|
|
MESSAGE("Add Python ${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR} to bundle")
|
|
|
|
MESSAGE("PYTHON_MODULES_DIR: ${PYTHON_MODULES_DIR}")
|
|
|
|
|
|
|
|
# Copy Python modules to '/../Frameworks/Python.framework/Versions/Current/lib/PythonMAJOR.MINOR' and ignore the unnecessary stuff listed below
|
|
|
|
if (PYTHON_MODULES_DIR)
|
|
|
|
set(PYTHON_VERSION_MAJOR_MINOR "${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}")
|
|
|
|
file(
|
|
|
|
COPY ${PYTHON_MODULES_DIR}/
|
|
|
|
DESTINATION "${CMAKE_INSTALL_PREFIX}/${TARGET_BUNDLE_NAME}/Contents/Frameworks/Python.framework/Versions/Current/lib/python${PYTHON_VERSION_MAJOR_MINOR}"
|
|
|
|
PATTERN "*.pyc" EXCLUDE # compiled bytecodes
|
|
|
|
PATTERN "__pycache__" EXCLUDE # any cache
|
|
|
|
PATTERN "config-${PYTHON_VERSION_MAJOR_MINOR}*" EXCLUDE # static libs
|
|
|
|
PATTERN "lib2to3" EXCLUDE # automated Python 2 to 3 code translation
|
|
|
|
PATTERN "tkinter" EXCLUDE # Tk interface
|
|
|
|
PATTERN "turtledemo" EXCLUDE # Tk demo folder
|
|
|
|
PATTERN "turtle.py" EXCLUDE # Tk demo file
|
|
|
|
PATTERN "test" EXCLUDE # unittest module
|
|
|
|
PATTERN "sitecustomize.py" EXCLUDE # site-specific configs
|
|
|
|
)
|
|
|
|
endif(PYTHON_MODULES_DIR)
|
|
|
|
endif(ENABLE_EFFECTENGINE)
|
|
|
|
|
|
|
|
file(REMOVE_RECURSE "${CMAKE_INSTALL_PREFIX}/${TARGET_BUNDLE_NAME}/Contents/lib")
|
|
|
|
file(REMOVE_RECURSE "${CMAKE_INSTALL_PREFIX}/share")
|
|
|
|
|
2021-10-16 14:07:36 +02:00
|
|
|
]] COMPONENT "Hyperion")
|
|
|
|
|
|
|
|
else()
|
|
|
|
add_custom_command(
|
|
|
|
TARGET ${TARGET} POST_BUILD
|
|
|
|
COMMAND "${CMAKE_COMMAND}" "-DTARGET_FILE=$<TARGET_FILE:${TARGET}>"
|
|
|
|
ARGS ${CMAKE_SOURCE_DIR}
|
|
|
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
|
|
|
VERBATIM
|
|
|
|
)
|
|
|
|
endif()
|
|
|
|
endmacro()
|
|
|
|
|
|
|
|
macro(DeployLinux TARGET)
|
2021-07-17 20:55:16 +02:00
|
|
|
if (EXISTS ${TARGET_FILE})
|
2020-07-12 09:26:28 +02:00
|
|
|
message(STATUS "Collecting Dependencies for target file: ${TARGET_FILE}")
|
2020-05-12 19:51:19 +02:00
|
|
|
include(GetPrerequisites)
|
|
|
|
|
2020-07-12 09:26:28 +02:00
|
|
|
set(SYSTEM_LIBS_SKIP
|
2023-07-21 16:45:37 +02:00
|
|
|
"libatomic"
|
2020-07-12 09:26:28 +02:00
|
|
|
"libc"
|
2023-07-21 16:45:37 +02:00
|
|
|
"libdbus"
|
2020-07-12 09:26:28 +02:00
|
|
|
"libdl"
|
|
|
|
"libexpat"
|
|
|
|
"libfontconfig"
|
|
|
|
"libgcc_s"
|
|
|
|
"libgcrypt"
|
2023-07-21 16:45:37 +02:00
|
|
|
"libglib"
|
2020-07-12 09:26:28 +02:00
|
|
|
"libglib-2"
|
|
|
|
"libgpg-error"
|
2023-07-21 16:45:37 +02:00
|
|
|
"liblz4"
|
|
|
|
"liblzma"
|
2020-07-12 09:26:28 +02:00
|
|
|
"libm"
|
2023-07-21 16:45:37 +02:00
|
|
|
"libpcre"
|
|
|
|
"libpcre2"
|
2020-07-12 09:26:28 +02:00
|
|
|
"libpthread"
|
|
|
|
"librt"
|
|
|
|
"libstdc++"
|
2023-07-21 16:45:37 +02:00
|
|
|
"libsystemd"
|
2020-07-12 09:26:28 +02:00
|
|
|
"libudev"
|
2023-07-21 16:45:37 +02:00
|
|
|
"libusb"
|
2020-07-12 09:26:28 +02:00
|
|
|
"libusb-1"
|
|
|
|
"libutil"
|
2023-07-21 16:45:37 +02:00
|
|
|
"libuuid"
|
2020-07-27 19:10:32 +02:00
|
|
|
"libz"
|
2023-07-21 16:45:37 +02:00
|
|
|
)
|
2020-07-12 09:26:28 +02:00
|
|
|
|
2021-07-17 20:55:16 +02:00
|
|
|
if (ENABLE_DISPMANX)
|
2020-07-27 19:10:32 +02:00
|
|
|
list(APPEND SYSTEM_LIBS_SKIP "libcec")
|
|
|
|
endif()
|
|
|
|
|
2020-05-12 19:51:19 +02:00
|
|
|
# Extract dependencies ignoring the system ones
|
|
|
|
get_prerequisites(${TARGET_FILE} DEPENDENCIES 0 1 "" "")
|
2023-07-21 16:45:37 +02:00
|
|
|
|
|
|
|
message(STATUS "Dependencies for target file: ${DEPENDENCIES}")
|
|
|
|
|
2020-05-12 19:51:19 +02:00
|
|
|
# Append symlink and non-symlink dependencies to the list
|
|
|
|
set(PREREQUISITE_LIBS "")
|
|
|
|
foreach(DEPENDENCY ${DEPENDENCIES})
|
|
|
|
get_filename_component(resolved ${DEPENDENCY} NAME_WE)
|
|
|
|
list(FIND SYSTEM_LIBS_SKIP ${resolved} _index)
|
2021-11-16 18:12:56 +01:00
|
|
|
|
2020-05-12 19:51:19 +02:00
|
|
|
if (${_index} GREATER -1)
|
|
|
|
continue() # Skip system libraries
|
|
|
|
else()
|
|
|
|
gp_resolve_item("${TARGET_FILE}" "${DEPENDENCY}" "" "" resolved_file)
|
|
|
|
get_filename_component(resolved_file ${resolved_file} ABSOLUTE)
|
|
|
|
gp_append_unique(PREREQUISITE_LIBS ${resolved_file})
|
|
|
|
get_filename_component(file_canonical ${resolved_file} REALPATH)
|
|
|
|
gp_append_unique(PREREQUISITE_LIBS ${file_canonical})
|
|
|
|
endif()
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
# Append the OpenSSL library to the list
|
|
|
|
find_package(OpenSSL 1.0.0 REQUIRED)
|
|
|
|
if (OPENSSL_FOUND)
|
|
|
|
foreach(openssl_lib ${OPENSSL_LIBRARIES})
|
|
|
|
get_prerequisites(${openssl_lib} openssl_deps 0 1 "" "")
|
|
|
|
|
|
|
|
foreach(openssl_dep ${openssl_deps})
|
|
|
|
get_filename_component(resolved ${openssl_dep} NAME_WE)
|
|
|
|
list(FIND SYSTEM_LIBS_SKIP ${resolved} _index)
|
|
|
|
if (${_index} GREATER -1)
|
|
|
|
continue() # Skip system libraries
|
|
|
|
else()
|
|
|
|
gp_resolve_item("${openssl_lib}" "${openssl_dep}" "" "" resolved_file)
|
|
|
|
get_filename_component(resolved_file ${resolved_file} ABSOLUTE)
|
|
|
|
gp_append_unique(PREREQUISITE_LIBS ${resolved_file})
|
|
|
|
get_filename_component(file_canonical ${resolved_file} REALPATH)
|
|
|
|
gp_append_unique(PREREQUISITE_LIBS ${file_canonical})
|
|
|
|
endif()
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
gp_append_unique(PREREQUISITE_LIBS ${openssl_lib})
|
|
|
|
get_filename_component(file_canonical ${openssl_lib} REALPATH)
|
|
|
|
gp_append_unique(PREREQUISITE_LIBS ${file_canonical})
|
|
|
|
endforeach()
|
2023-07-21 16:45:37 +02:00
|
|
|
else()
|
|
|
|
message( WARNING "OpenSSL NOT found (https webserver will not work)")
|
2020-05-12 19:51:19 +02:00
|
|
|
endif(OPENSSL_FOUND)
|
|
|
|
|
2021-11-16 18:12:56 +01:00
|
|
|
# Detect the Qt plugin directory, source: https://github.com/lxde/lxqt-qtplugin/blob/master/src/CMakeLists.txt
|
|
|
|
if ( TARGET Qt${QT_VERSION_MAJOR}::qmake )
|
|
|
|
get_target_property(QT_QMAKE_EXECUTABLE Qt${QT_VERSION_MAJOR}::qmake IMPORTED_LOCATION)
|
|
|
|
execute_process(
|
|
|
|
COMMAND ${QT_QMAKE_EXECUTABLE} -query QT_INSTALL_PLUGINS
|
|
|
|
OUTPUT_VARIABLE QT_PLUGINS_DIR
|
|
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
mDNS Support (#1452)
* Allow build, if no grabbers are enabled
* Align available functions to right Qt version
* Update to next development version
* Align available functions to right Qt version
* fix workflows (apt/nightly)
* Disable QNetworkConfigurationManager deprecation warnings
* Initial go on Smart Pointers
* Add Deallocation
* Correct QT_WARNING_DISABLE_DEPRECATED (available since 5.9)
* Cluster Build Variables
* Hyperion Light
* Address build warnings
* Hyperion Light - UI
* Update Protobuf to latest master
* Removed compiler warnings
* Added restart ability to systray
* Correct Protobuf
* Ignore 'no-return' warning on protobuf build
* hyperion-remote: Fix auto discovery of hyperion server
* Fix Qt version override
* Update changelog
* Remove Grabber Components, if no Grabber exists
* Standalone Grabber - Fix fps default
* Remote Control - Have Source Selction accrosswhole screen
* Enable Blackborder detection only, if relevant input sources available
* Enable Blackborder detection only, if relevant input sources available
* Remote UI - rearrange containers
* Checkout
* Fix compilation on windows
* Re-added qmdnsengine template cmake
* chrono added for linux
* Removed existing AVAHI/Bonjour, allow to enable/disable mDNS
* hyperiond macos typo fix
* Fix macOS Bundle build
* Fix macOS bundle info details
* Correct CMake files
* Removed existing AVAHI/Bonjour (2)
* Share hyperion's services via mDNS
* Add mDNS Browser and mDNS for LED-Devices
* Support mDNS discovery for standalone grabbers
* Remove ZLib Dependency & Cleanup
* mDNS - hanle 2.local2 an ".local." domains equally
* Hue - Link discovery to bridge class, workaround port 443 for mDNS discovery
* Fix save button state when switching between devices
* Removed sessions (of other hyperions)
* mDNS Publisher - Simplify service naming
* mDNS refactoring & Forwarder discovery
* mDNS Updates to use device service name
* Consistency of standalone grabbers with mDNS Service Registry
* Merge branch 'hyperion-project:master' into mDNS
* Start JSON and WebServers only after Instance 0 is available
* Remove bespoke qDebug Output again
* MDNS updates and refactor Forwarder
* Minor updates
* Upgrade to CMake 3.1
* typo
* macOS fix
* Correct merge
* - Remove dynamic linker flag from standalone dispmanX Grabber
- Added ability to use system qmdns libs
* Cec handler library will load at runtime
* typo fix
* protobuf changes
* mDNS changes for Windows/macOS
* test window build qmdnsengine
* absolute path to protobuf cmake dir
* Rework Hue Wizard supporting mDNS
* LED-Devices - Retry support + Refactoring (excl. Hue)
* LED-Devices - Refactoring/Retry support Hue + additional alignments
* Address LGTM findings
* Fix CI-Build, revert test changes
* Build Windows in Release mode to avoid python problem
* Correct that WebServerObject is available earlier
* Ensure that instance name in logs for one instance are presented
* Update content LEDs
* Rework mDNS Address lookup
* Fix LED UI
* Fix for non mDNS Services (ignore default port)
* Disbale device when now input is available
* Revert back some updates, ensure last color is updated when switched on
* Handle reopening case and changed IP, port for API-calls
* Add UPD-DDP Device
* WLED support for DDP
* Fix printout
* LEDDevice - Allow more retries, udapte defaults
* LED-Net Devices - Select Custom device, if configured
Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
Co-authored-by: Paulchen Panther <Paulchen-Panter@protonmail.com>
2022-05-01 19:42:47 +02:00
|
|
|
)
|
2021-11-16 18:12:56 +01:00
|
|
|
endif()
|
2020-05-12 19:51:19 +02:00
|
|
|
|
|
|
|
# Copy Qt plugins to 'share/hyperion/lib'
|
2021-07-17 20:55:16 +02:00
|
|
|
if (QT_PLUGINS_DIR)
|
2020-05-12 19:51:19 +02:00
|
|
|
foreach(PLUGIN "platforms" "sqldrivers" "imageformats")
|
2021-07-17 20:55:16 +02:00
|
|
|
if (EXISTS ${QT_PLUGINS_DIR}/${PLUGIN})
|
2021-11-16 18:12:56 +01:00
|
|
|
file(GLOB files "${QT_PLUGINS_DIR}/${PLUGIN}/*.so")
|
2020-05-12 19:51:19 +02:00
|
|
|
foreach(file ${files})
|
|
|
|
get_prerequisites(${file} PLUGINS 0 1 "" "")
|
|
|
|
foreach(DEPENDENCY ${PLUGINS})
|
|
|
|
get_filename_component(resolved ${DEPENDENCY} NAME_WE)
|
|
|
|
list(FIND SYSTEM_LIBS_SKIP ${resolved} _index)
|
|
|
|
if (${_index} GREATER -1)
|
|
|
|
continue() # Skip system libraries
|
|
|
|
else()
|
|
|
|
gp_resolve_item("${file}" "${DEPENDENCY}" "" "" resolved_file)
|
|
|
|
get_filename_component(resolved_file ${resolved_file} ABSOLUTE)
|
|
|
|
gp_append_unique(PREREQUISITE_LIBS ${resolved_file})
|
|
|
|
get_filename_component(file_canonical ${resolved_file} REALPATH)
|
|
|
|
gp_append_unique(PREREQUISITE_LIBS ${file_canonical})
|
|
|
|
endif()
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
install(
|
|
|
|
FILES ${file}
|
|
|
|
DESTINATION "share/hyperion/lib/${PLUGIN}"
|
|
|
|
COMPONENT "Hyperion"
|
|
|
|
)
|
|
|
|
endforeach()
|
|
|
|
endif()
|
|
|
|
endforeach()
|
|
|
|
endif(QT_PLUGINS_DIR)
|
|
|
|
|
|
|
|
# Create a qt.conf file in 'share/hyperion/bin' to override hard-coded search paths in Qt plugins
|
|
|
|
file(WRITE "${CMAKE_BINARY_DIR}/qt.conf" "[Paths]\nPlugins=../lib/\n")
|
|
|
|
install(
|
|
|
|
FILES "${CMAKE_BINARY_DIR}/qt.conf"
|
|
|
|
DESTINATION "share/hyperion/bin"
|
|
|
|
COMPONENT "Hyperion"
|
|
|
|
)
|
|
|
|
|
|
|
|
# Copy dependencies to 'share/hyperion/lib'
|
|
|
|
foreach(PREREQUISITE_LIB ${PREREQUISITE_LIBS})
|
|
|
|
install(
|
|
|
|
FILES ${PREREQUISITE_LIB}
|
|
|
|
DESTINATION "share/hyperion/lib"
|
|
|
|
COMPONENT "Hyperion"
|
|
|
|
)
|
|
|
|
endforeach()
|
|
|
|
|
2022-02-11 20:36:15 +01:00
|
|
|
if(ENABLE_EFFECTENGINE)
|
|
|
|
# Detect the Python version and modules directory
|
|
|
|
if (NOT CMAKE_VERSION VERSION_LESS "3.12")
|
|
|
|
set(PYTHON_VERSION_MAJOR_MINOR "${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}")
|
|
|
|
set(PYTHON_MODULES_DIR "${Python3_STDLIB}")
|
|
|
|
else()
|
|
|
|
set(PYTHON_VERSION_MAJOR_MINOR "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
|
|
|
|
execute_process(
|
|
|
|
COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(standard_lib=True))"
|
|
|
|
OUTPUT_VARIABLE PYTHON_MODULES_DIR
|
|
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
|
|
)
|
|
|
|
endif()
|
2020-05-12 19:51:19 +02:00
|
|
|
|
2022-02-11 20:36:15 +01:00
|
|
|
# Copy Python modules to 'share/hyperion/lib/pythonMAJOR.MINOR' and ignore the unnecessary stuff listed below
|
|
|
|
if (PYTHON_MODULES_DIR)
|
2020-07-12 09:26:28 +02:00
|
|
|
|
2022-02-11 20:36:15 +01:00
|
|
|
install(
|
|
|
|
DIRECTORY ${PYTHON_MODULES_DIR}/
|
|
|
|
DESTINATION "share/hyperion/lib/python${PYTHON_VERSION_MAJOR_MINOR}"
|
|
|
|
COMPONENT "Hyperion"
|
|
|
|
PATTERN "*.pyc" EXCLUDE # compiled bytecodes
|
|
|
|
PATTERN "__pycache__" EXCLUDE # any cache
|
|
|
|
PATTERN "config-${PYTHON_VERSION_MAJOR_MINOR}*" EXCLUDE # static libs
|
|
|
|
PATTERN "lib2to3" EXCLUDE # automated Python 2 to 3 code translation
|
|
|
|
PATTERN "tkinter" EXCLUDE # Tk interface
|
|
|
|
PATTERN "turtle.py" EXCLUDE # Tk demo
|
|
|
|
PATTERN "test" EXCLUDE # unittest module
|
|
|
|
PATTERN "sitecustomize.py" EXCLUDE # site-specific configs
|
|
|
|
)
|
|
|
|
endif(PYTHON_MODULES_DIR)
|
mDNS Support (#1452)
* Allow build, if no grabbers are enabled
* Align available functions to right Qt version
* Update to next development version
* Align available functions to right Qt version
* fix workflows (apt/nightly)
* Disable QNetworkConfigurationManager deprecation warnings
* Initial go on Smart Pointers
* Add Deallocation
* Correct QT_WARNING_DISABLE_DEPRECATED (available since 5.9)
* Cluster Build Variables
* Hyperion Light
* Address build warnings
* Hyperion Light - UI
* Update Protobuf to latest master
* Removed compiler warnings
* Added restart ability to systray
* Correct Protobuf
* Ignore 'no-return' warning on protobuf build
* hyperion-remote: Fix auto discovery of hyperion server
* Fix Qt version override
* Update changelog
* Remove Grabber Components, if no Grabber exists
* Standalone Grabber - Fix fps default
* Remote Control - Have Source Selction accrosswhole screen
* Enable Blackborder detection only, if relevant input sources available
* Enable Blackborder detection only, if relevant input sources available
* Remote UI - rearrange containers
* Checkout
* Fix compilation on windows
* Re-added qmdnsengine template cmake
* chrono added for linux
* Removed existing AVAHI/Bonjour, allow to enable/disable mDNS
* hyperiond macos typo fix
* Fix macOS Bundle build
* Fix macOS bundle info details
* Correct CMake files
* Removed existing AVAHI/Bonjour (2)
* Share hyperion's services via mDNS
* Add mDNS Browser and mDNS for LED-Devices
* Support mDNS discovery for standalone grabbers
* Remove ZLib Dependency & Cleanup
* mDNS - hanle 2.local2 an ".local." domains equally
* Hue - Link discovery to bridge class, workaround port 443 for mDNS discovery
* Fix save button state when switching between devices
* Removed sessions (of other hyperions)
* mDNS Publisher - Simplify service naming
* mDNS refactoring & Forwarder discovery
* mDNS Updates to use device service name
* Consistency of standalone grabbers with mDNS Service Registry
* Merge branch 'hyperion-project:master' into mDNS
* Start JSON and WebServers only after Instance 0 is available
* Remove bespoke qDebug Output again
* MDNS updates and refactor Forwarder
* Minor updates
* Upgrade to CMake 3.1
* typo
* macOS fix
* Correct merge
* - Remove dynamic linker flag from standalone dispmanX Grabber
- Added ability to use system qmdns libs
* Cec handler library will load at runtime
* typo fix
* protobuf changes
* mDNS changes for Windows/macOS
* test window build qmdnsengine
* absolute path to protobuf cmake dir
* Rework Hue Wizard supporting mDNS
* LED-Devices - Retry support + Refactoring (excl. Hue)
* LED-Devices - Refactoring/Retry support Hue + additional alignments
* Address LGTM findings
* Fix CI-Build, revert test changes
* Build Windows in Release mode to avoid python problem
* Correct that WebServerObject is available earlier
* Ensure that instance name in logs for one instance are presented
* Update content LEDs
* Rework mDNS Address lookup
* Fix LED UI
* Fix for non mDNS Services (ignore default port)
* Disbale device when now input is available
* Revert back some updates, ensure last color is updated when switched on
* Handle reopening case and changed IP, port for API-calls
* Add UPD-DDP Device
* WLED support for DDP
* Fix printout
* LEDDevice - Allow more retries, udapte defaults
* LED-Net Devices - Select Custom device, if configured
Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
Co-authored-by: Paulchen Panther <Paulchen-Panter@protonmail.com>
2022-05-01 19:42:47 +02:00
|
|
|
endif(ENABLE_EFFECTENGINE)
|
2020-07-12 09:26:28 +02:00
|
|
|
|
2020-05-12 19:51:19 +02:00
|
|
|
else()
|
|
|
|
# Run CMake after target was built to run get_prerequisites on ${TARGET_FILE}
|
|
|
|
add_custom_command(
|
|
|
|
TARGET ${TARGET} POST_BUILD
|
2020-07-12 09:26:28 +02:00
|
|
|
COMMAND "${CMAKE_COMMAND}" "-DTARGET_FILE=$<TARGET_FILE:${TARGET}>"
|
2020-05-12 19:51:19 +02:00
|
|
|
ARGS ${CMAKE_SOURCE_DIR}
|
|
|
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
|
|
|
VERBATIM
|
|
|
|
)
|
|
|
|
endif()
|
|
|
|
endmacro()
|
|
|
|
|
|
|
|
macro(DeployWindows TARGET)
|
2021-07-17 20:55:16 +02:00
|
|
|
if (EXISTS ${TARGET_FILE})
|
2020-07-06 18:53:30 +02:00
|
|
|
message(STATUS "Collecting Dependencies for target file: ${TARGET_FILE}")
|
2021-11-16 18:12:56 +01:00
|
|
|
find_package(Qt${QT_VERSION_MAJOR}Core REQUIRED)
|
2020-07-12 09:22:26 +02:00
|
|
|
find_package(OpenSSL REQUIRED)
|
2020-05-12 19:51:19 +02:00
|
|
|
|
|
|
|
# Find the windeployqt binaries
|
2021-11-16 18:12:56 +01:00
|
|
|
get_target_property(QMAKE_EXECUTABLE Qt${QT_VERSION_MAJOR}::qmake IMPORTED_LOCATION)
|
2020-05-12 19:51:19 +02:00
|
|
|
get_filename_component(QT_BIN_DIR "${QMAKE_EXECUTABLE}" DIRECTORY)
|
|
|
|
find_program(WINDEPLOYQT_EXECUTABLE windeployqt HINTS "${QT_BIN_DIR}")
|
|
|
|
|
|
|
|
# Collect the runtime libraries
|
|
|
|
get_filename_component(COMPILER_PATH "${CMAKE_CXX_COMPILER}" DIRECTORY)
|
2021-11-16 18:12:56 +01:00
|
|
|
if (QT_VERSION_MAJOR EQUAL 5)
|
|
|
|
set(WINDEPLOYQT_PARAMS --no-angle --no-opengl-sw)
|
|
|
|
else()
|
|
|
|
set(WINDEPLOYQT_PARAMS --no-opengl-sw)
|
|
|
|
endif()
|
2020-05-12 19:51:19 +02:00
|
|
|
|
|
|
|
execute_process(
|
|
|
|
COMMAND "${CMAKE_COMMAND}" -E
|
|
|
|
env "PATH=${COMPILER_PATH};${QT_BIN_DIR}" "${WINDEPLOYQT_EXECUTABLE}"
|
2020-07-12 09:26:28 +02:00
|
|
|
--dry-run
|
|
|
|
${WINDEPLOYQT_PARAMS}
|
|
|
|
--list mapping
|
|
|
|
"${TARGET_FILE}"
|
|
|
|
OUTPUT_VARIABLE DEPS
|
2020-05-12 19:51:19 +02:00
|
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
|
|
)
|
|
|
|
|
|
|
|
# Parse DEPS into a semicolon-separated list.
|
|
|
|
separate_arguments(DEPENDENCIES WINDOWS_COMMAND ${DEPS})
|
|
|
|
string(REPLACE "\\" "/" DEPENDENCIES "${DEPENDENCIES}")
|
|
|
|
|
|
|
|
# Copy dependencies to 'hyperion/lib' or 'hyperion'
|
|
|
|
while (DEPENDENCIES)
|
|
|
|
list(GET DEPENDENCIES 0 src)
|
|
|
|
list(GET DEPENDENCIES 1 dst)
|
|
|
|
get_filename_component(dst ${dst} DIRECTORY)
|
|
|
|
|
|
|
|
if (NOT "${dst}" STREQUAL "")
|
|
|
|
install(
|
|
|
|
FILES ${src}
|
|
|
|
DESTINATION "lib/${dst}"
|
|
|
|
COMPONENT "Hyperion"
|
|
|
|
)
|
|
|
|
else()
|
|
|
|
install(
|
|
|
|
FILES ${src}
|
|
|
|
DESTINATION "bin"
|
|
|
|
COMPONENT "Hyperion"
|
|
|
|
)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
list(REMOVE_AT DEPENDENCIES 0 1)
|
|
|
|
endwhile()
|
|
|
|
|
Media Foundation/V4L2 grabber ... (#1119)
* - New Media Foundation grabber
- JsonAPI available grabber fix
- commented json config removed
* Added libjpeg-turbo to dependencies
* Fix OSX build
Removed Azure Pipelines from build scripts
* Remove Platform from Dashboard
* Correct Grabber Namings
* Grabber UI improvements, generic JSONEditor Selection Update
* Active grabber fix
* Stop Framebuffer grabber on failure
* - Image format NV12 and I420 added
- Flip mode
- Scaling factor for MJPEG
- VSCode (compile before run)
- CI (push) dependency libjpeg-turbo added
* Refactor MediaFoundation (Part 1)
* Remove QDebug output
* Added image flipping ability to MF Grabber
* fix issue 1160
* -Reload MF Grabber only once per WebUI update
- Cleanup
* Improvements
* - Set 'Software Frame Decimation' begin to 0
- Removed grabber specific device name from Log
- Keep pixel format when switching resolution
- Display 'Flip mode' correct in Log
- BGR24 images always flipped
* Refactor MediaFoundation (Part 2)
* Refactor V4L2 grabber (part 1) (#62)
* Media Foundation grabber adapted to V4L2 change
* Enable Media Foundation grabber on windows
* Have fps as int, fix height typo
* Added video standards to JsonAPI output
* Error handling in source reader improved
* Fix "Frame to small" error
* Discovery VideoSources and Dynamically Update Editor
* Hide all element when no video grabber discovered, upate naming
* Do not show unsupported grabbers
* Copy Log to Clipboard
* Update Grabber schema and Defaults
* Update access levels and validate crop ranges
* Height and width in Qt grabber corrected
* Correct formatting
* Untabify
* Global component states across instances
* Components divided on the dashboard
* refactor
* Fix Merge-issues
* Database migration aligning with updated grabber model
* Align Grabber.js with new utility functions
* Allow editor-validation for enum-lists
* Handle "Show Explainations scenario" correctly
* Grabber - Ensure save is only possible on valid content
* Dashboard update + fix GlobalSignal connection
* Ensure default database is populated with current release
* Correct grabber4L2 access level
* Display Signal detection area in preview
* Write Hyperion version into default config on compiling.
* Create defaultconfig.json dynamically
* WebUI changes
* Correct grabber config look-ups
* Refactor i18n language loading
* Fix en.json
* Split global capture from instance capture config
* Update grabber default values
* Standalone grabber: Add --debug switch
* Enhance showInputOptionsForKey for multiple keys
* Add grabber instance link to system grabber config
* Only show signal detection area, if grabber is enabled
* Always show Active element on grabber page
* Remote control - Only display gabber status, if global grabber is enabled
* WebUI optimization (thx to @mkcologne)
Start Grabber only when global settings are enabled
Fixed an issue in the WebUI preview
* V4L2/MF changes
* Jsoneditor, Correct translation for default values
* Refactor LED-Device handling in UI and make element naming consistent
* MF Discovery extended
* Fix LGTM finding
* Support Grabber Bri, Hue, Sat and Con in UI, plus their defaults
* Concider Access level for item filtering
* Concider Access level for item filtering
* Revert "Concider Access level for item filtering"
This reverts commit 5b0ce3c0f2de67e0c43788190cfff45614706129.
* Disable fpsSoftwareDecimation for framegrabber, as not supported yet
* JSON-Editor- Add updated schema for validation on dynamic elements
* added V4L2 color IDs
* LGTM findings fix
* destroy SR callback only on exit
* Grabber.js - Hide elements not supported by platform
* Fixed freezing start effect
* Grabber UI - Hardware controls - Show current values and allow to reset to defaults
* Grabber - Discovery - Add current values to properties
* Small things
* Clean-up Effects and have ENDLESS consistently defined
* Fix on/off/on priority during startup, by initializing _prevVisComp in line with background priority
* Add missing translation mappings
* DirectX Grabber reactivated/ QT Grabber size decimation fixed
* typo in push-master workflow
* Use PreciseTimer for Grabber to ensure stable FPS timing
* Set default Screencapture rate consistently
* Fix libjpeg-turbo download
* Remove Zero character from file
* docker-compile Add PLATFORM parameter, only copy output file after successful compile
* Framebuffer, Dispmanx, OSX, AML Grabber discovery, various clean-up and consistencies across grabbers
* Fix merge problem - on docker-compile Add PLATFORM parameter, only copy output file after successful compile
* Fix definition
* OSXFRameGrabber - Revert cast
* Clean-ups nach Feedback
* Disable certain libraries when building armlogic via standard stretch image as developer
* Add CEC availability to ServerInfo to have it platform independent
* Grabber UI - Fix problem that crop values are not populated when refining editor rage
* Preserve value when updating json-editor range
* LEDVisualisation - Clear image when source changes
* Fix - Preserve value when updating json-editor range
* LEDVisualisation - Clear image when no component is active
* Allow to have password handled by Password-Manager (#1263)
* Update default signal detection area to green assuming rainbow grabber
* LED Visualisation - Handle empty priority update
* Fix yuv420 in v4l2 grabber
* V4L2-Grabber discovery - Only report grabbers with valid video input information
* Grabber - Update static variables to have them working in release build
* LED Visualisation - ClearImage when no priorities
* LED Visualisation - Fix Logo resizing issue
* LED Visualisation - Have nearly black background and negative logo
Co-authored-by: LordGrey <lordgrey.emmel@gmail.com>
Co-authored-by: LordGrey <48840279+Lord-Grey@users.noreply.github.com>
2021-07-14 20:48:33 +02:00
|
|
|
# Copy libssl/libcrypto to 'hyperion'
|
2020-07-12 09:22:26 +02:00
|
|
|
if (OPENSSL_FOUND)
|
|
|
|
string(REGEX MATCHALL "[0-9]+" openssl_versions "${OPENSSL_VERSION}")
|
|
|
|
list(GET openssl_versions 0 openssl_version_major)
|
|
|
|
list(GET openssl_versions 1 openssl_version_minor)
|
|
|
|
|
|
|
|
set(library_suffix "-${openssl_version_major}_${openssl_version_minor}")
|
2021-07-17 20:55:16 +02:00
|
|
|
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
2020-07-12 09:22:26 +02:00
|
|
|
string(APPEND library_suffix "-x64")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
find_file(OPENSSL_SSL
|
|
|
|
NAMES "libssl${library_suffix}.dll"
|
|
|
|
PATHS ${OPENSSL_INCLUDE_DIR}/.. ${OPENSSL_INCLUDE_DIR}/../bin
|
|
|
|
NO_DEFAULT_PATH
|
|
|
|
)
|
|
|
|
|
|
|
|
find_file(OPENSSL_CRYPTO
|
|
|
|
NAMES "libcrypto${library_suffix}.dll"
|
|
|
|
PATHS ${OPENSSL_INCLUDE_DIR}/.. ${OPENSSL_INCLUDE_DIR}/../bin
|
|
|
|
NO_DEFAULT_PATH
|
|
|
|
)
|
|
|
|
|
|
|
|
install(
|
|
|
|
FILES ${OPENSSL_SSL} ${OPENSSL_CRYPTO}
|
|
|
|
DESTINATION "bin"
|
|
|
|
COMPONENT "Hyperion"
|
|
|
|
)
|
|
|
|
endif(OPENSSL_FOUND)
|
|
|
|
|
Media Foundation/V4L2 grabber ... (#1119)
* - New Media Foundation grabber
- JsonAPI available grabber fix
- commented json config removed
* Added libjpeg-turbo to dependencies
* Fix OSX build
Removed Azure Pipelines from build scripts
* Remove Platform from Dashboard
* Correct Grabber Namings
* Grabber UI improvements, generic JSONEditor Selection Update
* Active grabber fix
* Stop Framebuffer grabber on failure
* - Image format NV12 and I420 added
- Flip mode
- Scaling factor for MJPEG
- VSCode (compile before run)
- CI (push) dependency libjpeg-turbo added
* Refactor MediaFoundation (Part 1)
* Remove QDebug output
* Added image flipping ability to MF Grabber
* fix issue 1160
* -Reload MF Grabber only once per WebUI update
- Cleanup
* Improvements
* - Set 'Software Frame Decimation' begin to 0
- Removed grabber specific device name from Log
- Keep pixel format when switching resolution
- Display 'Flip mode' correct in Log
- BGR24 images always flipped
* Refactor MediaFoundation (Part 2)
* Refactor V4L2 grabber (part 1) (#62)
* Media Foundation grabber adapted to V4L2 change
* Enable Media Foundation grabber on windows
* Have fps as int, fix height typo
* Added video standards to JsonAPI output
* Error handling in source reader improved
* Fix "Frame to small" error
* Discovery VideoSources and Dynamically Update Editor
* Hide all element when no video grabber discovered, upate naming
* Do not show unsupported grabbers
* Copy Log to Clipboard
* Update Grabber schema and Defaults
* Update access levels and validate crop ranges
* Height and width in Qt grabber corrected
* Correct formatting
* Untabify
* Global component states across instances
* Components divided on the dashboard
* refactor
* Fix Merge-issues
* Database migration aligning with updated grabber model
* Align Grabber.js with new utility functions
* Allow editor-validation for enum-lists
* Handle "Show Explainations scenario" correctly
* Grabber - Ensure save is only possible on valid content
* Dashboard update + fix GlobalSignal connection
* Ensure default database is populated with current release
* Correct grabber4L2 access level
* Display Signal detection area in preview
* Write Hyperion version into default config on compiling.
* Create defaultconfig.json dynamically
* WebUI changes
* Correct grabber config look-ups
* Refactor i18n language loading
* Fix en.json
* Split global capture from instance capture config
* Update grabber default values
* Standalone grabber: Add --debug switch
* Enhance showInputOptionsForKey for multiple keys
* Add grabber instance link to system grabber config
* Only show signal detection area, if grabber is enabled
* Always show Active element on grabber page
* Remote control - Only display gabber status, if global grabber is enabled
* WebUI optimization (thx to @mkcologne)
Start Grabber only when global settings are enabled
Fixed an issue in the WebUI preview
* V4L2/MF changes
* Jsoneditor, Correct translation for default values
* Refactor LED-Device handling in UI and make element naming consistent
* MF Discovery extended
* Fix LGTM finding
* Support Grabber Bri, Hue, Sat and Con in UI, plus their defaults
* Concider Access level for item filtering
* Concider Access level for item filtering
* Revert "Concider Access level for item filtering"
This reverts commit 5b0ce3c0f2de67e0c43788190cfff45614706129.
* Disable fpsSoftwareDecimation for framegrabber, as not supported yet
* JSON-Editor- Add updated schema for validation on dynamic elements
* added V4L2 color IDs
* LGTM findings fix
* destroy SR callback only on exit
* Grabber.js - Hide elements not supported by platform
* Fixed freezing start effect
* Grabber UI - Hardware controls - Show current values and allow to reset to defaults
* Grabber - Discovery - Add current values to properties
* Small things
* Clean-up Effects and have ENDLESS consistently defined
* Fix on/off/on priority during startup, by initializing _prevVisComp in line with background priority
* Add missing translation mappings
* DirectX Grabber reactivated/ QT Grabber size decimation fixed
* typo in push-master workflow
* Use PreciseTimer for Grabber to ensure stable FPS timing
* Set default Screencapture rate consistently
* Fix libjpeg-turbo download
* Remove Zero character from file
* docker-compile Add PLATFORM parameter, only copy output file after successful compile
* Framebuffer, Dispmanx, OSX, AML Grabber discovery, various clean-up and consistencies across grabbers
* Fix merge problem - on docker-compile Add PLATFORM parameter, only copy output file after successful compile
* Fix definition
* OSXFRameGrabber - Revert cast
* Clean-ups nach Feedback
* Disable certain libraries when building armlogic via standard stretch image as developer
* Add CEC availability to ServerInfo to have it platform independent
* Grabber UI - Fix problem that crop values are not populated when refining editor rage
* Preserve value when updating json-editor range
* LEDVisualisation - Clear image when source changes
* Fix - Preserve value when updating json-editor range
* LEDVisualisation - Clear image when no component is active
* Allow to have password handled by Password-Manager (#1263)
* Update default signal detection area to green assuming rainbow grabber
* LED Visualisation - Handle empty priority update
* Fix yuv420 in v4l2 grabber
* V4L2-Grabber discovery - Only report grabbers with valid video input information
* Grabber - Update static variables to have them working in release build
* LED Visualisation - ClearImage when no priorities
* LED Visualisation - Fix Logo resizing issue
* LED Visualisation - Have nearly black background and negative logo
Co-authored-by: LordGrey <lordgrey.emmel@gmail.com>
Co-authored-by: LordGrey <48840279+Lord-Grey@users.noreply.github.com>
2021-07-14 20:48:33 +02:00
|
|
|
# Copy libjpeg-turbo to 'hyperion'
|
2021-07-17 20:55:16 +02:00
|
|
|
if (ENABLE_MF)
|
|
|
|
find_package(TurboJPEG)
|
|
|
|
|
|
|
|
if (TURBOJPEG_FOUND)
|
|
|
|
find_file(TURBOJPEG_DLL
|
|
|
|
NAMES "turbojpeg.dll"
|
|
|
|
PATHS ${TurboJPEG_INCLUDE_DIRS}/.. ${TurboJPEG_INCLUDE_DIRS}/../bin
|
|
|
|
NO_DEFAULT_PATH
|
|
|
|
)
|
Media Foundation/V4L2 grabber ... (#1119)
* - New Media Foundation grabber
- JsonAPI available grabber fix
- commented json config removed
* Added libjpeg-turbo to dependencies
* Fix OSX build
Removed Azure Pipelines from build scripts
* Remove Platform from Dashboard
* Correct Grabber Namings
* Grabber UI improvements, generic JSONEditor Selection Update
* Active grabber fix
* Stop Framebuffer grabber on failure
* - Image format NV12 and I420 added
- Flip mode
- Scaling factor for MJPEG
- VSCode (compile before run)
- CI (push) dependency libjpeg-turbo added
* Refactor MediaFoundation (Part 1)
* Remove QDebug output
* Added image flipping ability to MF Grabber
* fix issue 1160
* -Reload MF Grabber only once per WebUI update
- Cleanup
* Improvements
* - Set 'Software Frame Decimation' begin to 0
- Removed grabber specific device name from Log
- Keep pixel format when switching resolution
- Display 'Flip mode' correct in Log
- BGR24 images always flipped
* Refactor MediaFoundation (Part 2)
* Refactor V4L2 grabber (part 1) (#62)
* Media Foundation grabber adapted to V4L2 change
* Enable Media Foundation grabber on windows
* Have fps as int, fix height typo
* Added video standards to JsonAPI output
* Error handling in source reader improved
* Fix "Frame to small" error
* Discovery VideoSources and Dynamically Update Editor
* Hide all element when no video grabber discovered, upate naming
* Do not show unsupported grabbers
* Copy Log to Clipboard
* Update Grabber schema and Defaults
* Update access levels and validate crop ranges
* Height and width in Qt grabber corrected
* Correct formatting
* Untabify
* Global component states across instances
* Components divided on the dashboard
* refactor
* Fix Merge-issues
* Database migration aligning with updated grabber model
* Align Grabber.js with new utility functions
* Allow editor-validation for enum-lists
* Handle "Show Explainations scenario" correctly
* Grabber - Ensure save is only possible on valid content
* Dashboard update + fix GlobalSignal connection
* Ensure default database is populated with current release
* Correct grabber4L2 access level
* Display Signal detection area in preview
* Write Hyperion version into default config on compiling.
* Create defaultconfig.json dynamically
* WebUI changes
* Correct grabber config look-ups
* Refactor i18n language loading
* Fix en.json
* Split global capture from instance capture config
* Update grabber default values
* Standalone grabber: Add --debug switch
* Enhance showInputOptionsForKey for multiple keys
* Add grabber instance link to system grabber config
* Only show signal detection area, if grabber is enabled
* Always show Active element on grabber page
* Remote control - Only display gabber status, if global grabber is enabled
* WebUI optimization (thx to @mkcologne)
Start Grabber only when global settings are enabled
Fixed an issue in the WebUI preview
* V4L2/MF changes
* Jsoneditor, Correct translation for default values
* Refactor LED-Device handling in UI and make element naming consistent
* MF Discovery extended
* Fix LGTM finding
* Support Grabber Bri, Hue, Sat and Con in UI, plus their defaults
* Concider Access level for item filtering
* Concider Access level for item filtering
* Revert "Concider Access level for item filtering"
This reverts commit 5b0ce3c0f2de67e0c43788190cfff45614706129.
* Disable fpsSoftwareDecimation for framegrabber, as not supported yet
* JSON-Editor- Add updated schema for validation on dynamic elements
* added V4L2 color IDs
* LGTM findings fix
* destroy SR callback only on exit
* Grabber.js - Hide elements not supported by platform
* Fixed freezing start effect
* Grabber UI - Hardware controls - Show current values and allow to reset to defaults
* Grabber - Discovery - Add current values to properties
* Small things
* Clean-up Effects and have ENDLESS consistently defined
* Fix on/off/on priority during startup, by initializing _prevVisComp in line with background priority
* Add missing translation mappings
* DirectX Grabber reactivated/ QT Grabber size decimation fixed
* typo in push-master workflow
* Use PreciseTimer for Grabber to ensure stable FPS timing
* Set default Screencapture rate consistently
* Fix libjpeg-turbo download
* Remove Zero character from file
* docker-compile Add PLATFORM parameter, only copy output file after successful compile
* Framebuffer, Dispmanx, OSX, AML Grabber discovery, various clean-up and consistencies across grabbers
* Fix merge problem - on docker-compile Add PLATFORM parameter, only copy output file after successful compile
* Fix definition
* OSXFRameGrabber - Revert cast
* Clean-ups nach Feedback
* Disable certain libraries when building armlogic via standard stretch image as developer
* Add CEC availability to ServerInfo to have it platform independent
* Grabber UI - Fix problem that crop values are not populated when refining editor rage
* Preserve value when updating json-editor range
* LEDVisualisation - Clear image when source changes
* Fix - Preserve value when updating json-editor range
* LEDVisualisation - Clear image when no component is active
* Allow to have password handled by Password-Manager (#1263)
* Update default signal detection area to green assuming rainbow grabber
* LED Visualisation - Handle empty priority update
* Fix yuv420 in v4l2 grabber
* V4L2-Grabber discovery - Only report grabbers with valid video input information
* Grabber - Update static variables to have them working in release build
* LED Visualisation - ClearImage when no priorities
* LED Visualisation - Fix Logo resizing issue
* LED Visualisation - Have nearly black background and negative logo
Co-authored-by: LordGrey <lordgrey.emmel@gmail.com>
Co-authored-by: LordGrey <48840279+Lord-Grey@users.noreply.github.com>
2021-07-14 20:48:33 +02:00
|
|
|
|
2021-07-17 20:55:16 +02:00
|
|
|
find_file(JPEG_DLL
|
|
|
|
NAMES "jpeg62.dll"
|
|
|
|
PATHS ${TurboJPEG_INCLUDE_DIRS}/.. ${TurboJPEG_INCLUDE_DIRS}/../bin
|
|
|
|
NO_DEFAULT_PATH
|
|
|
|
)
|
Media Foundation/V4L2 grabber ... (#1119)
* - New Media Foundation grabber
- JsonAPI available grabber fix
- commented json config removed
* Added libjpeg-turbo to dependencies
* Fix OSX build
Removed Azure Pipelines from build scripts
* Remove Platform from Dashboard
* Correct Grabber Namings
* Grabber UI improvements, generic JSONEditor Selection Update
* Active grabber fix
* Stop Framebuffer grabber on failure
* - Image format NV12 and I420 added
- Flip mode
- Scaling factor for MJPEG
- VSCode (compile before run)
- CI (push) dependency libjpeg-turbo added
* Refactor MediaFoundation (Part 1)
* Remove QDebug output
* Added image flipping ability to MF Grabber
* fix issue 1160
* -Reload MF Grabber only once per WebUI update
- Cleanup
* Improvements
* - Set 'Software Frame Decimation' begin to 0
- Removed grabber specific device name from Log
- Keep pixel format when switching resolution
- Display 'Flip mode' correct in Log
- BGR24 images always flipped
* Refactor MediaFoundation (Part 2)
* Refactor V4L2 grabber (part 1) (#62)
* Media Foundation grabber adapted to V4L2 change
* Enable Media Foundation grabber on windows
* Have fps as int, fix height typo
* Added video standards to JsonAPI output
* Error handling in source reader improved
* Fix "Frame to small" error
* Discovery VideoSources and Dynamically Update Editor
* Hide all element when no video grabber discovered, upate naming
* Do not show unsupported grabbers
* Copy Log to Clipboard
* Update Grabber schema and Defaults
* Update access levels and validate crop ranges
* Height and width in Qt grabber corrected
* Correct formatting
* Untabify
* Global component states across instances
* Components divided on the dashboard
* refactor
* Fix Merge-issues
* Database migration aligning with updated grabber model
* Align Grabber.js with new utility functions
* Allow editor-validation for enum-lists
* Handle "Show Explainations scenario" correctly
* Grabber - Ensure save is only possible on valid content
* Dashboard update + fix GlobalSignal connection
* Ensure default database is populated with current release
* Correct grabber4L2 access level
* Display Signal detection area in preview
* Write Hyperion version into default config on compiling.
* Create defaultconfig.json dynamically
* WebUI changes
* Correct grabber config look-ups
* Refactor i18n language loading
* Fix en.json
* Split global capture from instance capture config
* Update grabber default values
* Standalone grabber: Add --debug switch
* Enhance showInputOptionsForKey for multiple keys
* Add grabber instance link to system grabber config
* Only show signal detection area, if grabber is enabled
* Always show Active element on grabber page
* Remote control - Only display gabber status, if global grabber is enabled
* WebUI optimization (thx to @mkcologne)
Start Grabber only when global settings are enabled
Fixed an issue in the WebUI preview
* V4L2/MF changes
* Jsoneditor, Correct translation for default values
* Refactor LED-Device handling in UI and make element naming consistent
* MF Discovery extended
* Fix LGTM finding
* Support Grabber Bri, Hue, Sat and Con in UI, plus their defaults
* Concider Access level for item filtering
* Concider Access level for item filtering
* Revert "Concider Access level for item filtering"
This reverts commit 5b0ce3c0f2de67e0c43788190cfff45614706129.
* Disable fpsSoftwareDecimation for framegrabber, as not supported yet
* JSON-Editor- Add updated schema for validation on dynamic elements
* added V4L2 color IDs
* LGTM findings fix
* destroy SR callback only on exit
* Grabber.js - Hide elements not supported by platform
* Fixed freezing start effect
* Grabber UI - Hardware controls - Show current values and allow to reset to defaults
* Grabber - Discovery - Add current values to properties
* Small things
* Clean-up Effects and have ENDLESS consistently defined
* Fix on/off/on priority during startup, by initializing _prevVisComp in line with background priority
* Add missing translation mappings
* DirectX Grabber reactivated/ QT Grabber size decimation fixed
* typo in push-master workflow
* Use PreciseTimer for Grabber to ensure stable FPS timing
* Set default Screencapture rate consistently
* Fix libjpeg-turbo download
* Remove Zero character from file
* docker-compile Add PLATFORM parameter, only copy output file after successful compile
* Framebuffer, Dispmanx, OSX, AML Grabber discovery, various clean-up and consistencies across grabbers
* Fix merge problem - on docker-compile Add PLATFORM parameter, only copy output file after successful compile
* Fix definition
* OSXFRameGrabber - Revert cast
* Clean-ups nach Feedback
* Disable certain libraries when building armlogic via standard stretch image as developer
* Add CEC availability to ServerInfo to have it platform independent
* Grabber UI - Fix problem that crop values are not populated when refining editor rage
* Preserve value when updating json-editor range
* LEDVisualisation - Clear image when source changes
* Fix - Preserve value when updating json-editor range
* LEDVisualisation - Clear image when no component is active
* Allow to have password handled by Password-Manager (#1263)
* Update default signal detection area to green assuming rainbow grabber
* LED Visualisation - Handle empty priority update
* Fix yuv420 in v4l2 grabber
* V4L2-Grabber discovery - Only report grabbers with valid video input information
* Grabber - Update static variables to have them working in release build
* LED Visualisation - ClearImage when no priorities
* LED Visualisation - Fix Logo resizing issue
* LED Visualisation - Have nearly black background and negative logo
Co-authored-by: LordGrey <lordgrey.emmel@gmail.com>
Co-authored-by: LordGrey <48840279+Lord-Grey@users.noreply.github.com>
2021-07-14 20:48:33 +02:00
|
|
|
|
2021-07-17 20:55:16 +02:00
|
|
|
install(
|
|
|
|
FILES ${TURBOJPEG_DLL} ${JPEG_DLL}
|
|
|
|
DESTINATION "bin"
|
|
|
|
COMPONENT "Hyperion"
|
|
|
|
)
|
|
|
|
endif(TURBOJPEG_FOUND)
|
|
|
|
endif(ENABLE_MF)
|
Media Foundation/V4L2 grabber ... (#1119)
* - New Media Foundation grabber
- JsonAPI available grabber fix
- commented json config removed
* Added libjpeg-turbo to dependencies
* Fix OSX build
Removed Azure Pipelines from build scripts
* Remove Platform from Dashboard
* Correct Grabber Namings
* Grabber UI improvements, generic JSONEditor Selection Update
* Active grabber fix
* Stop Framebuffer grabber on failure
* - Image format NV12 and I420 added
- Flip mode
- Scaling factor for MJPEG
- VSCode (compile before run)
- CI (push) dependency libjpeg-turbo added
* Refactor MediaFoundation (Part 1)
* Remove QDebug output
* Added image flipping ability to MF Grabber
* fix issue 1160
* -Reload MF Grabber only once per WebUI update
- Cleanup
* Improvements
* - Set 'Software Frame Decimation' begin to 0
- Removed grabber specific device name from Log
- Keep pixel format when switching resolution
- Display 'Flip mode' correct in Log
- BGR24 images always flipped
* Refactor MediaFoundation (Part 2)
* Refactor V4L2 grabber (part 1) (#62)
* Media Foundation grabber adapted to V4L2 change
* Enable Media Foundation grabber on windows
* Have fps as int, fix height typo
* Added video standards to JsonAPI output
* Error handling in source reader improved
* Fix "Frame to small" error
* Discovery VideoSources and Dynamically Update Editor
* Hide all element when no video grabber discovered, upate naming
* Do not show unsupported grabbers
* Copy Log to Clipboard
* Update Grabber schema and Defaults
* Update access levels and validate crop ranges
* Height and width in Qt grabber corrected
* Correct formatting
* Untabify
* Global component states across instances
* Components divided on the dashboard
* refactor
* Fix Merge-issues
* Database migration aligning with updated grabber model
* Align Grabber.js with new utility functions
* Allow editor-validation for enum-lists
* Handle "Show Explainations scenario" correctly
* Grabber - Ensure save is only possible on valid content
* Dashboard update + fix GlobalSignal connection
* Ensure default database is populated with current release
* Correct grabber4L2 access level
* Display Signal detection area in preview
* Write Hyperion version into default config on compiling.
* Create defaultconfig.json dynamically
* WebUI changes
* Correct grabber config look-ups
* Refactor i18n language loading
* Fix en.json
* Split global capture from instance capture config
* Update grabber default values
* Standalone grabber: Add --debug switch
* Enhance showInputOptionsForKey for multiple keys
* Add grabber instance link to system grabber config
* Only show signal detection area, if grabber is enabled
* Always show Active element on grabber page
* Remote control - Only display gabber status, if global grabber is enabled
* WebUI optimization (thx to @mkcologne)
Start Grabber only when global settings are enabled
Fixed an issue in the WebUI preview
* V4L2/MF changes
* Jsoneditor, Correct translation for default values
* Refactor LED-Device handling in UI and make element naming consistent
* MF Discovery extended
* Fix LGTM finding
* Support Grabber Bri, Hue, Sat and Con in UI, plus their defaults
* Concider Access level for item filtering
* Concider Access level for item filtering
* Revert "Concider Access level for item filtering"
This reverts commit 5b0ce3c0f2de67e0c43788190cfff45614706129.
* Disable fpsSoftwareDecimation for framegrabber, as not supported yet
* JSON-Editor- Add updated schema for validation on dynamic elements
* added V4L2 color IDs
* LGTM findings fix
* destroy SR callback only on exit
* Grabber.js - Hide elements not supported by platform
* Fixed freezing start effect
* Grabber UI - Hardware controls - Show current values and allow to reset to defaults
* Grabber - Discovery - Add current values to properties
* Small things
* Clean-up Effects and have ENDLESS consistently defined
* Fix on/off/on priority during startup, by initializing _prevVisComp in line with background priority
* Add missing translation mappings
* DirectX Grabber reactivated/ QT Grabber size decimation fixed
* typo in push-master workflow
* Use PreciseTimer for Grabber to ensure stable FPS timing
* Set default Screencapture rate consistently
* Fix libjpeg-turbo download
* Remove Zero character from file
* docker-compile Add PLATFORM parameter, only copy output file after successful compile
* Framebuffer, Dispmanx, OSX, AML Grabber discovery, various clean-up and consistencies across grabbers
* Fix merge problem - on docker-compile Add PLATFORM parameter, only copy output file after successful compile
* Fix definition
* OSXFRameGrabber - Revert cast
* Clean-ups nach Feedback
* Disable certain libraries when building armlogic via standard stretch image as developer
* Add CEC availability to ServerInfo to have it platform independent
* Grabber UI - Fix problem that crop values are not populated when refining editor rage
* Preserve value when updating json-editor range
* LEDVisualisation - Clear image when source changes
* Fix - Preserve value when updating json-editor range
* LEDVisualisation - Clear image when no component is active
* Allow to have password handled by Password-Manager (#1263)
* Update default signal detection area to green assuming rainbow grabber
* LED Visualisation - Handle empty priority update
* Fix yuv420 in v4l2 grabber
* V4L2-Grabber discovery - Only report grabbers with valid video input information
* Grabber - Update static variables to have them working in release build
* LED Visualisation - ClearImage when no priorities
* LED Visualisation - Fix Logo resizing issue
* LED Visualisation - Have nearly black background and negative logo
Co-authored-by: LordGrey <lordgrey.emmel@gmail.com>
Co-authored-by: LordGrey <48840279+Lord-Grey@users.noreply.github.com>
2021-07-14 20:48:33 +02:00
|
|
|
|
2020-05-12 19:51:19 +02:00
|
|
|
# Create a qt.conf file in 'bin' to override hard-coded search paths in Qt plugins
|
|
|
|
file(WRITE "${CMAKE_BINARY_DIR}/qt.conf" "[Paths]\nPlugins=../lib/\n")
|
|
|
|
install(
|
|
|
|
FILES "${CMAKE_BINARY_DIR}/qt.conf"
|
|
|
|
DESTINATION "bin"
|
|
|
|
COMPONENT "Hyperion"
|
|
|
|
)
|
|
|
|
|
2022-02-11 20:36:15 +01:00
|
|
|
if(ENABLE_EFFECTENGINE)
|
|
|
|
# Download embed python package (only release build package available)
|
|
|
|
# Currently only cmake version >= 3.12 implemented
|
|
|
|
set(url "https://www.python.org/ftp/python/${Python3_VERSION}/")
|
|
|
|
set(filename "python-${Python3_VERSION}-embed-amd64.zip")
|
2020-05-12 19:51:19 +02:00
|
|
|
|
2022-02-11 20:36:15 +01:00
|
|
|
if (NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/${filename}" OR NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/python")
|
|
|
|
file(DOWNLOAD "${url}${filename}" "${CMAKE_CURRENT_BINARY_DIR}/${filename}"
|
|
|
|
STATUS result
|
|
|
|
)
|
2020-05-12 19:51:19 +02:00
|
|
|
|
2022-02-11 20:36:15 +01:00
|
|
|
# Check if the download is successful
|
|
|
|
list(GET result 0 result_code)
|
|
|
|
if(NOT result_code EQUAL 0)
|
|
|
|
list(GET result 1 reason)
|
|
|
|
message(FATAL_ERROR "Could not download file ${url}${filename}: ${reason}")
|
|
|
|
endif()
|
2020-05-12 19:51:19 +02:00
|
|
|
|
2022-02-11 20:36:15 +01:00
|
|
|
# Unpack downloaded embed python
|
|
|
|
file(REMOVE_RECURSE ${CMAKE_CURRENT_BINARY_DIR}/python)
|
|
|
|
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/python)
|
|
|
|
execute_process(
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E tar -xfz "${CMAKE_CURRENT_BINARY_DIR}/${filename}"
|
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/python
|
|
|
|
OUTPUT_QUIET
|
|
|
|
)
|
|
|
|
endif()
|
2020-05-12 19:51:19 +02:00
|
|
|
|
2022-02-11 20:36:15 +01:00
|
|
|
# Copy pythonXX.dll and pythonXX.zip to 'hyperion'
|
|
|
|
foreach(PYTHON_FILE
|
|
|
|
"python${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR}.dll"
|
|
|
|
"python${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR}.zip"
|
2020-05-12 19:51:19 +02:00
|
|
|
)
|
2022-02-11 20:36:15 +01:00
|
|
|
install(
|
|
|
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/python/${PYTHON_FILE}
|
|
|
|
DESTINATION "bin"
|
|
|
|
COMPONENT "Hyperion"
|
|
|
|
)
|
|
|
|
endforeach()
|
|
|
|
endif(ENABLE_EFFECTENGINE)
|
2020-05-12 19:51:19 +02:00
|
|
|
|
2021-07-17 20:55:16 +02:00
|
|
|
if (ENABLE_DX)
|
Media Foundation/V4L2 grabber ... (#1119)
* - New Media Foundation grabber
- JsonAPI available grabber fix
- commented json config removed
* Added libjpeg-turbo to dependencies
* Fix OSX build
Removed Azure Pipelines from build scripts
* Remove Platform from Dashboard
* Correct Grabber Namings
* Grabber UI improvements, generic JSONEditor Selection Update
* Active grabber fix
* Stop Framebuffer grabber on failure
* - Image format NV12 and I420 added
- Flip mode
- Scaling factor for MJPEG
- VSCode (compile before run)
- CI (push) dependency libjpeg-turbo added
* Refactor MediaFoundation (Part 1)
* Remove QDebug output
* Added image flipping ability to MF Grabber
* fix issue 1160
* -Reload MF Grabber only once per WebUI update
- Cleanup
* Improvements
* - Set 'Software Frame Decimation' begin to 0
- Removed grabber specific device name from Log
- Keep pixel format when switching resolution
- Display 'Flip mode' correct in Log
- BGR24 images always flipped
* Refactor MediaFoundation (Part 2)
* Refactor V4L2 grabber (part 1) (#62)
* Media Foundation grabber adapted to V4L2 change
* Enable Media Foundation grabber on windows
* Have fps as int, fix height typo
* Added video standards to JsonAPI output
* Error handling in source reader improved
* Fix "Frame to small" error
* Discovery VideoSources and Dynamically Update Editor
* Hide all element when no video grabber discovered, upate naming
* Do not show unsupported grabbers
* Copy Log to Clipboard
* Update Grabber schema and Defaults
* Update access levels and validate crop ranges
* Height and width in Qt grabber corrected
* Correct formatting
* Untabify
* Global component states across instances
* Components divided on the dashboard
* refactor
* Fix Merge-issues
* Database migration aligning with updated grabber model
* Align Grabber.js with new utility functions
* Allow editor-validation for enum-lists
* Handle "Show Explainations scenario" correctly
* Grabber - Ensure save is only possible on valid content
* Dashboard update + fix GlobalSignal connection
* Ensure default database is populated with current release
* Correct grabber4L2 access level
* Display Signal detection area in preview
* Write Hyperion version into default config on compiling.
* Create defaultconfig.json dynamically
* WebUI changes
* Correct grabber config look-ups
* Refactor i18n language loading
* Fix en.json
* Split global capture from instance capture config
* Update grabber default values
* Standalone grabber: Add --debug switch
* Enhance showInputOptionsForKey for multiple keys
* Add grabber instance link to system grabber config
* Only show signal detection area, if grabber is enabled
* Always show Active element on grabber page
* Remote control - Only display gabber status, if global grabber is enabled
* WebUI optimization (thx to @mkcologne)
Start Grabber only when global settings are enabled
Fixed an issue in the WebUI preview
* V4L2/MF changes
* Jsoneditor, Correct translation for default values
* Refactor LED-Device handling in UI and make element naming consistent
* MF Discovery extended
* Fix LGTM finding
* Support Grabber Bri, Hue, Sat and Con in UI, plus their defaults
* Concider Access level for item filtering
* Concider Access level for item filtering
* Revert "Concider Access level for item filtering"
This reverts commit 5b0ce3c0f2de67e0c43788190cfff45614706129.
* Disable fpsSoftwareDecimation for framegrabber, as not supported yet
* JSON-Editor- Add updated schema for validation on dynamic elements
* added V4L2 color IDs
* LGTM findings fix
* destroy SR callback only on exit
* Grabber.js - Hide elements not supported by platform
* Fixed freezing start effect
* Grabber UI - Hardware controls - Show current values and allow to reset to defaults
* Grabber - Discovery - Add current values to properties
* Small things
* Clean-up Effects and have ENDLESS consistently defined
* Fix on/off/on priority during startup, by initializing _prevVisComp in line with background priority
* Add missing translation mappings
* DirectX Grabber reactivated/ QT Grabber size decimation fixed
* typo in push-master workflow
* Use PreciseTimer for Grabber to ensure stable FPS timing
* Set default Screencapture rate consistently
* Fix libjpeg-turbo download
* Remove Zero character from file
* docker-compile Add PLATFORM parameter, only copy output file after successful compile
* Framebuffer, Dispmanx, OSX, AML Grabber discovery, various clean-up and consistencies across grabbers
* Fix merge problem - on docker-compile Add PLATFORM parameter, only copy output file after successful compile
* Fix definition
* OSXFRameGrabber - Revert cast
* Clean-ups nach Feedback
* Disable certain libraries when building armlogic via standard stretch image as developer
* Add CEC availability to ServerInfo to have it platform independent
* Grabber UI - Fix problem that crop values are not populated when refining editor rage
* Preserve value when updating json-editor range
* LEDVisualisation - Clear image when source changes
* Fix - Preserve value when updating json-editor range
* LEDVisualisation - Clear image when no component is active
* Allow to have password handled by Password-Manager (#1263)
* Update default signal detection area to green assuming rainbow grabber
* LED Visualisation - Handle empty priority update
* Fix yuv420 in v4l2 grabber
* V4L2-Grabber discovery - Only report grabbers with valid video input information
* Grabber - Update static variables to have them working in release build
* LED Visualisation - ClearImage when no priorities
* LED Visualisation - Fix Logo resizing issue
* LED Visualisation - Have nearly black background and negative logo
Co-authored-by: LordGrey <lordgrey.emmel@gmail.com>
Co-authored-by: LordGrey <48840279+Lord-Grey@users.noreply.github.com>
2021-07-14 20:48:33 +02:00
|
|
|
# Download DirectX End-User Runtimes (June 2010)
|
|
|
|
set(url "https://download.microsoft.com/download/8/4/A/84A35BF1-DAFE-4AE8-82AF-AD2AE20B6B14/directx_Jun2010_redist.exe")
|
2021-07-17 20:55:16 +02:00
|
|
|
if (NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/dx_redist.exe")
|
Media Foundation/V4L2 grabber ... (#1119)
* - New Media Foundation grabber
- JsonAPI available grabber fix
- commented json config removed
* Added libjpeg-turbo to dependencies
* Fix OSX build
Removed Azure Pipelines from build scripts
* Remove Platform from Dashboard
* Correct Grabber Namings
* Grabber UI improvements, generic JSONEditor Selection Update
* Active grabber fix
* Stop Framebuffer grabber on failure
* - Image format NV12 and I420 added
- Flip mode
- Scaling factor for MJPEG
- VSCode (compile before run)
- CI (push) dependency libjpeg-turbo added
* Refactor MediaFoundation (Part 1)
* Remove QDebug output
* Added image flipping ability to MF Grabber
* fix issue 1160
* -Reload MF Grabber only once per WebUI update
- Cleanup
* Improvements
* - Set 'Software Frame Decimation' begin to 0
- Removed grabber specific device name from Log
- Keep pixel format when switching resolution
- Display 'Flip mode' correct in Log
- BGR24 images always flipped
* Refactor MediaFoundation (Part 2)
* Refactor V4L2 grabber (part 1) (#62)
* Media Foundation grabber adapted to V4L2 change
* Enable Media Foundation grabber on windows
* Have fps as int, fix height typo
* Added video standards to JsonAPI output
* Error handling in source reader improved
* Fix "Frame to small" error
* Discovery VideoSources and Dynamically Update Editor
* Hide all element when no video grabber discovered, upate naming
* Do not show unsupported grabbers
* Copy Log to Clipboard
* Update Grabber schema and Defaults
* Update access levels and validate crop ranges
* Height and width in Qt grabber corrected
* Correct formatting
* Untabify
* Global component states across instances
* Components divided on the dashboard
* refactor
* Fix Merge-issues
* Database migration aligning with updated grabber model
* Align Grabber.js with new utility functions
* Allow editor-validation for enum-lists
* Handle "Show Explainations scenario" correctly
* Grabber - Ensure save is only possible on valid content
* Dashboard update + fix GlobalSignal connection
* Ensure default database is populated with current release
* Correct grabber4L2 access level
* Display Signal detection area in preview
* Write Hyperion version into default config on compiling.
* Create defaultconfig.json dynamically
* WebUI changes
* Correct grabber config look-ups
* Refactor i18n language loading
* Fix en.json
* Split global capture from instance capture config
* Update grabber default values
* Standalone grabber: Add --debug switch
* Enhance showInputOptionsForKey for multiple keys
* Add grabber instance link to system grabber config
* Only show signal detection area, if grabber is enabled
* Always show Active element on grabber page
* Remote control - Only display gabber status, if global grabber is enabled
* WebUI optimization (thx to @mkcologne)
Start Grabber only when global settings are enabled
Fixed an issue in the WebUI preview
* V4L2/MF changes
* Jsoneditor, Correct translation for default values
* Refactor LED-Device handling in UI and make element naming consistent
* MF Discovery extended
* Fix LGTM finding
* Support Grabber Bri, Hue, Sat and Con in UI, plus their defaults
* Concider Access level for item filtering
* Concider Access level for item filtering
* Revert "Concider Access level for item filtering"
This reverts commit 5b0ce3c0f2de67e0c43788190cfff45614706129.
* Disable fpsSoftwareDecimation for framegrabber, as not supported yet
* JSON-Editor- Add updated schema for validation on dynamic elements
* added V4L2 color IDs
* LGTM findings fix
* destroy SR callback only on exit
* Grabber.js - Hide elements not supported by platform
* Fixed freezing start effect
* Grabber UI - Hardware controls - Show current values and allow to reset to defaults
* Grabber - Discovery - Add current values to properties
* Small things
* Clean-up Effects and have ENDLESS consistently defined
* Fix on/off/on priority during startup, by initializing _prevVisComp in line with background priority
* Add missing translation mappings
* DirectX Grabber reactivated/ QT Grabber size decimation fixed
* typo in push-master workflow
* Use PreciseTimer for Grabber to ensure stable FPS timing
* Set default Screencapture rate consistently
* Fix libjpeg-turbo download
* Remove Zero character from file
* docker-compile Add PLATFORM parameter, only copy output file after successful compile
* Framebuffer, Dispmanx, OSX, AML Grabber discovery, various clean-up and consistencies across grabbers
* Fix merge problem - on docker-compile Add PLATFORM parameter, only copy output file after successful compile
* Fix definition
* OSXFRameGrabber - Revert cast
* Clean-ups nach Feedback
* Disable certain libraries when building armlogic via standard stretch image as developer
* Add CEC availability to ServerInfo to have it platform independent
* Grabber UI - Fix problem that crop values are not populated when refining editor rage
* Preserve value when updating json-editor range
* LEDVisualisation - Clear image when source changes
* Fix - Preserve value when updating json-editor range
* LEDVisualisation - Clear image when no component is active
* Allow to have password handled by Password-Manager (#1263)
* Update default signal detection area to green assuming rainbow grabber
* LED Visualisation - Handle empty priority update
* Fix yuv420 in v4l2 grabber
* V4L2-Grabber discovery - Only report grabbers with valid video input information
* Grabber - Update static variables to have them working in release build
* LED Visualisation - ClearImage when no priorities
* LED Visualisation - Fix Logo resizing issue
* LED Visualisation - Have nearly black background and negative logo
Co-authored-by: LordGrey <lordgrey.emmel@gmail.com>
Co-authored-by: LordGrey <48840279+Lord-Grey@users.noreply.github.com>
2021-07-14 20:48:33 +02:00
|
|
|
file(DOWNLOAD "${url}" "${CMAKE_CURRENT_BINARY_DIR}/dx_redist.exe"
|
|
|
|
STATUS result
|
|
|
|
)
|
|
|
|
|
|
|
|
# Check if the download is successful
|
|
|
|
list(GET result 0 result_code)
|
2021-07-17 20:55:16 +02:00
|
|
|
if (NOT result_code EQUAL 0)
|
Media Foundation/V4L2 grabber ... (#1119)
* - New Media Foundation grabber
- JsonAPI available grabber fix
- commented json config removed
* Added libjpeg-turbo to dependencies
* Fix OSX build
Removed Azure Pipelines from build scripts
* Remove Platform from Dashboard
* Correct Grabber Namings
* Grabber UI improvements, generic JSONEditor Selection Update
* Active grabber fix
* Stop Framebuffer grabber on failure
* - Image format NV12 and I420 added
- Flip mode
- Scaling factor for MJPEG
- VSCode (compile before run)
- CI (push) dependency libjpeg-turbo added
* Refactor MediaFoundation (Part 1)
* Remove QDebug output
* Added image flipping ability to MF Grabber
* fix issue 1160
* -Reload MF Grabber only once per WebUI update
- Cleanup
* Improvements
* - Set 'Software Frame Decimation' begin to 0
- Removed grabber specific device name from Log
- Keep pixel format when switching resolution
- Display 'Flip mode' correct in Log
- BGR24 images always flipped
* Refactor MediaFoundation (Part 2)
* Refactor V4L2 grabber (part 1) (#62)
* Media Foundation grabber adapted to V4L2 change
* Enable Media Foundation grabber on windows
* Have fps as int, fix height typo
* Added video standards to JsonAPI output
* Error handling in source reader improved
* Fix "Frame to small" error
* Discovery VideoSources and Dynamically Update Editor
* Hide all element when no video grabber discovered, upate naming
* Do not show unsupported grabbers
* Copy Log to Clipboard
* Update Grabber schema and Defaults
* Update access levels and validate crop ranges
* Height and width in Qt grabber corrected
* Correct formatting
* Untabify
* Global component states across instances
* Components divided on the dashboard
* refactor
* Fix Merge-issues
* Database migration aligning with updated grabber model
* Align Grabber.js with new utility functions
* Allow editor-validation for enum-lists
* Handle "Show Explainations scenario" correctly
* Grabber - Ensure save is only possible on valid content
* Dashboard update + fix GlobalSignal connection
* Ensure default database is populated with current release
* Correct grabber4L2 access level
* Display Signal detection area in preview
* Write Hyperion version into default config on compiling.
* Create defaultconfig.json dynamically
* WebUI changes
* Correct grabber config look-ups
* Refactor i18n language loading
* Fix en.json
* Split global capture from instance capture config
* Update grabber default values
* Standalone grabber: Add --debug switch
* Enhance showInputOptionsForKey for multiple keys
* Add grabber instance link to system grabber config
* Only show signal detection area, if grabber is enabled
* Always show Active element on grabber page
* Remote control - Only display gabber status, if global grabber is enabled
* WebUI optimization (thx to @mkcologne)
Start Grabber only when global settings are enabled
Fixed an issue in the WebUI preview
* V4L2/MF changes
* Jsoneditor, Correct translation for default values
* Refactor LED-Device handling in UI and make element naming consistent
* MF Discovery extended
* Fix LGTM finding
* Support Grabber Bri, Hue, Sat and Con in UI, plus their defaults
* Concider Access level for item filtering
* Concider Access level for item filtering
* Revert "Concider Access level for item filtering"
This reverts commit 5b0ce3c0f2de67e0c43788190cfff45614706129.
* Disable fpsSoftwareDecimation for framegrabber, as not supported yet
* JSON-Editor- Add updated schema for validation on dynamic elements
* added V4L2 color IDs
* LGTM findings fix
* destroy SR callback only on exit
* Grabber.js - Hide elements not supported by platform
* Fixed freezing start effect
* Grabber UI - Hardware controls - Show current values and allow to reset to defaults
* Grabber - Discovery - Add current values to properties
* Small things
* Clean-up Effects and have ENDLESS consistently defined
* Fix on/off/on priority during startup, by initializing _prevVisComp in line with background priority
* Add missing translation mappings
* DirectX Grabber reactivated/ QT Grabber size decimation fixed
* typo in push-master workflow
* Use PreciseTimer for Grabber to ensure stable FPS timing
* Set default Screencapture rate consistently
* Fix libjpeg-turbo download
* Remove Zero character from file
* docker-compile Add PLATFORM parameter, only copy output file after successful compile
* Framebuffer, Dispmanx, OSX, AML Grabber discovery, various clean-up and consistencies across grabbers
* Fix merge problem - on docker-compile Add PLATFORM parameter, only copy output file after successful compile
* Fix definition
* OSXFRameGrabber - Revert cast
* Clean-ups nach Feedback
* Disable certain libraries when building armlogic via standard stretch image as developer
* Add CEC availability to ServerInfo to have it platform independent
* Grabber UI - Fix problem that crop values are not populated when refining editor rage
* Preserve value when updating json-editor range
* LEDVisualisation - Clear image when source changes
* Fix - Preserve value when updating json-editor range
* LEDVisualisation - Clear image when no component is active
* Allow to have password handled by Password-Manager (#1263)
* Update default signal detection area to green assuming rainbow grabber
* LED Visualisation - Handle empty priority update
* Fix yuv420 in v4l2 grabber
* V4L2-Grabber discovery - Only report grabbers with valid video input information
* Grabber - Update static variables to have them working in release build
* LED Visualisation - ClearImage when no priorities
* LED Visualisation - Fix Logo resizing issue
* LED Visualisation - Have nearly black background and negative logo
Co-authored-by: LordGrey <lordgrey.emmel@gmail.com>
Co-authored-by: LordGrey <48840279+Lord-Grey@users.noreply.github.com>
2021-07-14 20:48:33 +02:00
|
|
|
list(GET result 1 reason)
|
|
|
|
message(FATAL_ERROR "Could not download DirectX End-User Runtimes: ${reason}")
|
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
|
|
|
|
# Copy DirectX End-User Runtimes to 'hyperion'
|
|
|
|
install(
|
|
|
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/dx_redist.exe
|
|
|
|
DESTINATION "bin"
|
|
|
|
COMPONENT "Hyperion"
|
|
|
|
)
|
|
|
|
endif (ENABLE_DX)
|
|
|
|
|
2020-05-12 19:51:19 +02:00
|
|
|
else()
|
|
|
|
# Run CMake after target was built
|
|
|
|
add_custom_command(
|
|
|
|
TARGET ${TARGET} POST_BUILD
|
2020-07-06 18:53:30 +02:00
|
|
|
COMMAND "${CMAKE_COMMAND}" "-DTARGET_FILE=$<TARGET_FILE:${TARGET}>"
|
2020-05-12 19:51:19 +02:00
|
|
|
ARGS ${CMAKE_SOURCE_DIR}
|
|
|
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
|
|
|
VERBATIM
|
|
|
|
)
|
|
|
|
endif()
|
|
|
|
endmacro()
|