mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Make the libssh linking optional
Due to bugs in libgit2, we force linking with libssh2 to add git-over-ssh support. On android we currency don't want libssh2 due to its dependency chain, so this makes the libssh2 force linking opt-out. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
a558f09f8d
commit
1f112c7738
2 changed files with 13 additions and 8 deletions
|
@ -16,6 +16,7 @@ option(NO_DOCS "disable the docs" OFF)
|
|||
option(NO_PRINTING "disable the printing support" ON)
|
||||
option(NO_USERMANUAL "don't include a viewer for the user manual" OFF)
|
||||
option(USE_LIBGIT23_API "allow building with libgit2 master" OFF)
|
||||
option(FORCE_LIBSSH "force linking with libssh to workaround libgit2 bug" ON)
|
||||
option(SUBSURFACE_MOBILE "build the QtQuick version for mobile device" OFF)
|
||||
option(FBSUPPORT "allow posting to Facebook" ON)
|
||||
|
||||
|
@ -54,8 +55,10 @@ if(LIBGIT2_FROM_PKGCONFIG)
|
|||
if(USE_LIBGIT23_API)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSE_LIBGIT23_API")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_LIBGIT23_API")
|
||||
pkg_config_library(LIBSSH2 libssh2 REQUIRED)
|
||||
set(LIBGIT2_LIBRARIES ${LIBGIT2_LIBRARIES} ${LIBSSH2_LIBRARIES})
|
||||
if(FORCE_LIBSSH)
|
||||
pkg_config_library(LIBSSH2 libssh2 REQUIRED)
|
||||
set(LIBGIT2_LIBRARIES ${LIBGIT2_LIBRARIES} ${LIBSSH2_LIBRARIES})
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
find_package(LIBGIT2 REQUIRED)
|
||||
|
@ -63,12 +66,14 @@ else()
|
|||
if(USE_LIBGIT23_API)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSE_LIBGIT23_API")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_LIBGIT23_API")
|
||||
if(FORCE_LIBSSH)
|
||||
find_package(Libssh2 QUIET CONFIG)
|
||||
if ("${LIBSSH2_VERSION}" STRGREATER "1.6.1")
|
||||
set(LIBSSH2_LIBRARIES Libssh2::libssh2)
|
||||
endif()
|
||||
if(!LIBSSH2_FOUND OR "${LIBSSH2_FOUND}" STREQUAL "")
|
||||
pkg_config_library(LIBSSH2 libssh2 REQUIRED)
|
||||
if ("${LIBSSH2_VERSION}" STRGREATER "1.6.1")
|
||||
set(LIBSSH2_LIBRARIES Libssh2::libssh2)
|
||||
endif()
|
||||
if(!LIBSSH2_FOUND OR "${LIBSSH2_FOUND}" STREQUAL "")
|
||||
pkg_config_library(LIBSSH2 libssh2 REQUIRED)
|
||||
endif()
|
||||
endif()
|
||||
find_package(libcurl QUIET)
|
||||
if(!LIBCURL_FOUND OR "${LIBCURL_FOUND}" STREQUAL "")
|
||||
|
|
|
@ -158,7 +158,7 @@ fi
|
|||
|
||||
mkdir -p subsurface-build-$ARCH
|
||||
cd subsurface-build-$ARCH
|
||||
cmake -DCMAKE_SYSTEM_NAME=Android -DLIBDC_FROM_PKGCONFIG=ON -DLIBGIT2_FROM_PKGCONFIG=ON -DUSE_LIBGIT23_API=ON -DNO_MARBLE=ON -DNO_PRINTING=ON -DNO_USERMANUAL=ON -DCMAKE_PREFIX_PATH:UNINITIALIZED=${QT5_ANDROID}/android_${QT_ARCH}/lib/cmake $SUBSURFACE_SOURCE
|
||||
cmake -DCMAKE_SYSTEM_NAME=Android -DFORCE_LIBSSH=OFF -DLIBDC_FROM_PKGCONFIG=ON -DLIBGIT2_FROM_PKGCONFIG=ON -DUSE_LIBGIT23_API=ON -DNO_MARBLE=ON -DNO_PRINTING=ON -DNO_USERMANUAL=ON -DCMAKE_PREFIX_PATH:UNINITIALIZED=${QT5_ANDROID}/android_${QT_ARCH}/lib/cmake $SUBSURFACE_SOURCE
|
||||
make
|
||||
#make install INSTALL_ROOT=android_build
|
||||
# bug in androiddeployqt? why is it looking for something with the builddir in it?
|
||||
|
|
Loading…
Reference in a new issue