aboutsummaryrefslogtreecommitdiffstats
path: root/java/CMakeLists.txt
diff options
context:
space:
mode:
authorBrian Hinz <bphinz@users.sourceforge.net>2013-12-01 23:07:07 +0000
committerBrian Hinz <bphinz@users.sourceforge.net>2013-12-01 23:07:07 +0000
commit48ce3621d181e74855f9aacc99dc5726752ab7ff (patch)
treeee9fc9246a94499a1e044fa723960cb99dc7cf57 /java/CMakeLists.txt
parent0a281c8d280793344484b8508b49added6127f0a (diff)
downloadtigervnc-48ce3621d181e74855f9aacc99dc5726752ab7ff.tar.gz
tigervnc-48ce3621d181e74855f9aacc99dc5726752ab7ff.zip
Copied Lion fullScreen code from TurboVNC viewer. This is a more robust implementation and does not suffer from Java bugs 8009911 or 4783448 like the existing code did. CMakeLists file was also updated to be more similar to the TurboVNC cmake file. This wasn't strictly necessary but it simplifies things a bit.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5142 3789f03b-4d11-0410-bbf8-ca57d06f2519
Diffstat (limited to 'java/CMakeLists.txt')
-rw-r--r--java/CMakeLists.txt99
1 files changed, 43 insertions, 56 deletions
diff --git a/java/CMakeLists.txt b/java/CMakeLists.txt
index 05d77e4d..c640da87 100644
--- a/java/CMakeLists.txt
+++ b/java/CMakeLists.txt
@@ -7,14 +7,14 @@ endif()
find_package(Java)
-set(DEFAULT_JAVACFLAGS "-source 1.5 -target 1.5 -Xlint:all,-serial,-cast,-fallthrough,-dep-ann,-deprecation")
+set(DEFAULT_JAVACFLAGS "-source 1.5 -target 1.5 -Xlint:all,-serial,-cast,-unchecked,-fallthrough,-dep-ann,-deprecation,-rawtypes")
set(JAVACFLAGS ${DEFAULT_JAVACFLAGS} CACHE STRING
"Java compiler flags (Default: ${DEFAULT_JAVACFLAGS})")
message(STATUS "Java compiler flags = ${JAVACFLAGS}")
set(CLASSPATH com/tigervnc/vncviewer)
-set(JAVA_SRCDIR ${CMAKE_CURRENT_SOURCE_DIR}/${CLASSPATH})
-set(JAVA_BINDIR ${CMAKE_CURRENT_BINARY_DIR}/${CLASSPATH})
+set(SRCDIR ${CMAKE_CURRENT_SOURCE_DIR})
+set(BINDIR ${CMAKE_CURRENT_BINARY_DIR})
if(NOT BUILD)
execute_process(COMMAND "date" "+%Y%m%d" OUTPUT_VARIABLE BUILD)
@@ -25,26 +25,8 @@ string(REGEX REPLACE "\n" "" JAVA_DATE ${JAVA_DATE})
string(REGEX REPLACE "\n" "" JAVA_TIME ${JAVA_TIME})
string(REGEX REPLACE "\n" "" BUILD ${BUILD})
-set(JAVA_CLASSNAMES
- CConn
- ClipboardDialog
- DesktopWindow
- Dialog
- F8Menu
- OptionsDialogCallback
- PasswdDialog
- PlatformPixelBuffer
- OptionsDialog
- ServerDialog
- VncViewer)
-
set(JAVA_SOURCES "")
-set(JAVA_CLASSES_FULL "")
-foreach(class ${JAVA_CLASSNAMES})
- set(JAVA_SOURCES ${JAVA_SOURCES} ${JAVA_SRCDIR}/${class}.java)
- set(JAVA_CLASSES_FULL ${JAVA_CLASSES_FULL}
- ${CMAKE_CURRENT_BINARY_DIR}/${CLASSPATH}/${class}.class)
-endforeach()
+set(JAVA_CLASSES "")
set(JSCH_CLASSNAMES
DH
@@ -88,55 +70,61 @@ set(JSCH_CLASSNAMES
jcraft/HMACMD5
jcraft/HMACSHA196
jcraft/HMACSHA1)
-set(JSCH_SRCDIR ${CMAKE_CURRENT_SOURCE_DIR}/com/jcraft/jsch)
+
foreach(class ${JSCH_CLASSNAMES})
- set(JAVA_SOURCES ${JAVA_SOURCES} ${JSCH_SRCDIR}/${class}.java)
- set(JAVA_CLASSES_FULL ${JAVA_CLASSES_FULL}
- ${CMAKE_CURRENT_BINARY_DIR}/com/jcraft/jsch/${class}.class)
+ set(JAVA_SOURCES ${JAVA_SOURCES} com/jcraft/jsch/${class}.java)
+ set(JAVA_CLASSES ${JAVA_CLASSES}
+ ${BINDIR}/com/jcraft/jsch/${class}.class)
endforeach()
file(GLOB DEPEND_SOURCES
- ${CMAKE_CURRENT_SOURCE_DIR}/com/tigervnc/rfb/*.java
- ${CMAKE_CURRENT_SOURCE_DIR}/com/tigervnc/rdr/*.java
- ${CMAKE_CURRENT_SOURCE_DIR}/com/tigervnc/network/*.java
- ${CMAKE_CURRENT_SOURCE_DIR}/com/jcraft/jsch/*.java
- ${CMAKE_CURRENT_SOURCE_DIR}/com/jcraft/jsch/jcraft/*.java
- ${CMAKE_CURRENT_SOURCE_DIR}/com/jcraft/jsch/jgss/*.java
- ${CMAKE_CURRENT_SOURCE_DIR}/com/jcraft/jzlib/*.java)
+ ${SRCDIR}/${CLASSPATH}/*.java
+ ${SRCDIR}/com/tigervnc/rfb/*.java
+ ${SRCDIR}/com/tigervnc/rdr/*.java
+ ${SRCDIR}/com/tigervnc/network/*.java
+ ${SRCDIR}/com/jcraft/jsch/*.java
+ ${SRCDIR}/com/jcraft/jsch/jcraft/*.java
+ ${SRCDIR}/com/jcraft/jsch/jgss/*.java
+ ${SRCDIR}/com/jcraft/jzlib/*.java)
string(REGEX REPLACE " " ";" JAVACFLAGS "${JAVACFLAGS}")
-add_custom_command(OUTPUT ${JAVA_CLASSES_FULL}
+add_custom_command(OUTPUT ${JAVA_CLASSES}
DEPENDS ${JAVA_SOURCES} ${DEPEND_SOURCES}
COMMAND ${JAVA_COMPILE}
- ARGS ${JAVACFLAGS} -sourcepath ${CMAKE_CURRENT_SOURCE_DIR}
- -d ${CMAKE_CURRENT_BINARY_DIR} ${JAVA_SOURCES})
+ ARGS ${JAVACFLAGS} -sourcepath ${SRCDIR} -d ${BINDIR}
+ ${CLASSPATH}/VncViewer.java ${JAVA_SOURCES}
+ WORKING_DIRECTORY ${SRCDIR})
configure_file(${CLASSPATH}/timestamp.in ${CLASSPATH}/timestamp)
-add_custom_command(OUTPUT ${JAVA_BINDIR}/tigervnc.png
+if(NOT "${SRCDIR}" STREQUAL "${BINDIR}")
+
+add_custom_command(OUTPUT ${BINDIR}/${CLASSPATH}/tigervnc.png
COMMAND ${CMAKE_COMMAND} -E copy_if_different
- ${JAVA_SRCDIR}/tigervnc.png ${JAVA_BINDIR}/tigervnc.png
- DEPENDS ${JAVA_SRCDIR}/tigervnc.png)
+ ${SRCDIR}/${CLASSPATH}/tigervnc.png ${BINDIR}/${CLASSPATH}/tigervnc.png
+ DEPENDS ${SRCDIR}/${CLASSPATH}/tigervnc.png)
-add_custom_command(OUTPUT ${JAVA_BINDIR}/tigervnc.ico
+add_custom_command(OUTPUT ${BINDIR}/${CLASSPATH}/tigervnc.ico
COMMAND ${CMAKE_COMMAND} -E copy_if_different
- ${JAVA_SRCDIR}/tigervnc.ico ${JAVA_BINDIR}/tigervnc.ico
- DEPENDS ${JAVA_SRCDIR}/tigervnc.ico)
+ ${SRCDIR}/${CLASSPATH}/tigervnc.ico ${BINDIR}/${CLASSPATH}/tigervnc.ico
+ DEPENDS ${SRCDIR}/${CLASSPATH}/tigervnc.ico)
+
+endif()
string(REGEX REPLACE "jar" "" Java_PATH ${Java_JAR_EXECUTABLE})
string(REGEX REPLACE ".exe" "" Java_PATH ${Java_PATH})
add_custom_command(OUTPUT VncViewer.jar
- DEPENDS ${JAVA_CLASSES_FULL}
- ${JAVA_SRCDIR}/MANIFEST.MF
- ${JAVA_BINDIR}/timestamp
- ${JAVA_BINDIR}/tigervnc.png
- ${JAVA_BINDIR}/tigervnc.ico
+ DEPENDS ${JAVA_CLASSES}
+ ${SRCDIR}/${CLASSPATH}/MANIFEST.MF
+ ${BINDIR}/${CLASSPATH}/timestamp
+ ${BINDIR}/${CLASSPATH}/tigervnc.png
+ ${BINDIR}/${CLASSPATH}/tigervnc.ico
COMMAND ${JAVA_ARCHIVE}
ARGS cfm VncViewer.jar
- ${JAVA_SRCDIR}/MANIFEST.MF
- com/tigervnc/vncviewer/timestamp
- com/tigervnc/vncviewer/*.class
+ ${SRCDIR}/${CLASSPATH}/MANIFEST.MF
+ ${CLASSPATH}/timestamp
+ ${CLASSPATH}/*.class
com/tigervnc/rfb/*.class
com/tigervnc/rdr/*.class
com/tigervnc/network/*.class
@@ -147,17 +135,16 @@ add_custom_command(OUTPUT VncViewer.jar
com/tigervnc/vncviewer/tigervnc.png
com/tigervnc/vncviewer/tigervnc.ico
COMMAND ${CMAKE_COMMAND}
- ARGS -DJava_PATH=${Java_PATH}
- -DJAR_FILE=${CMAKE_CURRENT_BINARY_DIR}/VncViewer.jar
- -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/SignJar.cmake)
+ ARGS -DJava_PATH=${Java_PATH} -DJAR_FILE=${BINDIR}/VncViewer.jar
+ -P ${SRCDIR}/cmake/SignJar.cmake)
add_custom_target(java ALL DEPENDS VncViewer.jar)
if(NOT WIN32)
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/VncViewer.jar
- ${JAVA_SRCDIR}/README
- ${JAVA_SRCDIR}/index.vnc
- ${JAVA_SRCDIR}/favicon.ico
+ ${SRCDIR}/README
+ ${SRCDIR}/index.vnc
+ ${SRCDIR}/favicon.ico
DESTINATION ${DATA_DIR}/vnc/classes)
endif()