summaryrefslogtreecommitdiff
path: root/next
diff options
context:
space:
mode:
authorJuha Alanen <juha.alanen@mapbox.com>2019-12-19 15:55:39 +0200
committerJuha Alanen <juha.alanen@mapbox.com>2020-01-10 17:19:30 +0200
commit0b3942572e5fc7be575ff15c82a9e31d508609f7 (patch)
treed3ef09c2117a03bee3b85f5e62a5b9a10c285a9c /next
parentf24e4ca0689c023cf5499c4a78ba7a20b3e9a4c0 (diff)
downloadqtlocation-mapboxgl-0b3942572e5fc7be575ff15c82a9e31d508609f7.tar.gz
[test] Run unit tests as NativeActivity application on Android
Diffstat (limited to 'next')
-rw-r--r--next/platform/android/android.cmake51
-rw-r--r--next/platform/linux/linux.cmake6
-rw-r--r--next/test/CMakeLists.txt5
3 files changed, 46 insertions, 16 deletions
diff --git a/next/platform/android/android.cmake b/next/platform/android/android.cmake
index 920c472ffd..59b92f59fb 100644
--- a/next/platform/android/android.cmake
+++ b/next/platform/android/android.cmake
@@ -319,19 +319,53 @@ target_link_libraries(
mbgl-compiler-options
)
-add_executable(
- mbgl-test-runner
- ${MBGL_ROOT}/platform/android/src/test/runtime.cpp ${MBGL_ROOT}/platform/android/src/test/runtime.hpp
+add_library(
+ mbgl-test-runner SHARED
+ ${ANDROID_NDK}/sources/android/native_app_glue/android_native_app_glue.c
${MBGL_ROOT}/platform/android/src/test/test_runner.cpp
+ ${MBGL_ROOT}/platform/android/src/test/test_runner_common.cpp
+ ${MBGL_ROOT}/platform/default/src/mbgl/text/local_glyph_rasterizer.cpp
+ ${MBGL_ROOT}/platform/android/src/test/collator_test_stub.cpp
+ ${MBGL_ROOT}/platform/android/src/test/number_format_test_stub.cpp
+ ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source.cpp
+)
+
+target_include_directories(
+ mbgl-test-runner
+ PRIVATE ${ANDROID_NDK}/sources/android/native_app_glue ${MBGL_ROOT}/platform/android/src ${MBGL_ROOT}/src
)
target_link_libraries(
mbgl-test-runner
PRIVATE
Mapbox::Base::jni.hpp
- mapbox-gl
mbgl-compiler-options
+ -Wl,--whole-archive
mbgl-test
+ -Wl,--no-whole-archive
+)
+
+add_custom_command(
+ TARGET mbgl-test-runner PRE_BUILD
+ COMMAND
+ ${CMAKE_COMMAND}
+ -E
+ make_directory
+ ${MBGL_ROOT}/test/results
+ COMMAND
+ ${CMAKE_COMMAND}
+ -E
+ tar
+ "chf"
+ "test/android/app/src/main/assets/data.zip"
+ --format=zip
+ --files-from=test/android/app/src/main/assets/to_zip.txt
+ COMMAND
+ ${CMAKE_COMMAND}
+ -E
+ remove_directory
+ ${MBGL_ROOT}/test/results
+ WORKING_DIRECTORY ${MBGL_ROOT}
)
add_library(
@@ -343,24 +377,17 @@ add_library(
${MBGL_ROOT}/platform/android/src/test/collator_test_stub.cpp
${MBGL_ROOT}/platform/android/src/test/number_format_test_stub.cpp
${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source.cpp
- ${MBGL_ROOT}/platform/default/src/mbgl/storage/default_file_source.cpp
)
target_include_directories(
mbgl-benchmark-runner
- PRIVATE
- ${ANDROID_NDK}/sources/android/native_app_glue
- ${MBGL_ROOT}/platform/android/src
- ${MBGL_ROOT}/src
- ${MBGL_ROOT}/platform/default/include
+ PRIVATE ${ANDROID_NDK}/sources/android/native_app_glue ${MBGL_ROOT}/platform/android/src ${MBGL_ROOT}/src
)
target_link_libraries(
mbgl-benchmark-runner
PRIVATE
Mapbox::Base::jni.hpp
- android
- log
mbgl-compiler-options
-Wl,--whole-archive
mbgl-benchmark
diff --git a/next/platform/linux/linux.cmake b/next/platform/linux/linux.cmake
index 98787eb04a..6c06a75e61 100644
--- a/next/platform/linux/linux.cmake
+++ b/next/platform/linux/linux.cmake
@@ -96,7 +96,11 @@ target_compile_definitions(
target_link_libraries(
mbgl-test-runner
- PRIVATE mbgl-compiler-options mbgl-test
+ PRIVATE
+ mbgl-compiler-options
+ -Wl,--whole-archive
+ mbgl-test
+ -Wl,--no-whole-archive
)
add_executable(
diff --git a/next/test/CMakeLists.txt b/next/test/CMakeLists.txt
index 761064f5b2..06d8045d0a 100644
--- a/next/test/CMakeLists.txt
+++ b/next/test/CMakeLists.txt
@@ -1,5 +1,5 @@
add_library(
- mbgl-test SHARED EXCLUDE_FROM_ALL
+ mbgl-test STATIC EXCLUDE_FROM_ALL
${MBGL_ROOT}/test/actor/actor.test.cpp
${MBGL_ROOT}/test/actor/actor_ref.test.cpp
${MBGL_ROOT}/test/algorithm/update_renderables.test.cpp
@@ -157,8 +157,7 @@ target_link_libraries(
Mapbox::Base::Extras::args
Mapbox::Base::pixelmatch-cpp
mbgl-compiler-options
- mbgl-core
- $<$<PLATFORM_ID:Android>:mbgl-core-android>
+ PUBLIC mbgl-core
)
target_link_libraries(