~ubuntu-branches/debian/sid/simpleitk/sid

« back to all changes in this revision

Viewing changes to Wrapping/Java/dist/CMakeLists.txt

  • Committer: Package Import Robot
  • Author(s): Ghislain Antony Vaillant
  • Date: 2017-11-02 08:49:18 UTC
  • Revision ID: package-import@ubuntu.com-20171102084918-7hs09ih668xq87ej
Tags: upstream-1.0.1
ImportĀ upstreamĀ versionĀ 1.0.1

Show diffs side-by-side

added added

removed removed

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