Add support to compile from source on a Raspberry Pi

Update CMakeLists.txt to test if the CMAKE_SYSTEM_PROCESSOR variable is
either armv6l or armv7l. If so, add libGLESv2 to the list of libraries
to be linked to support openGL on embedded systems.

Update INSTALL file to list the packages needed to be installed on
Raspian Stretch or Ubuntu Mate to successfully compile subsurface from
source.

Signed-off-by: Doug Junkins <junkins@foghead.com>
This commit is contained in:
Doug Junkins 2019-03-05 04:57:13 +00:00 committed by Dirk Hohndel
parent 10e7835290
commit a29f7b7b32
2 changed files with 23 additions and 0 deletions

View file

@ -186,6 +186,13 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
# in some builds we appear to be missing libz for some strange reason... # in some builds we appear to be missing libz for some strange reason...
# Add ssh2 at the end for openSUSE builds (for recent cmake?) # Add ssh2 at the end for openSUSE builds (for recent cmake?)
set(SUBSURFACE_LINK_LIBRARIES ${SUBSURFACE_LINK_LIBRARIES} -lssh2 -lz -lpthread) set(SUBSURFACE_LINK_LIBRARIES ${SUBSURFACE_LINK_LIBRARIES} -lssh2 -lz -lpthread)
# Test for ARM processor (Raspberry Pi) and add libGLESv2 if found
if (CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "armv6l")
message (STATUS "Found ARM processor. Adding libGLESv2")
set(SUBSURFACE_LINK_LIBRARIES ${SUBSURFACE_LINK_LIBRARIES} -lGLESv2)
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
endif()
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
execute_process( execute_process(
COMMAND sh scripts/get-version linux COMMAND sh scripts/get-version linux

16
INSTALL
View file

@ -180,6 +180,22 @@ sudo apt install \
qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools \ qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools \
qtquickcontrols2-5-dev qtquickcontrols2-5-dev
On Raspberry Pi (Raspian Stretch and Ubuntu Mate 16.04.2) this seems to work
sudo apt install \
autoconf automake cmake g++ git libcrypto++-dev libcurl4-gnutls-dev \
libgit2-dev libqt5qml5 libqt5quick5 libqt5svg5-dev libqt5webkit5-dev \
libsqlite3-dev libssh2-1-dev libssl-dev libssl-dev \
libtool libusb-1.0-0-dev libxml2-dev libxslt1-dev libzip-dev make \
pkg-config qml-module-qtlocation qml-module-qtpositioning \
qml-module-qtquick2 qt5-default qt5-qmake qtchooser \
qtconnectivity5-dev qtlocation5-dev qtpositioning5-dev qtscript5-dev \
qttools5-dev qttools5-dev-tools
Note that on Ubuntu Mate 16.04.2 on the Raspberry Pi, you may need to configure
some swap space in order for the build to complete successfully. There is no
swap space configured by default. See the dphys-swapfile package.
On PCLinuxOS you appear to need the following packages On PCLinuxOS you appear to need the following packages
su -c "apt-get install -y autoconf automake cmake libtool gcc-c++ git \ su -c "apt-get install -y autoconf automake cmake libtool gcc-c++ git \