mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2023-10-10 13:36:59 +02:00
Fix OSX Bundling (#1465)
* Fix OSX Bundling * Fix OSX Bundling - Refined * editorial updates * Update change log * Update version references * Update Link * Test * Pass ENABLE_EFFECTENGINE to install code, correct output messages
This commit is contained in:
parent
2ac8f30bb1
commit
ec71772f98
67
CHANGELOG.md
67
CHANGELOG.md
@ -6,55 +6,72 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
## [Unreleased](https://github.com/hyperion-project/hyperion.ng/compare/2.0.12...HEAD)
|
## [Unreleased](https://github.com/hyperion-project/hyperion.ng/compare/2.0.12...HEAD)
|
||||||
|
|
||||||
### Breaking
|
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Allow to build a "light" version of Hyperion, i.e. no grabbers, or services like flat-/proto buffers, boblight, CEC
|
- Allow to build a "light" version of Hyperion, i.e. no grabbers, or services like flat-/proto buffers, boblight, CEC
|
||||||
- Allow to restart Hyperion via Systray
|
- Allow to restart Hyperion via Systray
|
||||||
- LED-Device: Support retry attempts enabling devices, e.g. to open devices after network or a device itself got available (#1302)
|
|
||||||
(Fixes that devices got "stuck", if initial open failed e.g. for WLED, Hue)
|
|
||||||
- LED-Devices: New UDP-DDP (Distributed Display Protocol) device to overcome the 490 LEDs limitation of UDP-RAW
|
|
||||||
- LED Matrix Layout - Support vertical cabling direction (#1420)
|
|
||||||
- Support additional Yeelight models
|
|
||||||
- LED-Devices: Show warning, if get properties failed (Network devices: indication that network device is not reachable)
|
|
||||||
- hyperion-remote: Show image filename in UI for images sent
|
|
||||||
- mDNS support for all platforms inkl. Windows (#740)
|
- mDNS support for all platforms inkl. Windows (#740)
|
||||||
- LED-Devices mDNS discovery support and ease of configuration (Cololight, Nanoleaf, Philips-Hue, WLED, Yeelight); removes the need to configure IP-Address, as address is resolved automatically.
|
|
||||||
- Forwarder: mDNS discovery support and ease of configuration of other Hyperion instances
|
- Forwarder: mDNS discovery support and ease of configuration of other Hyperion instances
|
||||||
- Grabber: mDNS discovery for standalone grabbers
|
- Grabber: mDNS discovery for standalone grabbers
|
||||||
|
- Grabber: Dynamic loading of the Dispmanx Grabber (#1418)
|
||||||
|
- Flatbuffer/Protobuf are now able to receive RGBA data
|
||||||
|
- Added the instance number as part of the logline (#910). In the UI Log the instance is presented as a readable name.
|
||||||
- New language: Japanese
|
- New language: Japanese
|
||||||
|
|
||||||
|
##### LED-Devices
|
||||||
|
- Support retry attempts enabling devices, e.g. to open devices after network or a device itself got available (#1302). Fixes that devices got "stuck", if initial open failed e.g. for WLED, Hue
|
||||||
|
- New UDP-DDP (Distributed Display Protocol) device to overcome the 490 LEDs limitation of UDP-RAW
|
||||||
|
- mDNS discovery support and ease of configuration (Cololight, Nanoleaf, Philips-Hue, WLED, Yeelight); removes the need to configure IP-Address, as address is resolved automatically.
|
||||||
|
- Allow to disable switching LEDs on during startup (#1390)
|
||||||
|
- Support additional Yeelight models
|
||||||
|
- Show warning, if get properties failed (Network devices: indication that network device is not reachable)
|
||||||
|
- LED Layout Classic: Support keystone correction via draggable corner LEDs
|
||||||
|
- LED Layout Matrix: Support vertical cabling direction (#1420)
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Colors Smoothing is started in pause mode to save resources, when Hyperion starts with no active source
|
- Color Smoothing is started in pause mode to save resources, when Hyperion starts with no active source
|
||||||
- Boblight: Support multiple Boblight clients with different priorities
|
- Boblight: Support multiple Boblight clients with different priorities
|
||||||
|
- UI: LED Preview has been given a touch of Ambilight.
|
||||||
- UI: Allow configuration of a Boblight server per LED-instance
|
- UI: Allow configuration of a Boblight server per LED-instance
|
||||||
- UI: LED Layout - Removed limitations on indention
|
- UI: LED Layout - Removed limitations on indention
|
||||||
- mDNS Publisher :Aligned Hyperion mDNS names to general conventions and simplified namings
|
- UI: Log output and LED preview window can be maximized
|
||||||
|
- mDNS Publisher: Aligned Hyperion mDNS names to general conventions and simplified naming
|
||||||
|
|
||||||
|
##### LED-Devices
|
||||||
- Refactored Philips Hue wizard and LED-Device
|
- Refactored Philips Hue wizard and LED-Device
|
||||||
- LED-Devices: WLED's default streaming protocol is now UDP-DDP. More than 490 LEDs are supported now (requires minimum WLED 0.11.0). UDP-RAW is still supported in parallel (via expert settings).
|
- WLED's default streaming protocol is now UDP-DDP. More than 490 LEDs are supported now (requires minimum WLED 0.11.0). UDP-RAW is still supported in parallel (via expert settings).
|
||||||
|
- Present all serial/TTY devices during discovery in expert mode; no filtering on existing vendor-identifier (Adalight serial USB does not show up in GUI #1458)
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
|
- UI: Ensure all configuration and system info response are there before reloading the page (#1430)
|
||||||
|
- UI: Show all previous log lines in the Log UI (was only working for Debug before)
|
||||||
|
- UI: Remote control: Treat duration=0 as endless
|
||||||
|
- UI: Stop Web-Browser capture when user triggers other activities
|
||||||
- Effects: Fix image URL in Matrix effect
|
- Effects: Fix image URL in Matrix effect
|
||||||
- Effects: Fix that start effect is stuck on UI
|
- Effects: Fix that start effect is stuck on UI
|
||||||
- Fixes that the Led-Device output flow was interrupted, by an enabling API request on an already enabled device (#967
|
- Effects: Fixed that effect specific smoothing setup was not applied when effect is started from available- or effects under configuration
|
||||||
|
- Qt-Grabber: Fixed position handling of multiple monitors (#1320, #1403)
|
||||||
|
- Standalone grabbers: Improved fps help/error text, fixed default address and port, fixed auto discovery of Hyperion server in hyperion-remote
|
||||||
|
- hyperion-remote: Show image filename in UI for images sent
|
||||||
|
- Reworked PriorityMuxer and Subscriptions
|
||||||
|
- PriorityMuxer: Fix crash when running fore- and background effect in parallel during start-up
|
||||||
|
- Update Priority, if first LED changes for COLOR update (to reflect color correctly in UI)
|
||||||
|
- Start JSON and WebServer only, if Hyperion's instance 0 is available
|
||||||
|
- Treat http headers case insensitive (RFC 2616)
|
||||||
|
- Fixed: Signal detection does not switch off all instances (#1281)
|
||||||
|
- Do not kill application on SIGILL-signal (#1435)
|
||||||
|
- Fixed Qt version override, e.g. set via QTDIR
|
||||||
|
- Update jsonschema and checkschema to allow checking hyperion.config.json.default on Windows
|
||||||
|
|
||||||
|
##### LED-Devices
|
||||||
|
- Fixes that the Led-Device output flow was interrupted, by an enabling API request on an already enabled device (#967)
|
||||||
- Yeelight - Workaround: Ignore error when setting music mode = off, but the music-mode is already off (#1372)
|
- Yeelight - Workaround: Ignore error when setting music mode = off, but the music-mode is already off (#1372)
|
||||||
- Fixed: Hue Entertainment mode does not resume after no signal (#930)
|
- Fixed: Hue Entertainment mode does not resume after no signal (#930)
|
||||||
- Standalone grabbers: Improved fps help/error text, fixed default address and port, fixed auto discovery of Hyperion server in hyperion-remote
|
|
||||||
- Fixed Qt version override, e.g. set via QTDIR
|
|
||||||
- Remote control UI: Treat duration=0 as endless
|
|
||||||
- Stop Web-Browser capture when user triggers other activities
|
|
||||||
- Treat http headers case insensitive (RFC 2616)
|
|
||||||
- Qt-Grabber: Fixed position handling of multiple monitors (#1320, #1403)
|
|
||||||
- Fixed: Signal detection does not switch off all instances (#1281)
|
|
||||||
- Reworked PriorityMuxer and Sub-scriptions
|
|
||||||
- Do not kill application on SIGILL-signal (#1435)
|
|
||||||
- Start JSON and WebServer only, if Hyperion's instance 0 is available
|
|
||||||
|
|
||||||
## Removed
|
## Removed
|
||||||
- UI Removed sessions (of other Hyperions)
|
- UI: Removed sessions (of other Hyperions)
|
||||||
- Replaced existing AVAHI/Bonjour code by QMdnsEngine
|
- Replaced existing AVAHI/Bonjour code by QMdnsEngine
|
||||||
|
|
||||||
## [2.0.12](https://github.com/hyperion-project/hyperion.ng/releases/tag/2.0.12) - 2021-11-20
|
## [2.0.12](https://github.com/hyperion-project/hyperion.ng/releases/tag/2.0.12) - 2021-11-20
|
||||||
|
@ -338,16 +338,16 @@ message(STATUS "Services options:")
|
|||||||
addIndent(" - ")
|
addIndent(" - ")
|
||||||
|
|
||||||
option(ENABLE_EFFECTENGINE "Enable Effect-Engine" ${DEFAULT_EFFECTENGINE})
|
option(ENABLE_EFFECTENGINE "Enable Effect-Engine" ${DEFAULT_EFFECTENGINE})
|
||||||
message(STATUS "ENABLE_EFFECTENGINE = " ${ENABLE_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_MDNS "Enable mDNS (aka Zeroconf)" ${DEFAULT_MDNS})
|
option(ENABLE_MDNS "Enable mDNS (aka Zeroconf)" ${DEFAULT_MDNS})
|
||||||
message(STATUS "ENABLE_MDNS = " ${ENABLE_MDNS})
|
message(STATUS "ENABLE_MDNS = ${ENABLE_MDNS}")
|
||||||
|
|
||||||
option(ENABLE_REMOTE_CTL "Enable Hyperion remote control" ${DEFAULT_REMOTE_CTL})
|
option(ENABLE_REMOTE_CTL "Enable Hyperion remote control" ${DEFAULT_REMOTE_CTL})
|
||||||
message(STATUS "ENABLE_REMOTE_CTL = " ${ENABLE_REMOTE_CTL})
|
message(STATUS "ENABLE_REMOTE_CTL = ${ENABLE_REMOTE_CTL}")
|
||||||
|
|
||||||
removeIndent()
|
removeIndent()
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ Released and unreleased changes at [CHANGELOG.md](CHANGELOG.md)
|
|||||||
See [CompileHowto.md](doc/development/CompileHowto.md).
|
See [CompileHowto.md](doc/development/CompileHowto.md).
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
See [Documentation](#documentation) or at [Installation.md](Installation.md).
|
See [Documentation](https://docs.hyperion-project.org/en/user/Installation.html) or at [Installation.md](Installation.md).
|
||||||
|
|
||||||
## Download
|
## Download
|
||||||
Releases available from the [Hyperion release page](https://github.com/hyperion-project/hyperion.ng/releases)
|
Releases available from the [Hyperion release page](https://github.com/hyperion-project/hyperion.ng/releases)
|
||||||
|
@ -9,74 +9,110 @@ macro(DeployMacOS TARGET)
|
|||||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
)
|
)
|
||||||
|
|
||||||
install(CODE "set(TARGET_FILE \"${TARGET_FILE}\") \n set(TARGET_BUNDLE_NAME \"${TARGET}.app\") \n set(PLUGIN_DIR \"${QT_PLUGIN_DIR}\") \n set(BUILD_DIR \"${CMAKE_BINARY_DIR}\")" COMPONENT "Hyperion")
|
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")
|
||||||
|
|
||||||
install(CODE [[
|
install(CODE [[
|
||||||
file(GET_RUNTIME_DEPENDENCIES
|
|
||||||
EXECUTABLES ${TARGET_FILE}
|
|
||||||
RESOLVED_DEPENDENCIES_VAR resolved_deps
|
|
||||||
UNRESOLVED_DEPENDENCIES_VAR unresolved_deps
|
|
||||||
PRE_INCLUDE_REGEXES ".dylib"
|
|
||||||
PRE_EXCLUDE_REGEXES ".*"
|
|
||||||
)
|
|
||||||
|
|
||||||
foreach(dependency ${resolved_deps})
|
file(GET_RUNTIME_DEPENDENCIES
|
||||||
file(INSTALL
|
EXECUTABLES ${TARGET_FILE}
|
||||||
FILES "${dependency}"
|
RESOLVED_DEPENDENCIES_VAR resolved_deps
|
||||||
DESTINATION "${CMAKE_INSTALL_PREFIX}/${TARGET_BUNDLE_NAME}/Contents/Frameworks"
|
UNRESOLVED_DEPENDENCIES_VAR unresolved_deps
|
||||||
TYPE SHARED_LIBRARY
|
|
||||||
)
|
)
|
||||||
endforeach()
|
|
||||||
|
|
||||||
list(LENGTH unresolved_deps unresolved_length)
|
foreach(dependency ${resolved_deps})
|
||||||
if("${unresolved_length}" GREATER 0)
|
string(FIND ${dependency} "dylib" _index)
|
||||||
message(WARNING "The following unresolved dependencies were discovered: ${unresolved_deps}")
|
if (${_index} GREATER -1)
|
||||||
endif()
|
|
||||||
|
|
||||||
foreach(PLUGIN "platforms" "sqldrivers" "imageformats")
|
|
||||||
if(EXISTS ${PLUGIN_DIR}/${PLUGIN})
|
|
||||||
file(GLOB files "${PLUGIN_DIR}/${PLUGIN}/*")
|
|
||||||
foreach(file ${files})
|
|
||||||
get_filename_component(plugin ${file} NAME)
|
|
||||||
list(APPEND QT_PLUGINS "${CMAKE_INSTALL_PREFIX}/${TARGET_BUNDLE_NAME}/Contents/plugins/${PLUGIN}/${plugin}")
|
|
||||||
file(INSTALL
|
file(INSTALL
|
||||||
FILES ${file}
|
FILES "${dependency}"
|
||||||
DESTINATION "${CMAKE_INSTALL_PREFIX}/${TARGET_BUNDLE_NAME}/Contents/plugins/${PLUGIN}"
|
DESTINATION "${CMAKE_INSTALL_PREFIX}/${TARGET_BUNDLE_NAME}/Contents/Frameworks"
|
||||||
TYPE SHARED_LIBRARY
|
TYPE SHARED_LIBRARY
|
||||||
)
|
)
|
||||||
endforeach()
|
else()
|
||||||
|
file(INSTALL
|
||||||
|
FILES "${dependency}"
|
||||||
|
DESTINATION "${CMAKE_INSTALL_PREFIX}/${TARGET_BUNDLE_NAME}/Contents/lib"
|
||||||
|
TYPE SHARED_LIBRARY
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
list(LENGTH unresolved_deps unresolved_length)
|
||||||
|
if("${unresolved_length}" GREATER 0)
|
||||||
|
MESSAGE("The following unresolved dependencies were discovered: ${unresolved_deps}")
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
|
||||||
|
|
||||||
if(ENABLE_EFFECTENGINE)
|
foreach(PLUGIN "platforms" "sqldrivers" "imageformats")
|
||||||
include(BundleUtilities)
|
if(EXISTS ${PLUGIN_DIR}/${PLUGIN})
|
||||||
fixup_bundle("${CMAKE_INSTALL_PREFIX}/${TARGET_BUNDLE_NAME}" "${QT_PLUGINS}" "" IGNORE_ITEM "python;python3;Python;Python3;.Python;.Python3")
|
file(GLOB files "${PLUGIN_DIR}/${PLUGIN}/*")
|
||||||
|
foreach(file ${files})
|
||||||
|
file(GET_RUNTIME_DEPENDENCIES
|
||||||
|
EXECUTABLES ${file}
|
||||||
|
RESOLVED_DEPENDENCIES_VAR PLUGINS
|
||||||
|
UNRESOLVED_DEPENDENCIES_VAR unresolved_deps
|
||||||
|
)
|
||||||
|
|
||||||
# Detect the Python version and modules directory
|
foreach(DEPENDENCY ${PLUGINS})
|
||||||
find_package(Python3 3.5 REQUIRED)
|
file(INSTALL
|
||||||
execute_process(
|
DESTINATION "${CMAKE_INSTALL_PREFIX}/${TARGET_BUNDLE_NAME}/Contents/lib"
|
||||||
COMMAND ${Python3_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(standard_lib=True))"
|
TYPE SHARED_LIBRARY
|
||||||
OUTPUT_VARIABLE PYTHON_MODULES_DIR
|
FILES ${DEPENDENCY}
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
)
|
||||||
)
|
endforeach()
|
||||||
|
|
||||||
# Copy Python modules to '/../Frameworks/Python.framework/Versions/Current/lib/PythonMAJOR.MINOR' and ignore the unnecessary stuff listed below
|
get_filename_component(singleQtLib ${file} NAME)
|
||||||
if (PYTHON_MODULES_DIR)
|
list(APPEND QT_PLUGINS "${CMAKE_INSTALL_PREFIX}/${TARGET_BUNDLE_NAME}/Contents/plugins/${PLUGIN}/${singleQtLib}")
|
||||||
set(PYTHON_VERSION_MAJOR_MINOR "${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}")
|
file(INSTALL
|
||||||
file(
|
FILES ${file}
|
||||||
COPY ${PYTHON_MODULES_DIR}/
|
DESTINATION "${CMAKE_INSTALL_PREFIX}/${TARGET_BUNDLE_NAME}/Contents/plugins/${PLUGIN}"
|
||||||
DESTINATION "${CMAKE_INSTALL_PREFIX}/${TARGET_BUNDLE_NAME}/Contents/Frameworks/Python.framework/Versions/Current/lib/python${PYTHON_VERSION_MAJOR_MINOR}"
|
TYPE SHARED_LIBRARY
|
||||||
PATTERN "*.pyc" EXCLUDE # compiled bytecodes
|
)
|
||||||
PATTERN "__pycache__" EXCLUDE # any cache
|
|
||||||
PATTERN "config-${PYTHON_VERSION_MAJOR_MINOR}*" EXCLUDE # static libs
|
endforeach()
|
||||||
PATTERN "lib2to3" EXCLUDE # automated Python 2 to 3 code translation
|
endif()
|
||||||
PATTERN "tkinter" EXCLUDE # Tk interface
|
endforeach()
|
||||||
PATTERN "turtledemo" EXCLUDE # Tk demo folder
|
|
||||||
PATTERN "turtle.py" EXCLUDE # Tk demo file
|
include(BundleUtilities)
|
||||||
PATTERN "test" EXCLUDE # unittest module
|
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")
|
||||||
PATTERN "sitecustomize.py" EXCLUDE # site-specific configs
|
|
||||||
|
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
|
||||||
)
|
)
|
||||||
endif(PYTHON_MODULES_DIR)
|
|
||||||
endif(ENABLE_EFFECTENGINE)
|
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")
|
||||||
|
|
||||||
]] COMPONENT "Hyperion")
|
]] COMPONENT "Hyperion")
|
||||||
|
|
||||||
else()
|
else()
|
||||||
|
@ -132,16 +132,16 @@ brew install qt5 python3 cmake libusb doxygen
|
|||||||
We assume a 64bit Windows 10. Install the following;
|
We assume a 64bit Windows 10. Install the following;
|
||||||
- [Git](https://git-scm.com/downloads) (Check: Add to PATH)
|
- [Git](https://git-scm.com/downloads) (Check: Add to PATH)
|
||||||
- [CMake (Windows win64-x64 installer)](https://cmake.org/download/) (Check: Add to PATH)
|
- [CMake (Windows win64-x64 installer)](https://cmake.org/download/) (Check: Add to PATH)
|
||||||
- [Visual Studio 2019 Build Tools](https://go.microsoft.com/fwlink/?linkid=840931) ([direct link](https://aka.ms/vs/16/release/vs_buildtools.exe))
|
- [Visual Studio 2022 Community Edition](https://visualstudio.microsoft.com/downloads/#visual-studio-community-2022)
|
||||||
- Select C++ Buildtools
|
- Select 'Desktop development with C++'
|
||||||
- On the right, just select `MSVC v142 VS 2019 C++ x64/x86-Buildtools` and latest `Windows 10 SDK`. Everything else is not needed.
|
- On the right, just select `MSVC v143 VS 2022 C++ x64/x86-Buildtools` and latest `Windows 10 SDK`. Everything else is not needed.
|
||||||
- [Win64 OpenSSL v1.1.1k](https://slproweb.com/products/Win32OpenSSL.html) ([direct link](https://slproweb.com/download/Win64OpenSSL-1_1_1k.exe))
|
- [Win64 OpenSSL v1.1.1k](https://slproweb.com/products/Win32OpenSSL.html) ([direct link](https://slproweb.com/download/Win64OpenSSL-1_1_1k.exe))
|
||||||
- [Python 3 (Windows x86-64 executable installer)](https://www.python.org/downloads/windows/) (Check: Add to PATH and Debug Symbols)
|
- [Python 3 (Windows x86-64 executable installer)](https://www.python.org/downloads/windows/) (Check: Add to PATH and Debug Symbols)
|
||||||
- Open a console window and execute `pip install aqtinstall`.
|
- Open a console window and execute `pip install aqtinstall`.
|
||||||
- Now we can download Qt to _C:\Qt_ `mkdir c:\Qt && aqt install -O c:\Qt 5.15.0 windows desktop win64_msvc2019_64`
|
- Now we can download Qt to _C:\Qt_ `mkdir c:\Qt && aqt install -O c:\Qt 5.15.2 windows desktop win64_msvc2019_64`
|
||||||
- QT6.2 requires the [Vulkan SDK](https://vulkan.lunarg.com/sdk/home) to be installed
|
- QT6.2 requires the [Vulkan SDK](https://vulkan.lunarg.com/sdk/home) to be installed
|
||||||
- [libjpeg-turbo SDK for Visual C++](https://sourceforge.net/projects/libjpeg-turbo/files/)
|
- [libjpeg-turbo SDK for Visual C++](https://sourceforge.net/projects/libjpeg-turbo/files/)
|
||||||
- Download the latest 64bit installer (currently `libjpeg-turbo-2.1.0-vc64.exe`) and install to its default location `C:\libjpeg-turbo64`.
|
- Download the latest 64bit installer (currently `libjpeg-turbo-2.1.3-vc64.exe`) and install to its default location `C:\libjpeg-turbo64`.
|
||||||
|
|
||||||
### Optional:
|
### Optional:
|
||||||
- For DirectX9 grabber:
|
- For DirectX9 grabber:
|
||||||
@ -181,14 +181,14 @@ bin/hyperiond
|
|||||||
|
|
||||||
In case you would like to build with a dedicated Qt version, Either supply ``QTDIR`` as ``-DQTDIR=<path>`` to cmake or set and environment variable ``QTDIR`` pointing to the Qt installation.
|
In case you would like to build with a dedicated Qt version, Either supply ``QTDIR`` as ``-DQTDIR=<path>`` to cmake or set and environment variable ``QTDIR`` pointing to the Qt installation.
|
||||||
|
|
||||||
On Windows MSVC2019 set it via the CMakeSettings.json:
|
On Windows MSVC2022 set it via the CMakeSettings.json:
|
||||||
```posh
|
```posh
|
||||||
"configurations": [
|
"configurations": [
|
||||||
{
|
{
|
||||||
...
|
...
|
||||||
"environments": [
|
"environments": [
|
||||||
{
|
{
|
||||||
"QTDIR": "C:/Qt/6.2.0/msvc2019_64/"
|
"QTDIR": "C:/Qt/6.2.2/msvc2019_64/"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -241,8 +241,8 @@ Platform should be auto detected and refer to windows, you can also force window
|
|||||||
|
|
||||||
```posh
|
```posh
|
||||||
# You might need to setup MSVC env first
|
# You might need to setup MSVC env first
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
|
call "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
|
||||||
cmake -DPLATFORM=windows -G "Visual Studio 16 2019" ..
|
cmake -DPLATFORM=windows -G "Visual Studio 17 2022" ..
|
||||||
```
|
```
|
||||||
|
|
||||||
**Run make to build Hyperion:**
|
**Run make to build Hyperion:**
|
||||||
@ -261,7 +261,7 @@ On Windows run:
|
|||||||
```posh
|
```posh
|
||||||
cmake --build . --config Release -- -maxcpucount
|
cmake --build . --config Release -- -maxcpucount
|
||||||
```
|
```
|
||||||
Maintainer: To build installer, install [NSIS](https://nsis.sourceforge.io/Main_Page) and set env `VCINSTALLDIR="C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC"`
|
Maintainer: To build installer, install [NSIS](https://nsis.sourceforge.io/Main_Page) and set env `VCINSTALLDIR="C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC"`
|
||||||
|
|
||||||
**Install hyperion into your system:**
|
**Install hyperion into your system:**
|
||||||
Copy all necessary files to ``/usr/local/share/hyperion``
|
Copy all necessary files to ``/usr/local/share/hyperion``
|
||||||
|
Loading…
Reference in New Issue
Block a user