This is the first step to be able to build Subsurface with CMake for
Android.

Signed-off-by: Anton Lundin <[email protected]>
---
 CMakeLists.txt | 22 +++++++++++++++++++---
 android.cpp    |  3 +++
 2 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index f92afea..8764d5a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -155,8 +155,12 @@ if(SUBSURFACE_MOBILE)
        set(QT_QUICK_PKG Quick)
        set(QT_QUICK_LIB Qt5::Quick)
 endif()
-find_package(Qt5 REQUIRED COMPONENTS Core Concurrent Widgets Network 
${WEBKIT_PKG} ${PRINTING_PKG} Svg Test LinguistTools ${QT_QUICK_PKG})
-set(QT_LIBRARIES Qt5::Core Qt5::Concurrent Qt5::Widgets Qt5::Network 
${WEBKIT_LIB} ${PRINTING_LIB} Qt5::Svg ${QT_QUICK_PKG})
+if(CMAKE_SYSTEM_NAME STREQUAL "Android")
+       set(ANDROID_PKG AndroidExtras)
+       set(ANDROID_LIB Qt5::AndroidExtras)
+endif()
+find_package(Qt5 REQUIRED COMPONENTS Core Concurrent Widgets Network 
${WEBKIT_PKG} ${PRINTING_PKG} Svg Test LinguistTools ${QT_QUICK_PKG} 
${ANDROID_PKG})
+set(QT_LIBRARIES Qt5::Core Qt5::Concurrent Qt5::Widgets Qt5::Network 
${WEBKIT_LIB} ${PRINTING_LIB} Qt5::Svg ${QT_QUICK_PKG} ${ANDROID_LIB})
 set(QT_TEST_LIBRARIES ${QT_LIBRARIES} Qt5::Test)
 
 # Generate the ssrf-config.h every 'make'
@@ -223,6 +227,12 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
        # in some builds we appear to be missing libz for some strange reason...
        set(SUBSURFACE_LINK_LIBRARIES ${SUBSURFACE_LINK_LIBRARIES} -lz)
 endif()
+if(CMAKE_SYSTEM_NAME STREQUAL "Android")
+       set(PLATFORM_SRC android.cpp)
+       # FIXME: Shouldn't cmake/Qt add this automatically somehow?
+       add_definitions(-DQ_OS_ANDROID)
+       set(SUBSURFACE_TARGET subsurface)
+endif()
 if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
        set(FBSUPPORT 1)
        set(SUBSURFACE_TARGET Subsurface)
@@ -451,7 +461,13 @@ if(SUBSURFACE_MOBILE)
                subsurface_corelib
                ${SUBSURFACE_LINK_LIBRARIES})
 else()
-       add_executable(${SUBSURFACE_TARGET} MACOSX_BUNDLE WIN32 
${SUBSURFACE_PKG} ${SUBSURFACE_APP} ${SUBSURFACE_RESOURCES})
+       if(CMAKE_SYSTEM_NAME STREQUAL "Android")
+               # FIXME: is this the right way to link somehting which
+               # androiddeployqt can work with?
+               add_library(${SUBSURFACE_TARGET} SHARED ${SUBSURFACE_PKG} 
${SUBSURFACE_APP} ${SUBSURFACE_RESOURCES})
+       else()
+               add_executable(${SUBSURFACE_TARGET} MACOSX_BUNDLE WIN32 
${SUBSURFACE_PKG} ${SUBSURFACE_APP} ${SUBSURFACE_RESOURCES})
+       endif()
        target_link_libraries(
                ${SUBSURFACE_TARGET}
                subsurface_generated_ui
diff --git a/android.cpp b/android.cpp
index 0bb7db0..0b4aadb 100644
--- a/android.cpp
+++ b/android.cpp
@@ -26,6 +26,9 @@ bool subsurface_ignore_font(const char *font)
        return false;
 }
 
+void subsurface_user_info(struct user_info *user)
+{ /* Encourage use of at least libgit2-0.20 */ }
+
 const char *system_default_filename(void)
 {
        /* Replace this when QtCore/QStandardPaths getExternalStorageDirectory 
landed */
-- 
2.1.4

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

Reply via email to