@@ -33,27 +33,35 @@ FetchContent_MakeAvailable(llama.cpp)
3333
3434# find which OS we build for if not set (make sure to run mvn compile first)
3535if (NOT DEFINED OS_NAME)
36- find_package (Java REQUIRED )
37- find_program (JAVA_EXECUTABLE NAMES java )
38- execute_process (
39- COMMAND ${JAVA_EXECUTABLE} -cp ${CMAKE_SOURCE_DIR} /target/classes de.kherud.llama.OSInfo --os
40- OUTPUT_VARIABLE OS_NAME
41- OUTPUT_STRIP_TRAILING_WHITESPACE
42- )
36+ if (ANDROID_ABI)
37+ set (OS_NAME "Android" )
38+ else ()
39+ find_package (Java REQUIRED )
40+ find_program (JAVA_EXECUTABLE NAMES java )
41+ execute_process (
42+ COMMAND ${JAVA_EXECUTABLE} -cp ${CMAKE_SOURCE_DIR} /target/classes de.kherud.llama.OSInfo --os
43+ OUTPUT_VARIABLE OS_NAME
44+ OUTPUT_STRIP_TRAILING_WHITESPACE
45+ )
46+ endif ()
4347endif ()
4448if (NOT OS_NAME)
4549 message (FATAL_ERROR "Could not determine OS name" )
4650endif ()
4751
4852# find which architecture we build for if not set (make sure to run mvn compile first)
4953if (NOT DEFINED OS_ARCH)
50- find_package (Java REQUIRED )
51- find_program (JAVA_EXECUTABLE NAMES java )
52- execute_process (
53- COMMAND ${JAVA_EXECUTABLE} -cp ${CMAKE_SOURCE_DIR} /target/classes de.kherud.llama.OSInfo --arch
54- OUTPUT_VARIABLE OS_ARCH
55- OUTPUT_STRIP_TRAILING_WHITESPACE
56- )
54+ if (ANDROID_ABI)
55+ set (OS_ARCH ${ANDROID_ABI} )
56+ else ()
57+ find_package (Java REQUIRED )
58+ find_program (JAVA_EXECUTABLE NAMES java )
59+ execute_process (
60+ COMMAND ${JAVA_EXECUTABLE} -cp ${CMAKE_SOURCE_DIR} /target/classes de.kherud.llama.OSInfo --arch
61+ OUTPUT_VARIABLE OS_ARCH
62+ OUTPUT_STRIP_TRAILING_WHITESPACE
63+ )
64+ endif ()
5765endif ()
5866if (NOT OS_ARCH)
5967 message (FATAL_ERROR "Could not determine CPU architecture" )
@@ -89,7 +97,12 @@ if(NOT DEFINED JNI_INCLUDE_DIRS)
8997 endif ()
9098endif ()
9199if (NOT JNI_INCLUDE_DIRS)
92- message (FATAL_ERROR "Could not determine JNI include directories" )
100+ if (ANDROID_ABI)
101+ find_package (JNI REQUIRED )
102+ set (JNI_INCLUDE_DIRS ${JNI_INCLUDE_DIRS} )
103+ else ()
104+ message (FATAL_ERROR "Could not determine JNI include directories" )
105+ endif ()
93106endif ()
94107
95108add_library (jllama SHARED src/main/cpp/jllama.cpp src/main/cpp/server.hpp src/main/cpp/utils.hpp )
0 commit comments