Files
mozjpeg/java/CMakeLists.txt
2016-11-22 13:06:30 -06:00

58 lines
2.1 KiB
CMake

find_package(Java REQUIRED)
find_package(JNI REQUIRED)
# Allow the Java compiler flags to be set using an environment variable
if(NOT DEFINED CMAKE_JAVA_COMPILE_FLAGS AND DEFINED ENV{JAVAFLAGS})
set(CMAKE_JAVA_COMPILE_FLAGS $ENV{JAVAFLAGS})
endif()
include(UseJava)
set(CMAKE_JAVA_COMPILE_FLAGS "${CMAKE_JAVA_COMPILE_FLAGS} -J-Dfile.encoding=UTF8")
message(STATUS "CMAKE_JAVA_COMPILE_FLAGS = ${CMAKE_JAVA_COMPILE_FLAGS}")
string(REGEX REPLACE " " ";" CMAKE_JAVA_COMPILE_FLAGS "${CMAKE_JAVA_COMPILE_FLAGS}")
set(JAVAARGS "" CACHE STRING "Additional arguments to pass to java when running unit tests (example: -d32)")
message(STATUS "JAVAARGS = ${JAVAARGS}")
set(JAVA_SOURCES org/libjpegturbo/turbojpeg/TJ.java
org/libjpegturbo/turbojpeg/TJCompressor.java
org/libjpegturbo/turbojpeg/TJCustomFilter.java
org/libjpegturbo/turbojpeg/TJDecompressor.java
org/libjpegturbo/turbojpeg/TJException.java
org/libjpegturbo/turbojpeg/TJScalingFactor.java
org/libjpegturbo/turbojpeg/TJTransform.java
org/libjpegturbo/turbojpeg/TJTransformer.java
org/libjpegturbo/turbojpeg/YUVImage.java
TJUnitTest.java
TJExample.java
TJBench.java)
set(TURBOJPEG_DLL_NAME "turbojpeg")
if(MINGW)
set(TURBOJPEG_DLL_NAME "libturbojpeg")
endif()
if(WIN32)
configure_file(org/libjpegturbo/turbojpeg/TJLoader-win.java.in
${CMAKE_CURRENT_BINARY_DIR}/org/libjpegturbo/turbojpeg/TJLoader.java)
else()
configure_file(org/libjpegturbo/turbojpeg/TJLoader-unix.java.in
${CMAKE_CURRENT_BINARY_DIR}/org/libjpegturbo/turbojpeg/TJLoader.java)
endif()
set(JAVA_SOURCES ${JAVA_SOURCES}
${CMAKE_CURRENT_BINARY_DIR}/org/libjpegturbo/turbojpeg/TJLoader.java)
if(MSYS)
# UGLY HACK ALERT: If we don't do this, then UseJava.cmake will separate
# class path members with a semicolon, which is interpreted as a command
# separator by the MSYS shell.
set(CMAKE_HOST_SYSTEM_NAME_BAK ${CMAKE_HOST_SYSTEM_NAME})
set(CMAKE_HOST_SYSTEM_NAME "MSYS")
endif()
add_jar(turbojpeg-java ${JAVA_SOURCES} OUTPUT_NAME turbojpeg
ENTRY_POINT TJExample)
if(MSYS)
set(CMAKE_HOST_SYSTEM_NAME ${CMAKE_HOST_SYSTEM_NAME})
endif()
install_jar(turbojpeg-java ${DATADIR}/classes)