summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Doug Junkins <junkins@foghead.com>2019-03-05 04:57:13 +0000
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-03-05 09:01:22 -0800
commita29f7b7b32894d5fa2ffefbfed919c8d8f8e0c1e (patch)
treebd9cadc92c3932b6f9c4fa618863357b7a20d20d
parent10e7835290fef4275fb85e5efc9e37c06887b9e6 (diff)
downloadsubsurface-a29f7b7b32894d5fa2ffefbfed919c8d8f8e0c1e.tar.gz
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>
-rw-r--r--CMakeLists.txt7
-rw-r--r--INSTALL16
2 files changed, 23 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b431fd114..a9addef0c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -186,6 +186,13 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
# in some builds we appear to be missing libz for some strange reason...
# Add ssh2 at the end for openSUSE builds (for recent cmake?)
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")
execute_process(
COMMAND sh scripts/get-version linux
diff --git a/INSTALL b/INSTALL
index 5e211b9bc..184dc2d97 100644
--- a/INSTALL
+++ b/INSTALL
@@ -180,6 +180,22 @@ sudo apt install \
qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools \
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
su -c "apt-get install -y autoconf automake cmake libtool gcc-c++ git \