cmake_minimum_required(VERSION 3.22)
project(paseo_diff_prototype)
set(CMAKE_CXX_STANDARD 20)
execute_process(COMMAND node "${CMAKE_CURRENT_SOURCE_DIR}/../cpp/generate-graphemes.mjs" "${CMAKE_CURRENT_BINARY_DIR}/graphemes.h" COMMAND_ERROR_IS_FATAL ANY)

add_library(paseo_diff_prototype SHARED ../cpp/layout.cpp ../cpp/jni.cpp)
target_include_directories(paseo_diff_prototype PRIVATE "${SKIA_PACKAGE}/cpp/skia" "${CMAKE_CURRENT_BINARY_DIR}")
target_compile_definitions(paseo_diff_prototype PRIVATE SK_BUILD_FOR_ANDROID)
target_compile_options(paseo_diff_prototype PRIVATE -O2 -Wall -Wextra)
target_link_options(paseo_diff_prototype PRIVATE "-Wl,-z,max-page-size=16384")
foreach(lib skparagraph skshaper skunicode_core skunicode_icu skia)
  add_library(${lib} STATIC IMPORTED)
  set_target_properties(${lib} PROPERTIES IMPORTED_LOCATION "${SKIA_PACKAGE}/libs/android/${ANDROID_ABI}/lib${lib}.a")
endforeach()
target_link_libraries(paseo_diff_prototype PRIVATE skparagraph skshaper skunicode_core skunicode_icu skia android log EGL GLESv2)
