From f0551197350aa91c27656db57164ccab1bf1ac04 Mon Sep 17 00:00:00 2001 From: Loewy Date: Mon, 1 Dec 2025 11:24:24 -0700 Subject: [PATCH] respect frame processor flag when compiling and force 16kb page alignment --- package/android/CMakeLists.txt | 42 ++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/package/android/CMakeLists.txt b/package/android/CMakeLists.txt index 17cec07..a192362 100644 --- a/package/android/CMakeLists.txt +++ b/package/android/CMakeLists.txt @@ -19,9 +19,7 @@ endif() # Add react-native-vision-camera sources -add_library( - ${PACKAGE_NAME} - SHARED +set(SOURCES # Shared C++ ../cpp/MutableRawBuffer.cpp # Java JNI @@ -31,17 +29,33 @@ add_library( src/main/cpp/OpenGLContext.cpp src/main/cpp/OpenGLRenderer.cpp src/main/cpp/MutableJByteBuffer.cpp - # Frame Processor - src/main/cpp/frameprocessor/FrameHostObject.cpp - src/main/cpp/frameprocessor/FrameProcessorPluginHostObject.cpp - src/main/cpp/frameprocessor/JSIJNIConversion.cpp - src/main/cpp/frameprocessor/VisionCameraProxy.cpp - src/main/cpp/frameprocessor/java-bindings/JSharedArray.cpp - src/main/cpp/frameprocessor/java-bindings/JFrame.cpp - src/main/cpp/frameprocessor/java-bindings/JFrameProcessor.cpp - src/main/cpp/frameprocessor/java-bindings/JFrameProcessorPlugin.cpp - src/main/cpp/frameprocessor/java-bindings/JVisionCameraProxy.cpp - src/main/cpp/frameprocessor/java-bindings/JVisionCameraScheduler.cpp +) + +# Only add Frame Processor sources if enabled +if (ENABLE_FRAME_PROCESSORS) + list(APPEND SOURCES + src/main/cpp/frameprocessor/FrameHostObject.cpp + src/main/cpp/frameprocessor/FrameProcessorPluginHostObject.cpp + src/main/cpp/frameprocessor/JSIJNIConversion.cpp + src/main/cpp/frameprocessor/VisionCameraProxy.cpp + src/main/cpp/frameprocessor/java-bindings/JSharedArray.cpp + src/main/cpp/frameprocessor/java-bindings/JFrame.cpp + src/main/cpp/frameprocessor/java-bindings/JFrameProcessor.cpp + src/main/cpp/frameprocessor/java-bindings/JFrameProcessorPlugin.cpp + src/main/cpp/frameprocessor/java-bindings/JVisionCameraProxy.cpp + src/main/cpp/frameprocessor/java-bindings/JVisionCameraScheduler.cpp + ) +endif() + +add_library( + ${PACKAGE_NAME} + SHARED + ${SOURCES} +) + +# Force 16KB page alignment for Android 15+ compatibility +set_target_properties(${PACKAGE_NAME} PROPERTIES + LINK_FLAGS "-Wl,-z,max-page-size=16384" ) # Header Search Paths (includes)