From cc2cf7db1978484ff1657d9acd8c7d1da8f9702d Mon Sep 17 00:00:00 2001 From: DRC Date: Sun, 3 Apr 2011 06:10:18 +0000 Subject: [PATCH] Allow customization of Java compiler flags --- BUILDING.txt | 7 +++++++ CMakeLists.txt | 3 +++ java/CMakeLists.txt | 3 ++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/BUILDING.txt b/BUILDING.txt index 13384424..416d8c10 100644 --- a/BUILDING.txt +++ b/BUILDING.txt @@ -469,6 +469,13 @@ Java front-end classes to support it. This allows the TurboJPEG/OSS dynamic library to be used directly from Java applications. See java/README for more details. +If you are using CMake 2.8, you can set the Java_JAVAC_EXECUTABLE, +Java_JAVA_EXECUTABLE, and Java_JAR_EXECUTABLE CMake variables to specify +alternate commands or locations for javac, jar, and java (respectively.) If +you are using CMake 2.6, set JAVA_COMPILE, JAVA_RUNTIME, and JAVA_ARCHIVE +instead. You can also set the JAVACFLAGS CMake variable to specify arguments +that should be passed to the Java compiler when building the front-end classes. + ======================== Installing libjpeg-turbo diff --git a/CMakeLists.txt b/CMakeLists.txt index 8e3d9a81..712b7c31 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -118,6 +118,9 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}) if(WITH_JAVA) find_package(Java) find_package(JNI) + if(DEFINED JAVACFLAGS) + message(STATUS "Java compiler flags = ${JAVACFLAGS}") + endif() endif() diff --git a/java/CMakeLists.txt b/java/CMakeLists.txt index 8f35862a..08795f77 100644 --- a/java/CMakeLists.txt +++ b/java/CMakeLists.txt @@ -39,8 +39,9 @@ set(JAVA_CLASSES ${JAVA_CLASSES} 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} -d ${OBJDIR} ARGS ${JAVA_SOURCES}) + COMMAND ${JAVA_COMPILE} ARGS ${JAVACFLAGS} -d ${OBJDIR} ${JAVA_SOURCES}) add_custom_command(OUTPUT ${JAR_FILE} DEPENDS ${JAVA_CLASSES_FULL} ${MANIFEST_FILE}