diff options
| author | Mathieu Malaterre <mathieu.malaterre@gmail.com> | 2012-01-20 14:08:59 +0000 |
|---|---|---|
| committer | Mathieu Malaterre <mathieu.malaterre@gmail.com> | 2012-01-20 14:08:59 +0000 |
| commit | 452403d393c50bd4b5cb8f96a907332e6e5e678c (patch) | |
| tree | 148e47933536bed28f1470e4b7714518f79f4a3c /applications/JavaOpenJPEG/CMakeLists.txt | |
| parent | fc268dff901855a27b7ebc3c1969e6c34c6c5694 (diff) | |
Build conditionally the java binding
Diffstat (limited to 'applications/JavaOpenJPEG/CMakeLists.txt')
| -rw-r--r-- | applications/JavaOpenJPEG/CMakeLists.txt | 58 |
1 files changed, 36 insertions, 22 deletions
diff --git a/applications/JavaOpenJPEG/CMakeLists.txt b/applications/JavaOpenJPEG/CMakeLists.txt index ecc8340d..2f4a481b 100644 --- a/applications/JavaOpenJPEG/CMakeLists.txt +++ b/applications/JavaOpenJPEG/CMakeLists.txt @@ -1,33 +1,47 @@ #JavaOpenJPEG/CMakeLists.txt # First thing define the common source: -SET(common_SRCS - ../codec/convert.c - ../codec/index.c - ../common/opj_getopt.c +SET(openjpegjni_SRCS + JavaOpenJPEGDecoder.c + JavaOpenJPEG.c ) +# JNI binding: +find_package(JNI REQUIRED) +include_directories(${JNI_INCLUDE_DIRS}) -# Headers file are located here: -INCLUDE_DIRECTORIES( +# required header file: +include_directories( ${OPENJPEG_SOURCE_DIR}/libopenjpeg - ${LCMS_INCLUDE_DIR} - ${PNG_INCLUDE_DIR} - ${ZLIB_INCLUDE_DIR} - ${TIFF_INCLUDE_DIR} + ${OPENJPEG_SOURCE_DIR}/applications/common + ${OPENJPEG_SOURCE_DIR}/applications/codec ) -# Loop over all executables: -FOREACH(exe j2k_to_image image_to_j2k) - ADD_EXECUTABLE(${exe} ${exe}.c ${common_SRCS}) - TARGET_LINK_LIBRARIES(${exe} ${OPJ_PREFIX}openjpeg ${TIFF_LIBRARIES} - ${PNG_LIBRARIES} ${ZLIB_LIBRARY} ${LCMS_LIB}) - # On unix you need to link to the math library: - IF(UNIX) - TARGET_LINK_LIBRARIES(${exe} -lm) - ENDIF(UNIX) - # Install exe - INSTALL_TARGETS(/bin/ ${exe}) -ENDFOREACH(exe) +add_library(openjpegjni MODULE + ${openjpegjni_SRCS} + ) + +# build jar: +FIND_PACKAGE(Java 1.5 REQUIRED) # javac, jar + +# build dep list: +file(GLOB java_srcs "java-sources/org/openJpeg/*.java") +# make sure target javac dir exists: +file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/classes) +# Build java +ADD_CUSTOM_COMMAND( + OUTPUT ${LIBRARY_OUTPUT_PATH}/openjpeg.jar + COMMAND ${Java_JAVAC_EXECUTABLE} -sourcepath "${CMAKE_CURRENT_SOURCE_DIR}/java-sources" + ${java_srcs} -d ${CMAKE_CURRENT_BINARY_DIR}/classes + COMMAND ${Java_JAR_EXECUTABLE} cvf ${LIBRARY_OUTPUT_PATH}/openjpeg.jar org + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/classes + DEPENDS ${java_srcs} + COMMENT "javac *.java; jar cvf -> openjpeg.jar" +) +# name the target +ADD_CUSTOM_TARGET(OpenJPEGJavaJar ALL + DEPENDS ${LIBRARY_OUTPUT_PATH}/openjpeg.jar + COMMENT "building openjpeg.jar" +) |
