# Builds libsummarize-llm-jni.so = llama.cpp (static) + thin JNI layer. # llama.cpp is expected at ./llama.cpp (pinned by build_arm64.sh), NOT committed here. cmake_minimum_required(VERSION 3.22) project(summarize_llm_jni CXX C) set(LLAMA_BUILD_TESTS OFF CACHE BOOL "" FORCE) set(LLAMA_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) set(LLAMA_BUILD_SERVER OFF CACHE BOOL "" FORCE) set(LLAMA_BUILD_UI OFF CACHE BOOL "" FORCE) set(LLAMA_BUILD_APP OFF CACHE BOOL "" FORCE) set(LLAMA_BUILD_COMMON OFF CACHE BOOL "" FORCE) set(GGML_OPENMP OFF CACHE BOOL "" FORCE) set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE) add_subdirectory(llama.cpp EXCLUDE_FROM_ALL) add_library(summarize-llm-jni SHARED src/summarize_llm_jni.cpp) target_link_libraries(summarize-llm-jni PRIVATE llama android log) target_compile_options(summarize-llm-jni PRIVATE -O2 -fvisibility=hidden) target_link_options(summarize-llm-jni PRIVATE "-Wl,--build-id=sha1" "-Wl,--gc-sections" "-Wl,-z,max-page-size=16384" "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/exports.map")