diff options
author | Marc Chevrier <marc.chevrier@sap.com> | 2016-01-19 08:52:04 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-01-19 15:36:11 (GMT) |
commit | 18c3714f4f4cf35f2b040d887850cb3607345e5d (patch) | |
tree | 93d857c6d02f2b19a8bd4e7b8b4ee72a03ce8cd5 /Tests/JavaJavah | |
parent | 249aac71d0b0022031d16963f3b46f9860919104 (diff) | |
download | CMake-18c3714f4f4cf35f2b040d887850cb3607345e5d.zip CMake-18c3714f4f4cf35f2b040d887850cb3607345e5d.tar.gz CMake-18c3714f4f4cf35f2b040d887850cb3607345e5d.tar.bz2 |
UseJava: Fix create_javah CLASSPATH handling on Windows
Preserve semicolons in the value.
Diffstat (limited to 'Tests/JavaJavah')
-rw-r--r-- | Tests/JavaJavah/C.cpp | 10 | ||||
-rw-r--r-- | Tests/JavaJavah/C.java | 19 | ||||
-rw-r--r-- | Tests/JavaJavah/CMakeLists.txt | 9 | ||||
-rw-r--r-- | Tests/JavaJavah/HelloWorld2.java | 5 |
4 files changed, 40 insertions, 3 deletions
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!"); } } |