cmake_minimum_required(VERSION 3.22)
project(fipsdemo C)

# 16 KB page alignment (required for Google Play targeting Android 15+)
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,max-page-size=16384")

# Pre-built libs staged by bootstrap.sh (extracts from the AAR)
set(JNILIBS "${CMAKE_SOURCE_DIR}/../jniLibs/${ANDROID_ABI}")

add_library(crypto SHARED IMPORTED)
set_target_properties(crypto PROPERTIES IMPORTED_LOCATION "${JNILIBS}/libcrypto.so")

add_library(sqlcipher SHARED IMPORTED)
set_target_properties(sqlcipher PROPERTIES IMPORTED_LOCATION "${JNILIBS}/libsqlcipher.so")

set(STAGED_INCLUDE "${CMAKE_SOURCE_DIR}/include")

add_library(fipsdemo SHARED
    jni_bridge.c
    fips_init.c
    fips_init_android.c
)
target_include_directories(fipsdemo PRIVATE "${CMAKE_SOURCE_DIR}" "${STAGED_INCLUDE}")
target_compile_definitions(fipsdemo PRIVATE SQLITE_HAS_CODEC)
target_link_libraries(fipsdemo PRIVATE crypto sqlcipher log)
