* commit '93ddfcfc1a814789ed64d967a6118616753bb9d5': (65 commits)
Use clz/bsr instructions on ARM for bit counting rather than the lookup table (reduces memory footprint and can improve performance in some cases.)
Make iOS build instructions more generic and applicable to all versions of Xcode; modify iOS build procedure for Xcode 5.0 and later to fix a build issue with Xcode 5.1.
Update build instructions to reflect the use of pkgbuild/productbuild
Remove any claims of support for OS X 10.4 "Tiger" (the packaging system overhaul produces packages that require Leopard or later, and I haven't been able to test Tiger for years anyhow.) Update TurboJPEG shared library version.
Migrate Mac packaging system to pkgbuild, since PackageMaker is no longer supported.
Remove the sections about replacing libjpeg at run time and compile time. These were written before O/S distributions started shipping libjpeg-turbo, and they are either pedantic or no longer relevant. Also remove any text that assumes the use of our official project binaries. Notes specific to the official binaries have been moved into the project wiki.
Fix Windows build
Since we're now maintaining our own Cygwin pseudo-repository directories instead of recommending that users install these packages from a local source, it makes more sense to name the packages according to Cygwin specs, so they can be copied as-is into the pseudo-repository.
39dbc2db9718f9af2f62eb486fd73328fe8bf5e8
Fix 'make dist'
RHEL 6 (and probably other platforms as well) sets _defaultdocdir=%{_datadir}/doc, which screws things up, since we're overriding _datadir. Since we intend _defaultdocdir to be /usr/share/doc, just be explicit about it.
Fix compiler warning about unused function when building with the libjpeg v6b API/ABI
Fix compiler warning ("always_inline function might not be inlinable") when building with recent versions of GCC
Enable silent build (can be overridden with 'make V=1') if the version of autotools being used is new enough.
Extend YUVImage class to allow reuse of the same buffer with different metadata; port TJBench changes that treat YUV encoding/decoding as an intermediate step of the JPEG compression/decompression pipeline rather than a separate test case; add YUV encode/decode tests to the Java version of tjbenchtest
formatting tweaks
Fix an error that occurred when trying to use the lossless transform feature without specifying -quiet; formatting tweak
Move the garbage collection of the JPEG tiles into the decompression function to increase the chances that tiled decompression of large images will succeed without an OutOfMemoryError.
Generate the Java documentation using javadoc 7, to improve readability.
This should have been checked in with the previous commit.
...
Conflicts:
BUILDING.txt
configure.ac
jversion.h
release/Info.plist.in
release/ReadMe.rtf
tjbench.c
turbojpeg.c
58 lines
1.9 KiB
CMake
58 lines
1.9 KiB
CMake
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
|
|
org/libjpegturbo/turbojpeg/YUVImage
|
|
TJUnitTest
|
|
TJExample
|
|
TJBench)
|
|
|
|
if(MSVC_IDE)
|
|
set(OBJDIR "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}")
|
|
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})
|
|
list(APPEND JAVA_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/${class}.java")
|
|
list(APPEND JAVA_CLASSES "${class}.class")
|
|
list(APPEND JAVA_CLASSES_FULL "${OBJDIR}/${class}.class")
|
|
endforeach()
|
|
|
|
list(APPEND JAVA_SOURCES
|
|
"${CMAKE_CURRENT_BINARY_DIR}/org/libjpegturbo/turbojpeg/TJLoader.java")
|
|
list(APPEND JAVA_CLASSES org/libjpegturbo/turbojpeg/TJLoader.class)
|
|
list(APPEND 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}
|
|
VERBATIM)
|
|
|
|
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}"
|
|
VERBATIM)
|
|
|
|
add_custom_target(java ALL DEPENDS "${JAR_FILE}")
|
|
|
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${JAR_FILE}" DESTINATION classes)
|