fix compile issue on rpi (possible caused by latest cmake version)

This commit is contained in:
redpanther 2017-09-02 22:26:22 +02:00
parent 2aa4df92a9
commit aa9248e815
4 changed files with 50 additions and 13 deletions

View File

@ -7,19 +7,16 @@ sudo apt-get update
sudo apt-get install git cmake build-essential qtbase5-dev libqt5serialport5-dev libusb-1.0-0-dev python-dev libxrender-dev libavahi-core-dev libavahi-compat-libdnssd-dev sudo apt-get install git cmake build-essential qtbase5-dev libqt5serialport5-dev libusb-1.0-0-dev python-dev libxrender-dev libavahi-core-dev libavahi-compat-libdnssd-dev
``` ```
**on RPI you need the videocore IV headers**
```
sudo apt-get install libraspberrypi-dev
```
**ATTENTION Win10LinuxSubsystem** we do not (/we can't) support using hyperion in linux subsystem of MS Windows 10, albeit some users tested it with success. Keep in mind to disable **ATTENTION Win10LinuxSubsystem** we do not (/we can't) support using hyperion in linux subsystem of MS Windows 10, albeit some users tested it with success. Keep in mind to disable
all linux specific led and grabber hardware via cmake. Because we use QT as framework in hyperion, serialport leds and network driven devices could work. all linux specific led and grabber hardware via cmake. Because we use QT as framework in hyperion, serialport leds and network driven devices could work.
## RPI Only
when you build on the rapberry pi and include the dispmanx grabber (which is the default)
you also need the firmware including headers installed. This downloads the firmware from the raspberrypi github
and copies the required files to the correct place. The firmware directory can be deleted afterwards if desired.
```
export FIRMWARE_DIR="raspberrypi-firmware"
git clone --depth 1 https://github.com/raspberrypi/firmware.git "$FIRMWARE_DIR"
sudo cp -R "$FIRMWARE_DIR/hardfp/opt/" /
```
## Arch ## Arch
See [AUR](https://aur.archlinux.org/packages/?O=0&SeB=nd&K=hyperion&outdated=&SB=n&SO=a&PP=50&do_Search=Go) for PKGBUILDs on arch. If the PKGBUILD does not work ask questions there please. See [AUR](https://aur.archlinux.org/packages/?O=0&SeB=nd&K=hyperion&outdated=&SB=n&SO=a&PP=50&do_Search=Go) for PKGBUILDs on arch. If the PKGBUILD does not work ask questions there please.
@ -40,9 +37,15 @@ brew install doxygen
# Compiling and installing Hyperion # Compiling and installing Hyperion
### The general quick way (without big comments) ### The general quick way (without big comments)
be sure you fullfill the prerequisites above.
assume your home is /home/pi complete automated process:
```bash
wget -qO- https://raw.githubusercontent.com/hyperion-project/hyperion.ng/master/bin/compile.sh | sh
```
some more detailed way: (or more or less the content of the script above)
be sure you fulfill the prerequisites above.
```bash ```bash
git clone --recursive https://github.com/hyperion-project/hyperion.ng.git hyperion git clone --recursive https://github.com/hyperion-project/hyperion.ng.git hyperion
cd hyperion cd hyperion

27
bin/compile.sh Executable file
View File

@ -0,0 +1,27 @@
#!/bin/sh
TARGET=${1:-hyperion}
CFG="${2:-Release}"
INST="$( [ "${3:-}" = "install" ] && echo true || echo false )"
sudo apt-get update
sudo apt-get install git cmake build-essential qtbase5-dev libqt5serialport5-dev libusb-1.0-0-dev python-dev libxrender-dev libavahi-core-dev libavahi-compat-libdnssd-dev || exit 1
if [ -e /dev/vc-cma -a -e /dev/vc-mem ]
then
sudo apt-get install libraspberrypi-dev || exit 1
fi
git clone --recursive https://github.com/hyperion-project/hyperion.ng.git ${TARGET} || exit 1
rm -rf $TARGET/build
mkdir -p $TARGET/build || exit 1
cd $TARGET/build || exit 1
cmake -DCMAKE_BUILD_TYPE=$CFG .. || exit 1
make -j $(nproc) || exit 1
# optional: install into your system
$INST && sudo make install/strip
echo "to uninstall (not very well tested, please keep that in mind):"
echo " sudo make uninstall"

View File

@ -21,6 +21,13 @@ target_link_libraries(hyperiond
) )
if (ENABLE_DISPMANX) if (ENABLE_DISPMANX)
IF ( "${PLATFORM}" MATCHES rpi)
find_package(BCM REQUIRED)
include_directories(${BCM_INCLUDE_DIRS})
ELSE()
SET(BCM_INCLUDE_DIRS "")
SET(BCM_LIBRARIES "")
ENDIF()
target_link_libraries(hyperiond dispmanx-grabber) target_link_libraries(hyperiond dispmanx-grabber)
endif () endif ()

View File

@ -54,7 +54,7 @@ class SysTray;
class HyperionDaemon : public QObject class HyperionDaemon : public QObject
{ {
Q_OBJECT Q_OBJECT
friend SysTray; friend SysTray;
public: public: