blob: 87f8ec6c2613f64f04c4ca858c2a099de87ca1c9 [file] [log] [blame]
DRC957d6232011-04-01 11:13:11 +00001set(JAR_FILE turbojpeg.jar)
2set(MANIFEST_FILE ${CMAKE_CURRENT_SOURCE_DIR}/MANIFEST.MF)
3
4set(JAVA_CLASSNAMES org/libjpegturbo/turbojpeg/TJ
5 org/libjpegturbo/turbojpeg/TJCompressor
DRC6b968b22011-09-20 05:35:31 +00006 org/libjpegturbo/turbojpeg/TJCustomFilter
DRC957d6232011-04-01 11:13:11 +00007 org/libjpegturbo/turbojpeg/TJDecompressor
DRCb2f94152011-04-02 02:09:03 +00008 org/libjpegturbo/turbojpeg/TJScalingFactor
DRC957d6232011-04-01 11:13:11 +00009 org/libjpegturbo/turbojpeg/TJTransform
10 org/libjpegturbo/turbojpeg/TJTransformer
11 TJUnitTest
12 TJExample)
13
14if(MSVC_IDE)
15 set(OBJDIR "${CMAKE_CURRENT_BINARY_DIR}/$(OutDir)")
16else()
17 set(OBJDIR ${CMAKE_CURRENT_BINARY_DIR})
18endif()
19
DRCb2f94152011-04-02 02:09:03 +000020set(TURBOJPEG_DLL_NAME "turbojpeg")
21if(MINGW)
22 set(TURBOJPEG_DLL_NAME "libturbojpeg")
23endif()
24configure_file(org/libjpegturbo/turbojpeg/TJLoader.java.in
25 ${CMAKE_CURRENT_BINARY_DIR}/org/libjpegturbo/turbojpeg/TJLoader.java)
26
DRC957d6232011-04-01 11:13:11 +000027set(JAVA_SOURCES "")
28set(JAVA_CLASSES "")
29set(JAVA_CLASSES_FULL "")
30foreach(class ${JAVA_CLASSNAMES})
31 set(JAVA_SOURCES ${JAVA_SOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/${class}.java)
32 set(JAVA_CLASSES ${JAVA_CLASSES} ${class}.class)
33 set(JAVA_CLASSES_FULL ${JAVA_CLASSES_FULL} ${OBJDIR}/${class}.class)
34endforeach()
35
DRCb2f94152011-04-02 02:09:03 +000036set(JAVA_SOURCES ${JAVA_SOURCES}
37 ${CMAKE_CURRENT_BINARY_DIR}/org/libjpegturbo/turbojpeg/TJLoader.java)
38set(JAVA_CLASSES ${JAVA_CLASSES}
39 org/libjpegturbo/turbojpeg/TJLoader.class)
40set(JAVA_CLASSES_FULL ${JAVA_CLASSES_FULL}
41 ${OBJDIR}/org/libjpegturbo/turbojpeg/TJLoader.class)
DRC957d6232011-04-01 11:13:11 +000042
DRCdb425062011-04-03 06:10:18 +000043string(REGEX REPLACE " " ";" JAVACFLAGS "${JAVACFLAGS}")
DRC957d6232011-04-01 11:13:11 +000044add_custom_command(OUTPUT ${JAVA_CLASSES_FULL} DEPENDS ${JAVA_SOURCES}
DRCdb425062011-04-03 06:10:18 +000045 COMMAND ${JAVA_COMPILE} ARGS ${JAVACFLAGS} -d ${OBJDIR} ${JAVA_SOURCES})
DRC957d6232011-04-01 11:13:11 +000046
47add_custom_command(OUTPUT ${JAR_FILE} DEPENDS ${JAVA_CLASSES_FULL}
48 ${MANIFEST_FILE}
49 COMMAND ${JAVA_ARCHIVE} cfm ${JAR_FILE} ${MANIFEST_FILE} ${JAVA_CLASSES}
50 WORKING_DIRECTORY ${OBJDIR})
51
52add_custom_target(java ALL DEPENDS ${JAR_FILE})
53
54install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${JAR_FILE} DESTINATION classes)