22set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
33cmake_minimum_required (VERSION 3.18.1 )
44
5- set (CMAKE_ANDROID_STL_TYPE llvm-libc++_static)
6-
75project ("libkiwix_wrapper" )
86
9- add_library (
10- zim_wrapper
7+ set (BUILD_DIR_PATH "${BUILD_DIR} " )
8+
9+ if (CMAKE_SYSTEM_NAME STREQUAL "Linux" )
10+ set (BUILD_DIR_PATH "./../../../build" )
11+ endif ()
12+
13+ include_directories (
14+ ${CMAKE_SOURCE_DIR}
15+ ${BUILD_DIR_PATH} /include/libkiwix
16+ ${BUILD_DIR_PATH} /include/libzim
17+ ${BUILD_DIR_PATH} /include/javah_generated
18+ #${CMAKE_SOURCE_DIR}/include/utils
19+ )
20+
21+ add_library (zim_wrapper
1122
1223 SHARED
1324 libzim/archive.cpp
@@ -23,26 +34,10 @@ add_library(
2334 libzim/suggestion_search.cpp
2435 libzim/suggestion_iterator.cpp
2536 libzim/suggestion_item.cpp
26- )
27-
28- find_library (libzim
29- zim
30- PATHS
31- ${BUILD_DIR} /jniLibs/${CMAKE_ANDROID_ARCH_ABI}/libzim )
32- if (NOT libzim)
33- message (FATAL_ERROR "libzim not found!" )
34- endif ()
35- add_library (libzim SHARED IMPORTED )
36-
37- set_property (TARGET
38- libzim
39- PROPERTY
40- IMPORTED_LOCATION
41- ${BUILD_DIR} /jniLibs/${CMAKE_ANDROID_ARCH_ABI}/libzim/libzim.so )
37+ )
4238
4339
44- add_library (
45- kiwix_wrapper
40+ add_library (kiwix_wrapper
4641
4742 SHARED
4843 libkiwix/book.cpp
@@ -53,45 +48,84 @@ add_library(
5348 libkiwix/bookmark.cpp
5449 libkiwix/manager.cpp
5550 libkiwix/illustration.cpp
56- )
51+ )
5752
58- find_library (libkiwix
59- kiwix
60- PATHS
61- ${BUILD_DIR} /jniLibs/${CMAKE_ANDROID_ARCH_ABI}/libkiwix )
62- if (NOT libkiwix)
63- message (FATAL_ERROR "libkiwix not found!" )
64- endif ()
65- add_library (libkiwix SHARED IMPORTED )
66-
67- set_property (TARGET
68- libkiwix
69- PROPERTY
70- IMPORTED_LOCATION
71- ${BUILD_DIR} /jniLibs/${CMAKE_ANDROID_ARCH_ABI}/libkiwix/libkiwix.so )
53+ # Linux target
54+ if (CMAKE_SYSTEM_NAME STREQUAL "Linux" )
7255
73- include_directories (
74- ${CMAKE_SOURCE_DIR}
75- ${BUILD_DIR} /include/libkiwix
76- ${BUILD_DIR} /include/libzim
77- ${BUILD_DIR} /include/javah_generated
78- #${CMAKE_SOURCE_DIR}/include/utils
79- )
56+ find_package (JNI )
8057
81- find_library (
82- log -lib
83- log )
58+ include_directories (
59+ ${JNI_INCLUDE_DIRS}
60+ )
8461
85- target_link_libraries (
86- zim_wrapper
87- libzim
88- ${log-lib}
89- )
62+ add_library (libzim SHARED IMPORTED )
63+ set_target_properties (libzim PROPERTIES IMPORTED_LOCATION libzim.so )
9064
91- target_link_libraries (
92- kiwix_wrapper
93- libkiwix
94- libzim
95- ${log-lib}
65+ add_library (libkiwix SHARED IMPORTED )
66+ set_target_properties (libkiwix PROPERTIES IMPORTED_LOCATION libkiwix.so )
67+
68+ target_link_libraries (
69+ zim_wrapper
70+ libzim
9671 )
9772
73+ target_link_libraries (
74+ kiwix_wrapper
75+ libkiwix
76+ libzim
77+ )
78+ endif ()
79+
80+ # Android target
81+ if (ANDROID )
82+ set (CMAKE_ANDROID_STL_TYPE llvm-libc++_static)
83+
84+ find_library (
85+ log -lib
86+ log )
87+
88+ find_library (libzim
89+ zim
90+ PATHS
91+ ${BUILD_DIR_PATH} /jniLibs/${CMAKE_ANDROID_ARCH_ABI}/libzim )
92+ if (NOT libzim)
93+ message (FATAL_ERROR "libzim not found!" )
94+ endif ()
95+ add_library (libzim SHARED IMPORTED )
96+
97+ set_property (TARGET
98+ libzim
99+ PROPERTY
100+ IMPORTED_LOCATION
101+ ${BUILD_DIR_PATH} /jniLibs/${CMAKE_ANDROID_ARCH_ABI}/libzim/libzim.so )
102+
103+
104+ find_library (libkiwix
105+ kiwix
106+ PATHS
107+ ${BUILD_DIR_PATH} /jniLibs/${CMAKE_ANDROID_ARCH_ABI}/libkiwix )
108+ if (NOT libkiwix)
109+ message (FATAL_ERROR "libkiwix not found!" )
110+ endif ()
111+ add_library (libkiwix SHARED IMPORTED )
112+
113+ set_property (TARGET
114+ libkiwix
115+ PROPERTY
116+ IMPORTED_LOCATION
117+ ${BUILD_DIR_PATH} /jniLibs/${CMAKE_ANDROID_ARCH_ABI}/libkiwix/libkiwix.so )
118+
119+ target_link_libraries (
120+ zim_wrapper
121+ libzim
122+ ${log-lib}
123+ )
124+
125+ target_link_libraries (
126+ kiwix_wrapper
127+ libkiwix
128+ libzim
129+ ${log-lib}
130+ )
131+ endif ()
0 commit comments