]> git.proxmox.com Git - ceph.git/blob - ceph/src/java/CMakeLists.txt
bump version to 18.2.2-pve1
[ceph.git] / ceph / src / java / CMakeLists.txt
1 find_package(Java COMPONENTS Development REQUIRED)
2 find_package(JNI REQUIRED)
3 include(UseJava)
4
5 set(java_srcs
6 java/com/ceph/crush/Bucket.java
7 java/com/ceph/fs/CephAlreadyMountedException.java
8 java/com/ceph/fs/CephFileAlreadyExistsException.java
9 java/com/ceph/fs/CephFileExtent.java
10 java/com/ceph/fs/CephMount.java
11 java/com/ceph/fs/CephNativeLoader.java
12 java/com/ceph/fs/CephNotDirectoryException.java
13 java/com/ceph/fs/CephNotMountedException.java
14 java/com/ceph/fs/CephPoolException.java
15 java/com/ceph/fs/CephStat.java
16 java/com/ceph/fs/CephStatVFS.java)
17
18 # note: for the -source 1.7 builds, we add
19 # -Xlint:-options
20 # to get rid of the warning
21 # warning: [options] bootstrap class path not set in conjunction with -source 1.7
22 # as per
23 # https://blogs.oracle.com/darcy/entry/bootclasspath_older_source
24 set(CMAKE_JAVA_COMPILE_FLAGS "-source" "1.8" "-target" "1.8" "-Xlint:-options")
25 set(jni_header_dir "${CMAKE_CURRENT_BINARY_DIR}/native")
26 if(CMAKE_VERSION VERSION_LESS 3.11)
27 set(CMAKE_JAVA_COMPILE_FLAGS ${CMAKE_JAVA_COMPILE_FLAGS} "-h" ${jni_header_dir})
28 add_jar(libcephfs ${java_srcs})
29 add_custom_target(
30 jni-header
31 DEPENDS libcephfs)
32 add_dependencies(jni-header libcephfs)
33 else()
34 add_jar(libcephfs ${java_srcs}
35 GENERATE_NATIVE_HEADERS jni-header
36 DESTINATION ${jni_header_dir})
37 endif()
38 get_property(libcephfs_jar TARGET libcephfs PROPERTY JAR_FILE)
39 install_jar(libcephfs share/java)
40
41 find_jar(JUNIT_JAR
42 NAMES junit4 junit
43 PATHS "/usr/share/java")
44 if(JUNIT_JAR)
45 set(CMAKE_JAVA_INCLUDE_PATH ${JUNIT_JAR} ${libcephfs_jar})
46 set(java_test_srcs
47 test/com/ceph/fs/CephAllTests.java
48 test/com/ceph/fs/CephDoubleMountTest.java
49 test/com/ceph/fs/CephMountCreateTest.java
50 test/com/ceph/fs/CephMountTest.java
51 test/com/ceph/fs/CephUnmountedTest.java)
52 add_jar(libcephfs-test ${java_test_srcs})
53 add_dependencies(libcephfs-test libcephfs)
54 install_jar(libcephfs-test share/java)
55 endif(JUNIT_JAR)
56
57 add_subdirectory(native)
58
59 add_custom_target(java DEPENDS
60 libcephfs.jar
61 libcephfs_jni)