Skip to content

Commit 7c76635

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 7c76635

File tree

1 file changed

+31
-27
lines changed

1 file changed

+31
-27
lines changed

analytical_engine/CMakeLists.txt

+31-27
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,17 @@ 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 (NOT JNI_FOUND)
26+
message(WARNING "Disable Java SDK because JNI libraries not found")
27+
set(ENABLE_JAVA_SDK OFF)
28+
endif()
29+
include_directories(SYSTEM ${JAVA_INCLUDE_PATH})
30+
include_directories(SYSTEM ${JAVA_INCLUDE_PATH2})
31+
endif()
32+
2233
if (ENABLE_JAVA_SDK)
2334
#check whether we are using clang.
2435
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
@@ -229,13 +240,6 @@ if (NOT Protobuf_FOUND)
229240
endif()
230241
include_directories(${Protobuf_INCLUDE_DIRS})
231242

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-
239243
find_package(gRPC QUIET)
240244
if(gRPC_FOUND)
241245
set(GRPC_LIBRARIES gRPC::gpr gRPC::grpc gRPC::grpc++)
@@ -290,19 +294,19 @@ target_link_libraries(gs_proto PUBLIC
290294

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

299303
if (ENABLE_JAVA_SDK)
300304
target_sources(gs_util PRIVATE "core/java/javasdk.cc")
301305
target_compile_definitions(gs_util PUBLIC ENABLE_JAVA_SDK)
302306
target_link_libraries(gs_util PRIVATE
303-
${JAVA_JVM_LIBRARY}
304-
${JNI_LIBRARIES}
305-
)
307+
${JAVA_JVM_LIBRARY}
308+
${JNI_LIBRARIES}
309+
)
306310
endif()
307311

308312
add_executable(grape_engine
@@ -313,14 +317,14 @@ add_executable(grape_engine
313317
)
314318
target_include_directories(grape_engine PRIVATE proto utils)
315319
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-
)
320+
gs_proto
321+
gs_util
322+
${LIBGRAPELITE_LIBRARIES}
323+
${GFLAGS_LIBRARIES}
324+
${CMAKE_DL_LIBS}
325+
${Boost_LIBRARIES}
326+
${VINEYARD_LIBRARIES}
327+
)
324328

325329
if (ENABLE_JAVA_SDK)
326330
target_compile_definitions(grape_engine PUBLIC ENABLE_JAVA_SDK)
@@ -571,15 +575,15 @@ install_gsa_dependency_modules("${PROJECT_SOURCE_DIR}/cmake")
571575

572576
configure_file(graphscope-analytical-config.in.cmake
573577
"${PROJECT_BINARY_DIR}/graphscope-analytical-config.cmake" @ONLY
574-
)
578+
)
575579
configure_file(graphscope-analytical-config-version.in.cmake
576580
"${PROJECT_BINARY_DIR}/graphscope-analytical-config-version.cmake" @ONLY
577-
)
581+
)
578582
install(FILES "${PROJECT_BINARY_DIR}/graphscope-analytical-config.cmake"
579583
"${PROJECT_BINARY_DIR}/graphscope-analytical-config-version.cmake"
580584
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/graphscope-analytical
581-
)
585+
)
582586
install(EXPORT graphscope-analytical-targets
583587
FILE graphscope-analytical-targets.cmake
584588
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/graphscope-analytical
585-
)
589+
)

0 commit comments

Comments
 (0)