Refresh retained Android package CMake

This commit is contained in:
2026-06-05 12:17:04 +02:00
parent e17463bf5a
commit ac4fef8346
13 changed files with 264 additions and 32 deletions

View File

@@ -2,7 +2,9 @@
# This ensures that a certain set of CMake features is available to
# your build.
cmake_minimum_required(VERSION 3.4.1)
cmake_minimum_required(VERSION 3.10)
include(../cmake/PanoPainterAndroidLegacyCompat.cmake)
link_directories(
../../libs/curl-android-ios/android/${ANDROID_ABI}
@@ -23,11 +25,66 @@ add_library(yuv SHARED IMPORTED)
set_target_properties(yuv PROPERTIES IMPORTED_LOCATION
${CMAKE_SOURCE_DIR}/../../libs/libyuv/lib/android/${ANDROID_ABI}/libyuv.so)
# now build app's shared lib
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
set(PP_MODERN_COMPONENT_SOURCES
../../src/app_core/document_export.cpp
../../src/app_core/document_route.cpp
../../src/app_core/document_session.cpp
../../src/assets/brush_package.cpp
../../src/assets/image_format.cpp
../../src/assets/image_metadata.cpp
../../src/assets/image_pixels.cpp
../../src/assets/ppi_header.cpp
../../src/assets/settings_document.cpp
../../src/document/document.cpp
../../src/document/ppi_export.cpp
../../src/document/ppi_import.cpp
../../src/foundation/binary_stream.cpp
../../src/foundation/event.cpp
../../src/foundation/log.cpp
../../src/foundation/parse.cpp
../../src/foundation/task_queue.cpp
../../src/foundation/trace.cpp
../../src/paint/blend.cpp
../../src/paint/brush.cpp
../../src/paint/stroke.cpp
../../src/paint/stroke_script.cpp
../../src/paint_renderer/compositor.cpp
../../src/platform_api/asset_file_load_policy.cpp
../../src/platform_api/network_tls_policy.cpp
../../src/platform_api/platform_policy.cpp
../../src/platform_api/platform_services.cpp
../../src/platform_legacy/legacy_platform_services.cpp
../../src/renderer_api/recording_renderer.cpp
../../src/renderer_api/renderer_api.cpp
../../src/renderer_api/shader_catalog.cpp
../../src/renderer_gl/command_plan.cpp
../../src/renderer_gl/opengl_capabilities.cpp
../../src/renderer_gl/shader_bindings.cpp
../../src/legacy_app_dialog_services.cpp
../../src/legacy_app_preference_services.cpp
../../src/legacy_app_shell_services.cpp
../../src/legacy_app_startup_services.cpp
../../src/legacy_brush_package_export_services.cpp
../../src/legacy_brush_package_import_services.cpp
../../src/legacy_brush_ui_services.cpp
../../src/legacy_canvas_tool_services.cpp
../../src/legacy_canvas_view_services.cpp
../../src/legacy_cloud_services.cpp
../../src/legacy_document_animation_services.cpp
../../src/legacy_document_canvas_services.cpp
../../src/legacy_document_export_services.cpp
../../src/legacy_document_layer_services.cpp
../../src/legacy_document_open_services.cpp
../../src/legacy_document_session_services.cpp
../../src/legacy_grid_ui_services.cpp
../../src/legacy_history_services.cpp
../../src/legacy_quick_ui_services.cpp
../../src/legacy_recording_services.cpp
)
add_library(
native-lib SHARED
${PP_MODERN_COMPONENT_SOURCES}
../../libs/yoga/yoga/event/event.cpp
../../libs/yoga/yoga/internal/experiments.cpp
../../libs/yoga/yoga/log.cpp
@@ -128,6 +185,10 @@ add_library(
../../src/node_metadata.cpp
)
target_compile_features(native-lib PRIVATE cxx_std_23)
set_target_properties(native-lib PROPERTIES CXX_EXTENSIONS OFF)
pp_configure_legacy_nanort_overlay(native-lib)
target_include_directories(native-lib PRIVATE
src/main/cpp
../src/cpp

View File

@@ -0,0 +1,19 @@
set(PP_ANDROID_LEGACY_COMPAT_DIR "${CMAKE_CURRENT_LIST_DIR}")
function(pp_configure_legacy_nanort_overlay target_name)
set(nanort_source "${PP_ANDROID_LEGACY_COMPAT_DIR}/../../libs/nanort/nanort.h")
set(nanort_overlay_dir "${CMAKE_CURRENT_BINARY_DIR}/generated/nanort_compat")
set(nanort_overlay_header "${nanort_overlay_dir}/nanort.h")
file(READ "${nanort_source}" nanort_header)
string(REPLACE
" const size_t vertex_stride_bytes_;"
" size_t vertex_stride_bytes_;"
nanort_header
"${nanort_header}")
file(MAKE_DIRECTORY "${nanort_overlay_dir}")
file(WRITE "${nanort_overlay_header}" "${nanort_header}")
target_include_directories(${target_name} BEFORE PRIVATE "${nanort_overlay_dir}")
endfunction()

View File

@@ -2,7 +2,9 @@
# This ensures that a certain set of CMake features is available to
# your build.
cmake_minimum_required(VERSION 3.4.1)
cmake_minimum_required(VERSION 3.10)
include(../cmake/PanoPainterAndroidLegacyCompat.cmake)
# build native_app_glue as a static lib
add_library(
@@ -17,23 +19,79 @@ set_target_properties(
${CMAKE_SOURCE_DIR}/../../libs/wave_sdk/wvr_client/lib/${ANDROID_ABI}/libwvr_api.so
)
set(PP_MODERN_COMPONENT_SOURCES
../../src/app_core/document_export.cpp
../../src/app_core/document_route.cpp
../../src/app_core/document_session.cpp
../../src/assets/brush_package.cpp
../../src/assets/image_format.cpp
../../src/assets/image_metadata.cpp
../../src/assets/image_pixels.cpp
../../src/assets/ppi_header.cpp
../../src/assets/settings_document.cpp
../../src/document/document.cpp
../../src/document/ppi_export.cpp
../../src/document/ppi_import.cpp
../../src/foundation/binary_stream.cpp
../../src/foundation/event.cpp
../../src/foundation/log.cpp
../../src/foundation/parse.cpp
../../src/foundation/task_queue.cpp
../../src/foundation/trace.cpp
../../src/paint/blend.cpp
../../src/paint/brush.cpp
../../src/paint/stroke.cpp
../../src/paint/stroke_script.cpp
../../src/paint_renderer/compositor.cpp
../../src/platform_api/asset_file_load_policy.cpp
../../src/platform_api/network_tls_policy.cpp
../../src/platform_api/platform_policy.cpp
../../src/platform_api/platform_services.cpp
../../src/platform_legacy/legacy_platform_services.cpp
../../src/renderer_api/recording_renderer.cpp
../../src/renderer_api/renderer_api.cpp
../../src/renderer_api/shader_catalog.cpp
../../src/renderer_gl/command_plan.cpp
../../src/renderer_gl/opengl_capabilities.cpp
../../src/renderer_gl/shader_bindings.cpp
../../src/legacy_app_dialog_services.cpp
../../src/legacy_app_preference_services.cpp
../../src/legacy_app_shell_services.cpp
../../src/legacy_app_startup_services.cpp
../../src/legacy_brush_package_export_services.cpp
../../src/legacy_brush_package_import_services.cpp
../../src/legacy_brush_ui_services.cpp
../../src/legacy_canvas_tool_services.cpp
../../src/legacy_canvas_view_services.cpp
../../src/legacy_cloud_services.cpp
../../src/legacy_document_animation_services.cpp
../../src/legacy_document_canvas_services.cpp
../../src/legacy_document_export_services.cpp
../../src/legacy_document_layer_services.cpp
../../src/legacy_document_open_services.cpp
../../src/legacy_document_session_services.cpp
../../src/legacy_grid_ui_services.cpp
../../src/legacy_history_services.cpp
../../src/legacy_quick_ui_services.cpp
../../src/legacy_recording_services.cpp
)
# Specifies a library name, specifies whether the library is STATIC or
# SHARED, and provides relative paths to the source code. You can
# define multiple libraries by adding multiple add.library() commands,
# and CMake builds them for you. When you build your app, Gradle
# automatically packages shared libraries with your APK.
# now build app's shared lib
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
add_library(
native-lib SHARED
${PP_MODERN_COMPONENT_SOURCES}
../../libs/yoga/yoga/event/event.cpp
../../libs/yoga/yoga/internal/experiments.cpp
../../libs/yoga/yoga/log.cpp
../../libs/yoga/yoga/Utils.cpp
../../libs/yoga/yoga/YGConfig.cpp
../../libs/yoga/yoga/YGEnums.cpp
../../libs/yoga/yoga/YGLayout.cpp
../../libs/yoga/yoga/YGMarker.cpp
../../libs/yoga/yoga/YGNode.cpp
../../libs/yoga/yoga/YGNodePrint.cpp
../../libs/yoga/yoga/YGStyle.cpp
@@ -121,6 +179,10 @@ add_library(
../../src/settings.cpp
)
target_compile_features(native-lib PRIVATE cxx_std_23)
set_target_properties(native-lib PROPERTIES CXX_EXTENSIONS OFF)
pp_configure_legacy_nanort_overlay(native-lib)
target_include_directories(native-lib PRIVATE
../../libs/wave_sdk/wvr_client/include
src/main/cpp

View File

@@ -2,7 +2,9 @@
# This ensures that a certain set of CMake features is available to
# your build.
cmake_minimum_required(VERSION 3.4.1)
cmake_minimum_required(VERSION 3.10)
include(../cmake/PanoPainterAndroidLegacyCompat.cmake)
# build native_app_glue as a static lib
add_library(
@@ -25,23 +27,79 @@ set_target_properties(
)
set(PP_MODERN_COMPONENT_SOURCES
../../src/app_core/document_export.cpp
../../src/app_core/document_route.cpp
../../src/app_core/document_session.cpp
../../src/assets/brush_package.cpp
../../src/assets/image_format.cpp
../../src/assets/image_metadata.cpp
../../src/assets/image_pixels.cpp
../../src/assets/ppi_header.cpp
../../src/assets/settings_document.cpp
../../src/document/document.cpp
../../src/document/ppi_export.cpp
../../src/document/ppi_import.cpp
../../src/foundation/binary_stream.cpp
../../src/foundation/event.cpp
../../src/foundation/log.cpp
../../src/foundation/parse.cpp
../../src/foundation/task_queue.cpp
../../src/foundation/trace.cpp
../../src/paint/blend.cpp
../../src/paint/brush.cpp
../../src/paint/stroke.cpp
../../src/paint/stroke_script.cpp
../../src/paint_renderer/compositor.cpp
../../src/platform_api/asset_file_load_policy.cpp
../../src/platform_api/network_tls_policy.cpp
../../src/platform_api/platform_policy.cpp
../../src/platform_api/platform_services.cpp
../../src/platform_legacy/legacy_platform_services.cpp
../../src/renderer_api/recording_renderer.cpp
../../src/renderer_api/renderer_api.cpp
../../src/renderer_api/shader_catalog.cpp
../../src/renderer_gl/command_plan.cpp
../../src/renderer_gl/opengl_capabilities.cpp
../../src/renderer_gl/shader_bindings.cpp
../../src/legacy_app_dialog_services.cpp
../../src/legacy_app_preference_services.cpp
../../src/legacy_app_shell_services.cpp
../../src/legacy_app_startup_services.cpp
../../src/legacy_brush_package_export_services.cpp
../../src/legacy_brush_package_import_services.cpp
../../src/legacy_brush_ui_services.cpp
../../src/legacy_canvas_tool_services.cpp
../../src/legacy_canvas_view_services.cpp
../../src/legacy_cloud_services.cpp
../../src/legacy_document_animation_services.cpp
../../src/legacy_document_canvas_services.cpp
../../src/legacy_document_export_services.cpp
../../src/legacy_document_layer_services.cpp
../../src/legacy_document_open_services.cpp
../../src/legacy_document_session_services.cpp
../../src/legacy_grid_ui_services.cpp
../../src/legacy_history_services.cpp
../../src/legacy_quick_ui_services.cpp
../../src/legacy_recording_services.cpp
)
# Specifies a library name, specifies whether the library is STATIC or
# SHARED, and provides relative paths to the source code. You can
# define multiple libraries by adding multiple add.library() commands,
# and CMake builds them for you. When you build your app, Gradle
# automatically packages shared libraries with your APK.
# now build app's shared lib
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
add_library(
native-lib SHARED
${PP_MODERN_COMPONENT_SOURCES}
../../libs/yoga/yoga/event/event.cpp
../../libs/yoga/yoga/internal/experiments.cpp
../../libs/yoga/yoga/log.cpp
../../libs/yoga/yoga/Utils.cpp
../../libs/yoga/yoga/YGConfig.cpp
../../libs/yoga/yoga/YGEnums.cpp
../../libs/yoga/yoga/YGLayout.cpp
../../libs/yoga/yoga/YGMarker.cpp
../../libs/yoga/yoga/YGNode.cpp
../../libs/yoga/yoga/YGNodePrint.cpp
../../libs/yoga/yoga/YGStyle.cpp
@@ -129,6 +187,10 @@ add_library(
../../src/settings.cpp
)
target_compile_features(native-lib PRIVATE cxx_std_23)
set_target_properties(native-lib PROPERTIES CXX_EXTENSIONS OFF)
pp_configure_legacy_nanort_overlay(native-lib)
target_include_directories(native-lib PRIVATE
../../libs/ovr_mobile/include
../../libs/ovr_platform/Include

View File

@@ -35,7 +35,9 @@
#include "keymap.h"
#include "main.h"
#include "settings.h"
#if __has_include("com_omixlab_panopainter_MainActivity.h")
#include "com_omixlab_panopainter_MainActivity.h"
#endif
#ifdef __QUEST__
#include "oculus_vr.h"