# Sets the minimum version of CMake required to build your native library. # This ensures that a certain set of CMake features is available to # your build. cmake_minimum_required(VERSION 3.10) project(PanoPainterQuestNative LANGUAGES C CXX) include(../cmake/PanoPainterAndroidLegacyCompat.cmake) # build native_app_glue as a static lib add_library( app-glue STATIC ../../libs/native_app_glue/android_native_app_glue.c ) add_library(vrapi SHARED IMPORTED) set_target_properties( vrapi PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../../libs/ovr_mobile/lib/${ANDROID_ABI}/libvrapi.so ) add_library(ovrplatformloader SHARED IMPORTED) set_target_properties( ovrplatformloader PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../../libs/ovr_platform/Android/libs/${ANDROID_ABI}/libovrplatformloader.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. 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/YGNode.cpp ../../libs/yoga/yoga/YGNodePrint.cpp ../../libs/yoga/yoga/YGStyle.cpp ../../libs/yoga/yoga/YGValue.cpp ../../libs/yoga/yoga/Yoga.cpp ../../libs/tinyxml2/tinyxml2.cpp ../../libs/jpeg/jpgd.cpp ../../libs/jpeg/jpge.cpp ../../libs/poly2tri/poly2tri/common/shapes.cc ../../libs/poly2tri/poly2tri/sweep/advancing_front.cc ../../libs/poly2tri/poly2tri/sweep/cdt.cc ../../libs/poly2tri/poly2tri/sweep/sweep_context.cc ../../libs/poly2tri/poly2tri/sweep/sweep.cc ../../libs/fmt/src/format.cc ../src/cpp/main.cpp src/main/cpp/oculus_vr.cpp ../../src/pch.cpp ../../src/util.cpp ../../src/rtt.cpp ../../src/bezier.cpp ../../src/asset.cpp ../../src/image.cpp ../../src/texture.cpp ../../src/font.cpp ../../src/shader.cpp ../../src/shape.cpp ../../src/app.cpp ../../src/app_cloud.cpp ../../src/app_dialogs.cpp ../../src/app_events.cpp ../../src/app_layout.cpp ../../src/app_shaders.cpp ../../src/app_vr.cpp ../../src/brush.cpp ../../src/canvas.cpp ../../src/canvas_layer.cpp ../../src/canvas_actions.cpp ../../src/canvas_modes.cpp ../../src/log.cpp ../../src/action.cpp ../../src/layout.cpp ../../src/version.cpp ../../src/node.cpp ../../src/node_about.cpp ../../src/node_border.cpp ../../src/node_button.cpp ../../src/node_button_custom.cpp ../../src/node_canvas.cpp ../../src/node_checkbox.cpp ../../src/node_color_quad.cpp ../../src/node_colorwheel.cpp ../../src/node_combobox.cpp ../../src/node_changelog.cpp ../../src/node_dialog_browse.cpp ../../src/node_dialog_cloud.cpp ../../src/node_dialog_open.cpp ../../src/node_dialog_picker.cpp ../../src/node_dialog_layer_rename.cpp ../../src/node_dialog_resize.cpp ../../src/node_icon.cpp ../../src/node_image.cpp ../../src/node_image_texture.cpp ../../src/node_message_box.cpp ../../src/node_panel_brush.cpp ../../src/node_panel_color.cpp ../../src/node_panel_grid.cpp ../../src/node_panel_floating.cpp ../../src/node_panel_layer.cpp ../../src/node_panel_stroke.cpp ../../src/node_panel_quick.cpp ../../src/node_popup_menu.cpp ../../src/node_progress_bar.cpp ../../src/node_settings.cpp ../../src/node_slider.cpp ../../src/node_stroke_preview.cpp ../../src/node_text.cpp ../../src/node_text_input.cpp ../../src/node_tool_bucket.cpp ../../src/node_usermanual.cpp ../../src/node_viewport.cpp ../../src/node_scroll.cpp ../../src/abr.cpp ../../src/binary_stream.cpp ../../src/serializer.cpp ../../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 src/main/cpp ../src/cpp ../../src ../../libs/glm ../../libs/tinyxml2 ../../libs/yoga ../../libs/stb ../../libs/jpeg ../../libs/curl-android-ios/android/include ../../libs/poly2tri/poly2tri ../../libs/base64 ../../libs/sqlite3 ../../libs/nanort ../../libs/native_app_glue ../../libs/hash-library ../../libs/fmt/include ) # add lib dependencies target_link_libraries( native-lib vrapi ovrplatformloader android app-glue ${CMAKE_SOURCE_DIR}/../../libs/curl-android-ios/android/${ANDROID_ABI}/libcurl.a EGL GLESv3 log z )