mirror of
https://github.com/ceph/ceph
synced 2025-01-22 19:15:41 +00:00
df27ed3a38
as JDK 7 is EOL. see http://www.oracle.com/technetwork/java/eol-135779.html and https://www.java.com/en/download/faq/java_7.xml Signed-off-by: Kefu Chai <kchai@redhat.com>
62 lines
2.0 KiB
CMake
62 lines
2.0 KiB
CMake
find_package(Java COMPONENTS Development REQUIRED)
|
|
find_package(JNI REQUIRED)
|
|
include(UseJava)
|
|
|
|
set(java_srcs
|
|
java/com/ceph/crush/Bucket.java
|
|
java/com/ceph/fs/CephAlreadyMountedException.java
|
|
java/com/ceph/fs/CephFileAlreadyExistsException.java
|
|
java/com/ceph/fs/CephFileExtent.java
|
|
java/com/ceph/fs/CephMount.java
|
|
java/com/ceph/fs/CephNativeLoader.java
|
|
java/com/ceph/fs/CephNotDirectoryException.java
|
|
java/com/ceph/fs/CephNotMountedException.java
|
|
java/com/ceph/fs/CephPoolException.java
|
|
java/com/ceph/fs/CephStat.java
|
|
java/com/ceph/fs/CephStatVFS.java)
|
|
|
|
# note: for the -source 1.7 builds, we add
|
|
# -Xlint:-options
|
|
# to get rid of the warning
|
|
# warning: [options] bootstrap class path not set in conjunction with -source 1.7
|
|
# as per
|
|
# https://blogs.oracle.com/darcy/entry/bootclasspath_older_source
|
|
set(CMAKE_JAVA_COMPILE_FLAGS "-source" "1.8" "-target" "1.8" "-Xlint:-options")
|
|
set(jni_header_dir "${CMAKE_CURRENT_BINARY_DIR}/native")
|
|
if(CMAKE_VERSION VERSION_LESS 3.11)
|
|
set(CMAKE_JAVA_COMPILE_FLAGS ${CMAKE_JAVA_COMPILE_FLAGS} "-h" ${jni_header_dir})
|
|
add_jar(libcephfs ${java_srcs})
|
|
add_custom_target(
|
|
jni-header
|
|
DEPENDS libcephfs)
|
|
add_dependencies(jni-header libcephfs)
|
|
else()
|
|
add_jar(libcephfs ${java_srcs}
|
|
GENERATE_NATIVE_HEADERS jni-header
|
|
DESTINATION ${jni_header_dir})
|
|
endif()
|
|
get_property(libcephfs_jar TARGET libcephfs PROPERTY JAR_FILE)
|
|
install_jar(libcephfs share/java)
|
|
|
|
find_jar(JUNIT_JAR
|
|
NAMES junit4 junit
|
|
PATHS "/usr/share/java")
|
|
if(JUNIT_JAR)
|
|
set(CMAKE_JAVA_INCLUDE_PATH ${JUNIT_JAR} ${libcephfs_jar})
|
|
set(java_test_srcs
|
|
test/com/ceph/fs/CephAllTests.java
|
|
test/com/ceph/fs/CephDoubleMountTest.java
|
|
test/com/ceph/fs/CephMountCreateTest.java
|
|
test/com/ceph/fs/CephMountTest.java
|
|
test/com/ceph/fs/CephUnmountedTest.java)
|
|
add_jar(libcephfs-test ${java_test_srcs})
|
|
add_dependencies(libcephfs-test libcephfs)
|
|
install_jar(libcephfs-test share/java)
|
|
endif(JUNIT_JAR)
|
|
|
|
add_subdirectory(native)
|
|
|
|
add_custom_target(java DEPENDS
|
|
libcephfs.jar
|
|
libcephfs_jni)
|