1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
#
# JAVA Packaging
#
set(_files "")
list( APPEND _files
${SimpleITK_DOC_FILES}
${SimpleITK_Java_BINARY_DIR}/${JAR_FILE}
${SimpleITK_Java_BINARY_DIR}/${JAVA_SOURCE_FILE}
${SimpleITK_Java_BINARY_DIR}/${JAVADOC_FILE}
)
if(NOT DEFINED SimpleITK_JAVA_ARCH)
if(MSVC)
if (CMAKE_CL_64)
set(SimpleITK_JAVA_ARCH "win64")
else()
set(SimpleITK_JAVA_ARCH "win32")
endif()
elseif(APPLE)
# assemble macosx-OSX_DEPLOYMENT_TARGET-OSX_ARCHITECTURE
set(SimpleITK_JAVA_ARCH "macosx")
if(CMAKE_OSX_DEPLOYMENT_TARGET)
set(SimpleITK_JAVA_ARCH "${SimpleITK_JAVA_ARCH}-${CMAKE_OSX_DEPLOYMENT_TARGET}")
endif()
if(CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "x86_64")
if (CMAKE_OSX_ARCHITECTURES MATCHES "ppc")
set(SimpleITK_JAVA_ARCH "${SimpleITK_JAVA_ARCH}-universal")
else()
set(SimpleITK_JAVA_ARCH "${SimpleITK_JAVA_ARCH}-intel")
set(_OSX_ARCHITECTURES "intel")
endif()
elseif(CMAKE_OSX_ARCHITECTURES)
string(REPLACE ";" "_" _OSX_ARCHITECTURES "${CMAKE_OSX_ARCHITECTURES}")
set(SimpleITK_JAVA_ARCH "${SimpleITK_JAVA_ARCH}-${_OSX_ARCHITECTURES}")
else()
set(SimpleITK_JAVA_ARCH "${SimpleITK_JAVA_ARCH}-unknown")
endif()
else()
set(SimpleITK_JAVA_ARCH "unknown")
endif()
endif()
set( JAVA_PACKAGE_STAGE_DIR "SimpleITK-${SimpleITK_VERSION}-Java-${SimpleITK_JAVA_ARCH}")
add_custom_target( dist.Java
COMMENT "Creating Java package ${JAVA_PACKAGE_STAGE_DIR}.zip"
DEPENDS org_itk_simple_jar
)
add_custom_command( TARGET dist.Java
PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E remove_directory "${JAVA_PACKAGE_STAGE_DIR}"
COMMAND ${CMAKE_COMMAND} -E make_directory "${JAVA_PACKAGE_STAGE_DIR}"
COMMENT "Creating Java staging directory..."
)
foreach(_f ${_files})
get_filename_component(_f_name ${_f} NAME )
add_custom_command( TARGET dist.Java
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${_f}" "${JAVA_PACKAGE_STAGE_DIR}/${_f_name}"
COMMENT "Copying ${_f_name} to Java stage..."
)
endforeach()
add_custom_command( TARGET dist.Java
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:${SWIG_MODULE_SimpleITKJava_TARGET_NAME}>" "${JAVA_PACKAGE_STAGE_DIR}"
COMMENT "Copying $<TARGET_FILE:${SWIG_MODULE_SimpleITKJava_TARGET_NAME}> to Java stage..."
COMMAND ${Java_JAR_EXECUTABLE} cfM "${JAVA_PACKAGE_STAGE_DIR}.zip" "${JAVA_PACKAGE_STAGE_DIR}"
COMMENT "Packaging JAVA distribution..."
)
add_dependencies( dist dist.Java )
|