A wiki article pointed out that whitespace will only be preserved for parameters in CMake commands if passed strings will be appropriately quoted or escaped. http://cmake.org/Wiki/CMake/Language_Syntax#CMake_splits_arguments_unless_you_use_quotation_marks_or_escapes. Quoting was added so that more places should also handle file names correctly which contain space characters or semicolons eventually. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
57 lines
1.9 KiB
CMake
57 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
|
|
TJUnitTest
|
|
TJExample
|
|
TJBench)
|
|
|
|
if(MSVC_IDE)
|
|
set(OBJDIR "${CMAKE_CURRENT_BINARY_DIR}/$(OutDir)")
|
|
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)
|