]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/java/CMakeLists.txt
update sources to 12.2.7
[ceph.git] / ceph / src / java / CMakeLists.txt
index 5276bc2c1ddb5d28b407f6aa523aa5ece7e82106..70ed8e6d839309ac9fffda33be80c529d2a8afee 100644 (file)
@@ -15,25 +15,41 @@ set(java_srcs
   java/com/ceph/fs/CephStat.java
   java/com/ceph/fs/CephStatVFS.java)
 
-# note: for the -source 1.5 builds, we add
+# 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.5
+#   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.5" "-target" "1.5" "-Xlint:-options")
-add_jar(libcephfs ${java_srcs})
+set(CMAKE_JAVA_COMPILE_FLAGS "-source" "1.7" "-target" "1.7" "-Xlint:-options")
+set(jni_header_dir "${CMAKE_CURRENT_BINARY_DIR}/native")
+if(Java_VERSION VERSION_LESS 1.8)
+  add_jar(libcephfs ${java_srcs})
+  get_property(libcephfs_jar TARGET libcephfs PROPERTY JAR_FILE)
+  set(java_h native/com_ceph_fs_CephMount.h)
+  add_custom_command(
+    OUTPUT ${java_h}
+    COMMAND ${Java_JAVAH_EXECUTABLE} -classpath ${libcephfs_jar} -jni -o ${java_h} com.ceph.fs.CephMount
+    COMMENT "Building C header files from classes...")
+  add_custom_target(jni-header
+    DEPENDS ${java_h})
+  add_dependencies(jni-header libcephfs)
+else()
+  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)
+endif()
 install_jar(libcephfs share/java)
-get_property(libcephfs_jar TARGET libcephfs PROPERTY JAR_FILE)
-
-set(java_h native/com_ceph_fs_CephMount.h)
-add_custom_command(
-  OUTPUT ${java_h}
-  COMMAND ${Java_JAVAH_EXECUTABLE} -classpath ${libcephfs_jar} -jni -o ${CMAKE_CURRENT_BINARY_DIR}/${java_h} com.ceph.fs.CephMount)
-add_custom_target(
-  jni-header
-  DEPENDS ${java_h})
-add_dependencies(jni-header libcephfs)
 
 find_jar(JUNIT_JAR
   NAMES junit4 junit