[Cmake-commits] CMake branch, next, updated. v3.4.1-2009-gab20512

Brad King brad.king at kitware.com
Tue Jan 19 10:38:06 EST 2016


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  ab20512b3440a17f47ea559d2df200b1bfd8a13e (commit)
       via  18c3714f4f4cf35f2b040d887850cb3607345e5d (commit)
      from  5c0d5f06d4e3a021abf17b2469ef7f7e0103b2fd (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ab20512b3440a17f47ea559d2df200b1bfd8a13e
commit ab20512b3440a17f47ea559d2df200b1bfd8a13e
Merge: 5c0d5f0 18c3714
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Jan 19 10:38:05 2016 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue Jan 19 10:38:05 2016 -0500

    Merge topic 'java-updates' into next
    
    18c3714f UseJava: Fix create_javah CLASSPATH handling on Windows


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=18c3714f4f4cf35f2b040d887850cb3607345e5d
commit 18c3714f4f4cf35f2b040d887850cb3607345e5d
Author:     Marc Chevrier <marc.chevrier at sap.com>
AuthorDate: Tue Jan 19 09:52:04 2016 +0100
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Jan 19 10:36:11 2016 -0500

    UseJava: Fix create_javah CLASSPATH handling on Windows
    
    Preserve semicolons in the value.

diff --git a/Modules/UseJava.cmake b/Modules/UseJava.cmake
index 6146d78..adaba02 100644
--- a/Modules/UseJava.cmake
+++ b/Modules/UseJava.cmake
@@ -1212,7 +1212,7 @@ function (create_javah)
 
     set (_output_files)
     if (WIN32 AND NOT CYGWIN AND CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
-      set(_classpath_sep ";")
+      set(_classpath_sep "$<SEMICOLON>")
     else ()
       set(_classpath_sep ":")
     endif()
@@ -1242,7 +1242,7 @@ function (create_javah)
         endif()
       endforeach()
       string (REPLACE ";" "${_classpath_sep}" _classpath "${_classpath}")
-      list (APPEND _javah_options -classpath ${_classpath})
+      list (APPEND _javah_options -classpath "${_classpath}")
     endif()
 
     if (_create_javah_OUTPUT_DIR)
diff --git a/Tests/JavaJavah/C.cpp b/Tests/JavaJavah/C.cpp
new file mode 100644
index 0000000..ec75f42
--- /dev/null
+++ b/Tests/JavaJavah/C.cpp
@@ -0,0 +1,10 @@
+
+#include <jni.h>
+#include <stdio.h>
+
+#include "C.h"
+
+JNIEXPORT void JNICALL Java_C_printName(JNIEnv *, jobject)
+{
+  printf("C\n");
+}
diff --git a/Tests/JavaJavah/C.java b/Tests/JavaJavah/C.java
new file mode 100644
index 0000000..54b1be2
--- /dev/null
+++ b/Tests/JavaJavah/C.java
@@ -0,0 +1,19 @@
+class C
+{
+  public C()
+    {
+    }
+
+    public native void printName();
+
+    static {
+        try {
+
+            System.loadLibrary("B");
+
+        } catch (UnsatisfiedLinkError e) {
+            System.err.println("Native code library failed to load.\n" + e);
+            System.exit(1);
+        }
+    }
+}
diff --git a/Tests/JavaJavah/CMakeLists.txt b/Tests/JavaJavah/CMakeLists.txt
index 83b0ad0..071bf20 100644
--- a/Tests/JavaJavah/CMakeLists.txt
+++ b/Tests/JavaJavah/CMakeLists.txt
@@ -9,10 +9,13 @@ include (UseJava)
 # JNI support
 find_package(JNI)
 
-add_jar(hello3 B.java HelloWorld2.java)
-create_javah(TARGET B_javah CLASSES B CLASSPATH hello3)
+add_jar(B1 B.java)
+add_jar(C1 C.java)
+create_javah(TARGET B_javah CLASSES B C CLASSPATH B1 C1)
 
-add_library(B SHARED B.cpp)
+add_jar(hello3 HelloWorld2.java)
+
+add_library(B SHARED B.cpp C.cpp)
 add_dependencies(B B_javah)
 
 target_include_directories(B PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
diff --git a/Tests/JavaJavah/HelloWorld2.java b/Tests/JavaJavah/HelloWorld2.java
index faf7277..5ff710f 100644
--- a/Tests/JavaJavah/HelloWorld2.java
+++ b/Tests/JavaJavah/HelloWorld2.java
@@ -5,6 +5,11 @@ class HelloWorld2
         B b;
         b = new B();
         b.printName();
+
+        C c;
+        c = new C();
+        c.printName();
+
         System.out.println("Hello World!");
     }
 }

-----------------------------------------------------------------------

Summary of changes:
 Modules/UseJava.cmake              |    4 ++--
 Tests/JavaJavah/C.cpp              |   10 ++++++++++
 Tests/JavaJavah/{B.java => C.java} |    4 ++--
 Tests/JavaJavah/CMakeLists.txt     |    9 ++++++---
 Tests/JavaJavah/HelloWorld2.java   |    5 +++++
 5 files changed, 25 insertions(+), 7 deletions(-)
 create mode 100644 Tests/JavaJavah/C.cpp
 copy Tests/JavaJavah/{B.java => C.java} (93%)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list