Fix some bugs when testing opensds ansible
[stor4nfv.git] / src / 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.5 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.5
22 # as per
23 #   https://blogs.oracle.com/darcy/entry/bootclasspath_older_source
24 set(CMAKE_JAVA_COMPILE_FLAGS "-source" "1.5" "-target" "1.5" "-Xlint:-options")
25 add_jar(libcephfs ${java_srcs})
26 install_jar(libcephfs share/java)
27 get_property(libcephfs_jar TARGET libcephfs PROPERTY JAR_FILE)
28
29 set(java_h native/com_ceph_fs_CephMount.h)
30 add_custom_command(
31   OUTPUT ${java_h}
32   COMMAND ${Java_JAVAH_EXECUTABLE} -classpath ${libcephfs_jar} -jni -o ${CMAKE_CURRENT_BINARY_DIR}/${java_h} com.ceph.fs.CephMount)
33 add_custom_target(
34   jni-header
35   DEPENDS ${java_h})
36 add_dependencies(jni-header libcephfs)
37
38 find_jar(JUNIT_JAR
39   NAMES junit junit4
40   PATHS "/usr/share/java")
41 if(JUNIT_JAR)
42   set(CMAKE_JAVA_INCLUDE_PATH ${JUNIT_JAR} ${libcephfs_jar})
43   set(java_test_srcs
44     test/com/ceph/fs/CephAllTests.java
45     test/com/ceph/fs/CephDoubleMountTest.java
46     test/com/ceph/fs/CephMountCreateTest.java
47     test/com/ceph/fs/CephMountTest.java
48     test/com/ceph/fs/CephUnmountedTest.java)
49   add_jar(libcephfs-test ${java_test_srcs})
50   add_dependencies(libcephfs-test libcephfs)
51   install_jar(libcephfs-test share/java)
52 endif(JUNIT_JAR)
53
54 add_subdirectory(native)
55
56 add_custom_target(java DEPENDS
57   libcephfs.jar
58   libcephfs_jni)