Skip to content

Commit 6c53fba

Browse files
committed
Disable JAVA SDK (with a warning) when JNI not found
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
1 parent ae8d96c commit 6c53fba

File tree

1 file changed

+32
-27
lines changed

1 file changed

+32
-27
lines changed

analytical_engine/CMakeLists.txt

+32-27
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,18 @@ option(LET_IT_CRASH_ON_EXCEPTION "Disable boost leaf's error handling and let it
1919
execute_process(COMMAND uname -m OUTPUT_VARIABLE SYSTEM_PROCESSOR)
2020
string(REGEX REPLACE "\n$" "" SYSTEM_PROCESSOR "${SYSTEM_PROCESSOR}")
2121

22+
# find jni ---------------------------------------------------------------------
23+
if (ENABLE_JAVA_SDK)
24+
find_package(JNI QUIET)
25+
if (JNI_FOUND)
26+
include_directories(SYSTEM ${JAVA_INCLUDE_PATH})
27+
include_directories(SYSTEM ${JAVA_INCLUDE_PATH2})
28+
else()
29+
message(WARNING "Disable Java SDK because JNI libraries not found")
30+
set(ENABLE_JAVA_SDK OFF)
31+
endif()
32+
endif()
33+
2234
if (ENABLE_JAVA_SDK)
2335
#check whether we are using clang.
2436
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
@@ -229,13 +241,6 @@ if (NOT Protobuf_FOUND)
229241
endif()
230242
include_directories(${Protobuf_INCLUDE_DIRS})
231243

232-
if (ENABLE_JAVA_SDK)
233-
# find jni---------------------------------------------------------------------
234-
find_package(JNI REQUIRED)
235-
include_directories(SYSTEM ${JAVA_INCLUDE_PATH})
236-
include_directories(SYSTEM ${JAVA_INCLUDE_PATH2})
237-
endif()
238-
239244
find_package(gRPC QUIET)
240245
if(gRPC_FOUND)
241246
set(GRPC_LIBRARIES gRPC::gpr gRPC::grpc gRPC::grpc++)
@@ -290,19 +295,19 @@ target_link_libraries(gs_proto PUBLIC
290295

291296
add_library(gs_util SHARED "core/flags.cc" "core/launcher.cc")
292297
target_link_libraries(gs_util PRIVATE
293-
${LIBGRAPELITE_LIBRARIES}
294-
${GFLAGS_LIBRARIES}
295-
${VINEYARD_LIBRARIES}
296-
${Boost_LIBRARIES}
297-
)
298+
${LIBGRAPELITE_LIBRARIES}
299+
${GFLAGS_LIBRARIES}
300+
${VINEYARD_LIBRARIES}
301+
${Boost_LIBRARIES}
302+
)
298303

299304
if (ENABLE_JAVA_SDK)
300305
target_sources(gs_util PRIVATE "core/java/javasdk.cc")
301306
target_compile_definitions(gs_util PUBLIC ENABLE_JAVA_SDK)
302307
target_link_libraries(gs_util PRIVATE
303-
${JAVA_JVM_LIBRARY}
304-
${JNI_LIBRARIES}
305-
)
308+
${JAVA_JVM_LIBRARY}
309+
${JNI_LIBRARIES}
310+
)
306311
endif()
307312

308313
add_executable(grape_engine
@@ -313,14 +318,14 @@ add_executable(grape_engine
313318
)
314319
target_include_directories(grape_engine PRIVATE proto utils)
315320
target_link_libraries(grape_engine PRIVATE
316-
gs_proto
317-
gs_util
318-
${LIBGRAPELITE_LIBRARIES}
319-
${GFLAGS_LIBRARIES}
320-
${CMAKE_DL_LIBS}
321-
${Boost_LIBRARIES}
322-
${VINEYARD_LIBRARIES}
323-
)
321+
gs_proto
322+
gs_util
323+
${LIBGRAPELITE_LIBRARIES}
324+
${GFLAGS_LIBRARIES}
325+
${CMAKE_DL_LIBS}
326+
${Boost_LIBRARIES}
327+
${VINEYARD_LIBRARIES}
328+
)
324329

325330
if (ENABLE_JAVA_SDK)
326331
target_compile_definitions(grape_engine PUBLIC ENABLE_JAVA_SDK)
@@ -571,15 +576,15 @@ install_gsa_dependency_modules("${PROJECT_SOURCE_DIR}/cmake")
571576

572577
configure_file(graphscope-analytical-config.in.cmake
573578
"${PROJECT_BINARY_DIR}/graphscope-analytical-config.cmake" @ONLY
574-
)
579+
)
575580
configure_file(graphscope-analytical-config-version.in.cmake
576581
"${PROJECT_BINARY_DIR}/graphscope-analytical-config-version.cmake" @ONLY
577-
)
582+
)
578583
install(FILES "${PROJECT_BINARY_DIR}/graphscope-analytical-config.cmake"
579584
"${PROJECT_BINARY_DIR}/graphscope-analytical-config-version.cmake"
580585
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/graphscope-analytical
581-
)
586+
)
582587
install(EXPORT graphscope-analytical-targets
583588
FILE graphscope-analytical-targets.cmake
584589
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/graphscope-analytical
585-
)
590+
)

0 commit comments

Comments
 (0)