forked from NucleusFramework/ComposePdfReader
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
27 lines (22 loc) · 1.03 KB
/
Copy pathCMakeLists.txt
File metadata and controls
27 lines (22 loc) · 1.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
cmake_minimum_required(VERSION 3.22.1)
project(pdfiumjni LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
add_link_options("-Wl,-z,max-page-size=16384")
# Headers staged by the Gradle task `installPdfiumHeaders`.
set(PDFIUM_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../build/pdfium/include")
if(NOT EXISTS "${PDFIUM_INCLUDE_DIR}")
message(FATAL_ERROR "PDFium headers missing: ${PDFIUM_INCLUDE_DIR}. Run `gradle installPdfiumHeaders` first.")
endif()
# Add libpdfium.so as an imported target — pulled from jniLibs by AGP at runtime.
add_library(pdfium SHARED IMPORTED)
set_target_properties(pdfium PROPERTIES
IMPORTED_LOCATION "${CMAKE_CURRENT_LIST_DIR}/../jniLibs/${ANDROID_ABI}/libpdfium.so"
)
add_library(pdfiumjni SHARED
../../jvmMain/native/pdfium_jni.cpp
pdfium_android.cpp)
target_include_directories(pdfiumjni PRIVATE "${PDFIUM_INCLUDE_DIR}")
target_link_libraries(pdfiumjni PRIVATE pdfium log android jnigraphics)