diff options
Diffstat (limited to 'tags/1.2.1/java/CMakeLists.txt')
-rw-r--r-- | tags/1.2.1/java/CMakeLists.txt | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/tags/1.2.1/java/CMakeLists.txt b/tags/1.2.1/java/CMakeLists.txt new file mode 100644 index 0000000..87f8ec6 --- /dev/null +++ b/tags/1.2.1/java/CMakeLists.txt @@ -0,0 +1,54 @@ +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/TJCustomFilter + org/libjpegturbo/turbojpeg/TJDecompressor + org/libjpegturbo/turbojpeg/TJScalingFactor + 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(TURBOJPEG_DLL_NAME "turbojpeg") +if(MINGW) + set(TURBOJPEG_DLL_NAME "libturbojpeg") +endif() +configure_file(org/libjpegturbo/turbojpeg/TJLoader.java.in + ${CMAKE_CURRENT_BINARY_DIR}/org/libjpegturbo/turbojpeg/TJLoader.java) + +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() + +set(JAVA_SOURCES ${JAVA_SOURCES} + ${CMAKE_CURRENT_BINARY_DIR}/org/libjpegturbo/turbojpeg/TJLoader.java) +set(JAVA_CLASSES ${JAVA_CLASSES} + org/libjpegturbo/turbojpeg/TJLoader.class) +set(JAVA_CLASSES_FULL ${JAVA_CLASSES_FULL} + ${OBJDIR}/org/libjpegturbo/turbojpeg/TJLoader.class) + +string(REGEX REPLACE " " ";" JAVACFLAGS "${JAVACFLAGS}") +add_custom_command(OUTPUT ${JAVA_CLASSES_FULL} DEPENDS ${JAVA_SOURCES} + COMMAND ${JAVA_COMPILE} ARGS ${JAVACFLAGS} -d ${OBJDIR} ${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) |