On Wed, Aug 17, 2016 at 06:50:35PM +0200, Anton Lundin wrote:
> This fixes the subsurface-mobile build on my Linux desktop and on
> android.
> 
> To get it to run on Linux desktop, set QT_QUICK_CONTROLS_STYLE to
> something that kirigami doesn't know about, like kakor. Otherwise it
> will detect Desktop and die on:
> qrc:/styles/Desktop/Icon.qml:23 module "org.kde.kquickcontrolsaddons" is not 
> installed
> 
> This works with kirigami 32c980c46, when 47fb7821 is reverted.
> 
> Signed-off-by: Anton Lundin <[email protected]>
> ---
> The cmake parts are sketchy at best, and should be fixed in a better way.
> 
> It would also be nice if kirigami static build did have a install target
> that created a dir contaning the needed parts.
> 
>  CMakeLists.txt              |  3 ++-
>  packaging/android/build.sh  | 13 +++++++++----
>  scripts/build.sh            | 10 +++++-----
>  scripts/mobilecomponents.sh |  7 ++++---
>  4 files changed, 20 insertions(+), 13 deletions(-)
> 
> diff --git a/CMakeLists.txt b/CMakeLists.txt
> index a824d03..6328dc0 100644
> --- a/CMakeLists.txt
> +++ b/CMakeLists.txt
> @@ -240,7 +240,8 @@ if(${SUBSURFACE_TARGET_EXECUTABLE} MATCHES 
> "MobileExecutable")
>       endif()
>       ADD_LIBRARY(kirigami_static_library STATIC IMPORTED)
>       SET_TARGET_PROPERTIES(kirigami_static_library PROPERTIES
> -             IMPORTED_LOCATION 
> ${CMAKE_SOURCE_DIR}/../kirigami-build/src/libkirigamiplugin.a)
> +             IMPORTED_LOCATION ${KIRIGAMI_LIBRARY})

No, that breaks the build as KIRIGAMI LIBRARY is not defined in the
CMakeLists.txt file. It's fine to have this work if the value is provided
buy a build script, but there must be a default value so existing builds
don't break with syntax error.


> diff --git a/packaging/android/build.sh b/packaging/android/build.sh
> index d844e8d..4b353e3 100644
> --- a/packaging/android/build.sh
> +++ b/packaging/android/build.sh
> @@ -316,11 +316,15 @@ if [ "$SUBSURFACE_MOBILE" = "ON" ] ; then
>       pushd $SUBSURFACE_SOURCE
>       bash ./scripts/mobilecomponents.sh
>       popd
> -     rm -rf kirigami-build
> -     mkdir -p kirigami-build
> -     pushd kirigami-build
> -     cmake $SUBSURFACE_SOURCE/mobile-widgets/qml/kirigami/ 
> -DSTATIC_LIBRARY=ON 
> -DCMAKE_PREFIX_PATH:UNINITIALIZED=${QT5_ANDROID}/android_${QT_ARCH}/lib/cmake
> +     rm -rf kirigami-build-$ARCH
> +     mkdir -p kirigami-build-$ARCH
> +     pushd kirigami-build-$ARCH
> +     cmake \
> +             $SUBSURFACE_SOURCE/../kirigami/ \
> +             -DSTATIC_LIBRARY=ON \
> +             
> -DCMAKE_PREFIX_PATH:UNINITIALIZED=${QT5_ANDROID}/android_${QT_ARCH}/lib/cmake
>       make -j4
> +     
> KIRIGAMI_LIBRARY="-DKIRIGAMI_LIBRARY=../kirigami-build-$ARCH/src/libkirigamiplugin.a"

I don't like this way of using a variable...

> @@ -361,6 +365,7 @@ cmake $MOBILE_CMAKE \
>       -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
>       -DMAKE_TESTS=OFF \
>       -DFTDISUPPORT=${FTDI} \
> +     $KIRIGAMI_LIBRARY \

I'd rather have
        -DKIRIGAMI_LIBRARY=$KIRIGAMI_LIBRARY


> diff --git a/scripts/build.sh b/scripts/build.sh
> index 02f1095..113ab6f 100755
> --- a/scripts/build.sh
> +++ b/scripts/build.sh
>               make -j4
> +             
> KIRIGAMI_LIBRARY="-DKIRIGAMI_LIBRARY=$SRC/kirigami-build/src/libkirigamiplugin.a"
>       fi
>       cmake -DCMAKE_BUILD_TYPE=Debug .. \
> +             $KIRIGAMI_LIBRARY \
>               -DSUBSURFACE_TARGET_EXECUTABLE=$SUBSURFACE_EXECUTABLE \

Ditto.

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

Reply via email to