Sign the JAR file so clipboard transfer will work
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4699 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/cmake/SignJar.cmake b/cmake/SignJar.cmake
new file mode 100644
index 0000000..00c9939
--- /dev/null
+++ b/cmake/SignJar.cmake
@@ -0,0 +1,20 @@
+if(NOT Java_PATH)
+ message(FATAL_ERROR "Java_PATH must be defined")
+endif()
+
+if(NOT JAR_FILE)
+ message(FATAL_ERROR "JAR_FILE must be defined")
+endif()
+
+set(KEYTOOL "${Java_PATH}/keytool")
+set(JARSIGNER "${Java_PATH}/jarsigner")
+
+file(REMOVE tigervnc.keystore)
+execute_process(COMMAND
+ ${KEYTOOL} -genkey -alias TigerVNC -keystore tigervnc.keystore -keyalg RSA
+ -storepass tigervnc -keypass tigervnc -validity 7300
+ -dname "CN=TigerVNC, OU=Software Development, O=The TigerVNC Project, L=Austin, S=Texas, C=US")
+execute_process(COMMAND
+ ${JARSIGNER} -keystore tigervnc.keystore
+ -storepass tigervnc -keypass tigervnc ${JAR_FILE} TigerVNC)
+file(REMOVE tigervnc.keystore)
diff --git a/java/src/CMakeLists.txt b/java/src/CMakeLists.txt
index f5d1822..7ab9fc6 100644
--- a/java/src/CMakeLists.txt
+++ b/java/src/CMakeLists.txt
@@ -92,6 +92,13 @@
add_custom_target(java ALL DEPENDS VncViewer.jar)
+string(REGEX REPLACE "jar" "" Java_PATH ${Java_JAR_EXECUTABLE})
+
+add_custom_command(TARGET java POST_BUILD COMMAND
+ ${CMAKE_COMMAND} -DJava_PATH=${Java_PATH}
+ -DJAR_FILE=${CMAKE_CURRENT_BINARY_DIR}/VncViewer.jar
+ -P ${CMAKE_SOURCE_DIR}/cmake/SignJar.cmake)
+
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/VncViewer.jar
${JAVA_SRCDIR}/README