Include TurboJPEG/OSS Java wrapper JAR in Windows distribution packages
This commit is contained in:
45
java/CMakeLists.txt
Normal file
45
java/CMakeLists.txt
Normal file
@@ -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)
|
||||
@@ -44,4 +44,4 @@ uninstall-local:
|
||||
|
||||
endif
|
||||
|
||||
EXTRA_DIST = MANIFEST.MF ${JAVASOURCES} ${JNIHEADERS} doc
|
||||
EXTRA_DIST = MANIFEST.MF ${JAVASOURCES} ${JNIHEADERS} doc CMakeLists.txt
|
||||
|
||||
Reference in New Issue
Block a user