]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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 | ||
28e407b8 | 18 | # note: for the -source 1.7 builds, we add |
7c673cae FG |
19 | # -Xlint:-options |
20 | # to get rid of the warning | |
28e407b8 | 21 | # warning: [options] bootstrap class path not set in conjunction with -source 1.7 |
7c673cae FG |
22 | # as per |
23 | # https://blogs.oracle.com/darcy/entry/bootclasspath_older_source | |
11fdf7f2 | 24 | set(CMAKE_JAVA_COMPILE_FLAGS "-source" "1.8" "-target" "1.8" "-Xlint:-options") |
28e407b8 | 25 | set(jni_header_dir "${CMAKE_CURRENT_BINARY_DIR}/native") |
11fdf7f2 TL |
26 | if(CMAKE_VERSION VERSION_LESS 3.11) |
27 | set(CMAKE_JAVA_COMPILE_FLAGS ${CMAKE_JAVA_COMPILE_FLAGS} "-h" ${jni_header_dir}) | |
28e407b8 | 28 | add_jar(libcephfs ${java_srcs}) |
11fdf7f2 TL |
29 | add_custom_target( |
30 | jni-header | |
31 | DEPENDS libcephfs) | |
28e407b8 AA |
32 | add_dependencies(jni-header libcephfs) |
33 | else() | |
11fdf7f2 TL |
34 | add_jar(libcephfs ${java_srcs} |
35 | GENERATE_NATIVE_HEADERS jni-header | |
36 | DESTINATION ${jni_header_dir}) | |
28e407b8 | 37 | endif() |
11fdf7f2 | 38 | get_property(libcephfs_jar TARGET libcephfs PROPERTY JAR_FILE) |
7c673cae | 39 | install_jar(libcephfs share/java) |
7c673cae FG |
40 | |
41 | find_jar(JUNIT_JAR | |
94b18763 | 42 | NAMES junit4 junit |
7c673cae FG |
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) |