|
17 | 17 |
|
18 | 18 | find_package(AdbcDriverManager)
|
19 | 19 |
|
20 |
| -add_jar(adbc_driver_jni_jar |
21 |
| - SOURCES src/main/java/org/apache/arrow/adbc/driver/jni/impl/NativeAdbc.java |
22 |
| - src/main/java/org/apache/arrow/adbc/driver/jni/impl/NativeAdbcException.java |
23 |
| - src/main/java/org/apache/arrow/adbc/driver/jni/impl/NativeHandle.java |
24 |
| - src/main/java/org/apache/arrow/adbc/driver/jni/impl/NativeQueryResult.java |
25 |
| - GENERATE_NATIVE_HEADERS |
26 |
| - adbc_driver_jni_headers) |
| 20 | +add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/target/headers/org_apache_arrow_adbc_driver_jni_impl_NativeAdbc.h |
| 21 | + COMMENT "Generate JNI headers" |
| 22 | + # Force Maven to actually re-run the command |
| 23 | + COMMAND rm -rf ${CMAKE_CURRENT_SOURCE_DIR}/target/headers |
| 24 | + ${CMAKE_CURRENT_SOURCE_DIR}/target/maven-status |
| 25 | + COMMAND mvn --file ${CMAKE_CURRENT_SOURCE_DIR}/../.. -Pjni,javah |
| 26 | + compile --also-make --projects :adbc-driver-jni |
| 27 | + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/src/main/java/org/apache/arrow/adbc/driver/jni/impl/NativeAdbc.java |
| 28 | +) |
27 | 29 |
|
28 |
| -add_library(adbc_driver_jni SHARED src/main/cpp/jni_wrapper.cc) |
29 |
| -target_link_libraries(adbc_driver_jni adbc_driver_jni_headers JNI::JNI |
| 30 | +add_library(adbc_driver_jni SHARED |
| 31 | + src/main/cpp/jni_wrapper.cc |
| 32 | + ${CMAKE_CURRENT_SOURCE_DIR}/target/headers/org_apache_arrow_adbc_driver_jni_impl_NativeAdbc.h |
| 33 | +) |
| 34 | +target_include_directories(adbc_driver_jni |
| 35 | + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/target/headers) |
| 36 | +target_link_libraries(adbc_driver_jni JNI::JNI |
30 | 37 | AdbcDriverManager::adbc_driver_manager_static)
|
31 | 38 |
|
32 | 39 | set(ADBC_DRIVER_JNI_C_LIBDIR "adbc_driver_jni/${ADBC_ARCH_DIR}")
|
|
0 commit comments