X-Git-Url: https://git.proxmox.com/?p=ceph.git;a=blobdiff_plain;f=ceph%2Fsrc%2Fjava%2FCMakeLists.txt;h=70ed8e6d839309ac9fffda33be80c529d2a8afee;hp=5276bc2c1ddb5d28b407f6aa523aa5ece7e82106;hb=28e407b858acd3bddc89f68583571f771bb42e46;hpb=dfcb7b53b2e4fcd2a5af0240d4975adc711ab96e diff --git a/ceph/src/java/CMakeLists.txt b/ceph/src/java/CMakeLists.txt index 5276bc2c1..70ed8e6d8 100644 --- a/ceph/src/java/CMakeLists.txt +++ b/ceph/src/java/CMakeLists.txt @@ -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