cmake_minimum_required(VERSION 3.22)
project(fips_jni C)

set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,max-page-size=16384")

set(SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../src")
set(INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../include")
set(DIST_INCLUDE_DIR "${DIST_INCLUDE}" CACHE PATH "dist/<abi>/include with OpenSSL headers")

add_library(crypto SHARED IMPORTED)
set_target_properties(crypto PROPERTIES IMPORTED_LOCATION "${CRYPTO_LIB}")

add_library(sqlcipher SHARED IMPORTED)
set_target_properties(sqlcipher PROPERTIES IMPORTED_LOCATION "${SQLCIPHER_LIB}")

add_library(fips_jni SHARED
    "${SRC_DIR}/fips_init.c"
    "${SRC_DIR}/fips_init_android.c"
    "${SRC_DIR}/fips_init_jni.c"
    "${SRC_DIR}/fips_db_jni.c"
)
target_include_directories(fips_jni PRIVATE "${INCLUDE_DIR}" "${DIST_INCLUDE_DIR}" "${DIST_INCLUDE_DIR}/sqlcipher")
target_compile_definitions(fips_jni PRIVATE SQLITE_HAS_CODEC)
target_link_libraries(fips_jni PRIVATE crypto sqlcipher log)
