summaryrefslogtreecommitdiff
path: root/trunk/java
diff options
context:
space:
mode:
authordcommander <dcommander@3789f03b-4d11-0410-bbf8-ca57d06f2519>2011-04-01 11:13:11 +0000
committerdcommander <dcommander@3789f03b-4d11-0410-bbf8-ca57d06f2519>2011-04-01 11:13:11 +0000
commit800345bbb46a6d6206fd1ce6832030ba190150ba (patch)
tree6ef3069500e9c3bf35ef5f6e6c63af93609cc2cd /trunk/java
parentbd8ce8de7e251f2784bbeeb63d6cd2385bc9c3b7 (diff)
Include TurboJPEG/OSS Java wrapper JAR in Windows distribution packages
git-svn-id: https://libjpeg-turbo.svn.sourceforge.net/svnroot/libjpeg-turbo@553 3789f03b-4d11-0410-bbf8-ca57d06f2519
Diffstat (limited to 'trunk/java')
-rw-r--r--trunk/java/CMakeLists.txt45
-rw-r--r--trunk/java/Makefile.am2
2 files changed, 46 insertions, 1 deletions
diff --git a/trunk/java/CMakeLists.txt b/trunk/java/CMakeLists.txt
new file mode 100644
index 0000000..b676ce8
--- /dev/null
+++ b/trunk/java/CMakeLists.txt
@@ -0,0 +1,45 @@
+set(JAR_FILE turbojpeg.jar)
+set(MANIFEST_FILE ${CMAKE_CURRENT_SOURCE_DIR}/MANIFEST.MF)
+
+set(JAVA_CLASSNAMES org/libjpegturbo/turbojpeg/TJ
+ org/libjpegturbo/turbojpeg/TJCompressor
+ org/libjpegturbo/turbojpeg/TJDecompressor
+ org/libjpegturbo/turbojpeg/TJTransform
+ org/libjpegturbo/turbojpeg/TJTransformer
+ TJUnitTest
+ TJExample)
+
+if(MSVC_IDE)
+ set(OBJDIR "${CMAKE_CURRENT_BINARY_DIR}/$(OutDir)")
+else()
+ set(OBJDIR ${CMAKE_CURRENT_BINARY_DIR})
+endif()
+
+set(JAVA_SOURCES "")
+set(JAVA_CLASSES "")
+set(JAVA_CLASSES_FULL "")
+foreach(class ${JAVA_CLASSNAMES})
+ set(JAVA_SOURCES ${JAVA_SOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/${class}.java)
+ set(JAVA_CLASSES ${JAVA_CLASSES} ${class}.class)
+ set(JAVA_CLASSES_FULL ${JAVA_CLASSES_FULL} ${OBJDIR}/${class}.class)
+endforeach()
+
+if(MSVC_IDE)
+ set(JAVA_CLASSES ${JAVA_CLASSES}
+ org/libjpegturbo/turbojpeg/TJ$ScalingFactor.class)
+else()
+ set(JAVA_CLASSES ${JAVA_CLASSES}
+ org/libjpegturbo/turbojpeg/TJ$$ScalingFactor.class)
+endif()
+
+add_custom_command(OUTPUT ${JAVA_CLASSES_FULL} DEPENDS ${JAVA_SOURCES}
+ COMMAND ${JAVA_COMPILE} -d ${OBJDIR} ARGS ${JAVA_SOURCES})
+
+add_custom_command(OUTPUT ${JAR_FILE} DEPENDS ${JAVA_CLASSES_FULL}
+ ${MANIFEST_FILE}
+ COMMAND ${JAVA_ARCHIVE} cfm ${JAR_FILE} ${MANIFEST_FILE} ${JAVA_CLASSES}
+ WORKING_DIRECTORY ${OBJDIR})
+
+add_custom_target(java ALL DEPENDS ${JAR_FILE})
+
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${JAR_FILE} DESTINATION classes)
diff --git a/trunk/java/Makefile.am b/trunk/java/Makefile.am
index 9afa74c..7615442 100644
--- a/trunk/java/Makefile.am
+++ b/trunk/java/Makefile.am
@@ -44,4 +44,4 @@ uninstall-local:
endif
-EXTRA_DIST = MANIFEST.MF ${JAVASOURCES} ${JNIHEADERS} doc
+EXTRA_DIST = MANIFEST.MF ${JAVASOURCES} ${JNIHEADERS} doc CMakeLists.txt