Hola,

Noticed that I stated that I did not had a /usr/include, well, that is
correct when one does not have done a 'xcode-select install' and thus
installed the command line tools.... aha! ;)

Installing that solved quite a bit of the puzzle, hence I've added a
check for that in the third patch. I went for an error, as auto
installing that causes possibly unexpected popups for accepting apple
licenses, thus better to error out at that point.


Find attached three separate tiny patches:
 - [PATCH 1/3] Debug reminder: how to get more verbose details out of
 cmake
 - [PATCH 2/3] Detect Homebrew qt5 + preserve that path in
 CMAKE_PREFIX_PATH and pass it along to cmake
 - [PATCH 3/3] Verify that the Xcode Command Line Tools are installed

If there are any formatting or other general comments, don't hesitate to
fire them back so that I can fix those issues.

I'll test later (likely over the weekend though) on a clean OSX install
to make sure that we have tackled all the possibly missing steps.

Note that my build do not include mysql/postgres support, the build
properly notes that at the end[1]. Also, I only booted the app, did not
do further testing yet, another thing for the weekend.

There are a bunch of other weird build messages that I'll dig in then too.

I'll separate provide these against 4.5, see next mail.

Greets,
 Jeroen

--

[1] "-- two ERRORS here about libmysqlclient and libpq not found are
harmless"
From 0cc6c0d8ec5ce8ba0d34206bb77ec56fd2d656e0 Mon Sep 17 00:00:00 2001
From: Jeroen Massar <[email protected]>
Date: Wed, 16 Mar 2016 08:57:41 +0100
Subject: [PATCH 1/3] Debug reminder: how to get more verbose details out of
 cmake

Signed-off-by: Jeroen Massar <[email protected]>
---
 CMakeLists.txt | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index c636d1f..ea6f17e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,8 @@
 # cmake based build of Subsurface
 
+# Uncomment his to see all commands cmake actually executes
+# set(CMAKE_VERBOSE_MAKEFILE ON)
+
 project(Subsurface)
 cmake_minimum_required(VERSION 2.8.11)
 
-- 
2.7.3

From fc6d411fbbbc317d156fe207e9e636017f901840 Mon Sep 17 00:00:00 2001
From: Jeroen Massar <[email protected]>
Date: Wed, 16 Mar 2016 09:00:37 +0100
Subject: [PATCH 2/3] Detect Homebrew qt5 + preserve that path in
 CMAKE_PREFIX_PATH and pass it along to cmake

Signed-off-by: Jeroen Massar <[email protected]>
---
 scripts/build.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/scripts/build.sh b/scripts/build.sh
index e4164db..a3cad13 100755
--- a/scripts/build.sh
+++ b/scripts/build.sh
@@ -144,6 +144,9 @@ if [ $PLATFORM = Darwin ] ; then
                export CMAKE_PREFIX_PATH=~/Qt/5.5/clang_64/lib/cmake
        elif [ -d "~/Qt/5.6" ] ; then
                export CMAKE_PREFIX_PATH=~/Qt/5.6/clang_64/lib/cmake
+       elif [ -d /usr/local/opt/qt5/lib ] ; then
+               # Homebrew location for qt5 package
+               export CMAKE_PREFIX_PATH=/usr/local/opt/qt5/lib/cmake
        else
                echo "cannot find Qt 5.5 or 5.6 in ~/Qt"
                exit 1
@@ -218,7 +221,7 @@ for (( i=0 ; i < ${#BUILDS[@]} ; i++ )) ; do
 
        mkdir -p $SRC/subsurface/$BUILDDIR
        cd $SRC/subsurface/$BUILDDIR
-       export CMAKE_PREFIX_PATH=$INSTALL_ROOT/lib/cmake
+       export CMAKE_PREFIX_PATH="$INSTALL_ROOT/lib/cmake;${CMAKE_PREFIX_PATH}"
        cmake -DCMAKE_BUILD_TYPE=Debug .. \
                -DSUBSURFACE_TARGET_EXECUTABLE=$SUBSURFACE_EXECUTABLE \
                -DLIBGIT2_INCLUDE_DIR=$INSTALL_ROOT/include \
@@ -227,6 +230,7 @@ for (( i=0 ; i < ${#BUILDS[@]} ; i++ )) ; do
                -DLIBDIVECOMPUTER_LIBRARIES=$INSTALL_ROOT/lib/libdivecomputer.a 
\
                -DMARBLE_INCLUDE_DIR=$INSTALL_ROOT/include \
                
-DMARBLE_LIBRARIES=$INSTALL_ROOT/lib/libssrfmarblewidget.$SH_LIB_EXT \
+               -DCMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH \
                -DNO_PRINTING=OFF
 
        if [ $PLATFORM = Darwin ] ; then
-- 
2.7.3

From e6c0232ed1be9bb36bd079d8f740b9c7862cc502 Mon Sep 17 00:00:00 2001
From: Jeroen Massar <[email protected]>
Date: Wed, 16 Mar 2016 09:02:03 +0100
Subject: [PATCH 3/3] Verify that the Xcode Command Line Tools are installed

Otherwise /usr/include does not exist on a clean-ish install

Signed-off-by: Jeroen Massar <[email protected]>
---
 scripts/build.sh | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/scripts/build.sh b/scripts/build.sh
index a3cad13..36a91c3 100755
--- a/scripts/build.sh
+++ b/scripts/build.sh
@@ -23,6 +23,18 @@ exec 1> >(tee build.log) 2>&1
 SRC=$(pwd)
 PLATFORM=$(uname)
 
+# Verify that the Xcode Command Line Tools are installed
+if [ $PLATFORM = Darwin ] ; then
+       if [ ! -d /usr/include ] ; then
+               echo "Error: Xcode Command Line Tools are not installed"
+               echo ""
+               echo "Please run:"
+               echo " xcode-select --install"
+               echo "to install them (you'll have to agree to Apple's 
licensing terms etc), then run build.sh again"
+               exit 1;
+       fi
+fi
+
 # normally this script builds the desktop version in subsurface/build
 # if the first argument is "-mobile" then build Subsurface-mobile in 
subsurface/build-mobile
 # if the first argument is "-both" then build both in subsurface/build and 
subsurface/build-mobile
-- 
2.7.3

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to