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 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265
|
IF(JAVA_COMPILE)
SET(VTK_JAVA_DEPENDENCIES "")
INCLUDE(${VTK_BINARY_DIR}/Common/JavaDependencies.cmake OPTIONAL)
INCLUDE(${VTK_BINARY_DIR}/Filtering/JavaDependencies.cmake OPTIONAL)
INCLUDE(${VTK_BINARY_DIR}/Graphics/JavaDependencies.cmake OPTIONAL)
INCLUDE(${VTK_BINARY_DIR}/IO/JavaDependencies.cmake OPTIONAL)
INCLUDE(${VTK_BINARY_DIR}/Imaging/JavaDependencies.cmake OPTIONAL)
IF (VTK_USE_PARALLEL)
INCLUDE(${VTK_BINARY_DIR}/Parallel/JavaDependencies.cmake OPTIONAL)
ENDIF(VTK_USE_PARALLEL)
IF (VTK_USE_RENDERING)
INCLUDE(${VTK_BINARY_DIR}/Widgets/JavaDependencies.cmake OPTIONAL)
INCLUDE(${VTK_BINARY_DIR}/Hybrid/JavaDependencies.cmake OPTIONAL)
INCLUDE(${VTK_BINARY_DIR}/VolumeRendering/JavaDependencies.cmake OPTIONAL)
INCLUDE(${VTK_BINARY_DIR}/Rendering/JavaDependencies.cmake OPTIONAL)
ENDIF(VTK_USE_RENDERING)
SET(VTK_JAVA_NEW_STYLE 0)
IF(COMMAND VTK_GENERATE_JAVA_DEPENDENCIES)
IF(VTK_JAVA_DEPENDENCIES)
SET(VTK_JAVA_NEW_STYLE 1)
ENDIF(VTK_JAVA_DEPENDENCIES)
ENDIF(COMMAND VTK_GENERATE_JAVA_DEPENDENCIES)
IF(VTK_JAVA_NEW_STYLE)
SET(CLASS_FILES ${VTK_JAVA_DEPENDENCIES})
STRING(REGEX REPLACE "\\.java" ".class;" CLASS_FILES ${VTK_JAVA_DEPENDENCIES})
ADD_CUSTOM_TARGET(VTKJava ALL)
ADD_CUSTOM_TARGET(VTKJavaJar ALL)
SET(KITS Common Filtering Graphics IO Imaging)
IF (VTK_USE_PARALLEL)
SET(KITS ${KITS} Parallel)
ENDIF(VTK_USE_PARALLEL)
IF (VTK_USE_RENDERING)
SET(KITS ${KITS} Widgets)
SET(KITS ${KITS} Hybrid)
SET(KITS ${KITS} VolumeRendering)
SET(KITS ${KITS} Rendering)
ENDIF(VTK_USE_RENDERING)
# Some platforms have libjvm in a subdirectory from
# the rest of the java libraries and are missing the symlink.
IF(JAVA_AWT_LIBRARY)
GET_FILENAME_COMPONENT(JAVA_LIB_DIR ${JAVA_AWT_LIBRARY} PATH)
IF(EXISTS ${JAVA_LIB_DIR}/client)
LINK_DIRECTORIES(${JAVA_LIB_DIR}/client)
ENDIF(EXISTS ${JAVA_LIB_DIR}/client)
ENDIF(JAVA_AWT_LIBRARY)
SET(CMAKE_SKIP_RPATH 0)
ADD_EXECUTABLE(VTKJavaExecutable VTKJava.cxx)
SET(JAVA_LIBRARIES)
SET(VTK_BUILD_ALL_CONTENT "")
SET(VTK_BUILD_ALL_DEPENDS "")
FOREACH(kit ${KITS})
IF(APPLE)
SET(src ${LIBRARY_OUTPUT_PATH}/libvtk${kit}Java.dylib)
SET(tgt ${LIBRARY_OUTPUT_PATH}/libvtk${kit}Java.jnilib)
ADD_CUSTOM_COMMAND(SOURCE ${src}
COMMAND ln
ARGS -sf ${src} ${tgt}
OUTPUTS ${tgt}
TARGET VTKJava)
SET(JAVA_LIBRARIES ${JAVA_LIBRARIES} ${tgt})
ENDIF(APPLE)
TARGET_LINK_LIBRARIES(VTKJavaExecutable vtk${kit}Java)
SET(VTK_JAVA_DEPENDENCIES "")
ADD_CUSTOM_TARGET(VTKJava${kit} "")
SET(VTK_BUILD_ALL_CONTENT
"${VTK_BUILD_ALL_CONTENT}\n vtk.vtkVTKJava${kit}Driver.Initialize(args);")
SET(VTK_BUILD_ALL_DEPENDS
${VTK_BUILD_ALL_DEPENDS}
${VTK_BINARY_DIR}/java/vtk/vtkVTKJava${kit}Driver.java)
INCLUDE(${VTK_BINARY_DIR}/${kit}/JavaDependencies.cmake OPTIONAL)
VTK_GENERATE_JAVA_DEPENDENCIES(VTKJava${kit} ${VTK_JAVA_DEPENDENCIES})
#ADD_DEPENDENCIES(VTKJava${kit} VTKJavaExecutable)
#ADD_DEPENDENCIES(VTKJava${kit} vtk${kit}JavaJavaClasses)
#ADD_DEPENDENCIES(VTKJavaJar VTKJava${kit})
ENDFOREACH(kit)
CONFIGURE_FILE(${VTK_SOURCE_DIR}/Wrapping/Java/vtkBuildAllDriver.java.in
${VTK_BINARY_DIR}/java/vtk/vtkBuildAllDriver.java)
ADD_CUSTOM_TARGET(VTKBuildAll ALL)
ADD_CUSTOM_COMMAND(
TARGET VTKBuildAll
OUTPUTS ${VTK_BINARY_DIR}/java/vtk/vtkBuildAllDriver.class
DEPENDS ${VTK_BUILD_ALL_DEPENDS}
SOURCE ${VTK_BINARY_DIR}/java/vtk/vtkBuildAllDriver.java
COMMAND ${JAVA_COMPILE}
ARGS -classpath ${VTK_JAVA_HOME}/.. -d ${VTK_JAVA_HOME}/..
${VTK_BINARY_DIR}/java/vtk/vtkBuildAllDriver.java
)
ADD_CUSTOM_COMMAND(
TARGET VTKBuildAll
SOURCE VTKBuildAll
DEPENDS ${VTK_BINARY_DIR}/java/vtk/vtkBuildAllDriver.class
)
ADD_DEPENDENCIES(VTKJavaJar VTKBuildAll)
ADD_DEPENDENCIES(VTKJavaFiltering VTKJavaCommon)
ADD_DEPENDENCIES(VTKJavaImaging VTKJavaFiltering)
ADD_DEPENDENCIES(VTKJavaGraphics VTKJavaFiltering)
ADD_DEPENDENCIES(VTKJavaIO VTKJavaFiltering)
SET(VTK_JAVA_DEPENDENCIES vtkTesting2 vtkSettings)
IF(VTK_USE_RENDERING)
SET(VTK_JAVA_DEPENDENCIES ${VTK_JAVA_DEPENDENCIES} vtkPanel)
ADD_DEPENDENCIES(VTKJavaRendering VTKJavaGraphics VTKJavaIO VTKJavaImaging)
ADD_DEPENDENCIES(VTKJavaVolumeRendering VTKJavaRendering)
SET(VTK_JAVA_DEPENDENCIES ${VTK_JAVA_DEPENDENCIES} vtkCanvas)
ADD_DEPENDENCIES(VTKJavaHybrid VTKJavaRendering)
ADD_DEPENDENCIES(VTKJavaWidgets VTKJavaRendering)
ENDIF(VTK_USE_RENDERING)
IF(VTK_USE_PARALLEL)
ADD_DEPENDENCIES(VTKJavaParallel VTKJavaRendering)
ENDIF(VTK_USE_PARALLEL)
FOREACH(jfile ${VTK_JAVA_DEPENDENCIES})
SET(src ${VTK_SOURCE_DIR}/Wrapping/Java/vtk/${jfile}.java)
SET(dst ${VTK_JAVA_HOME}/${jfile}.java)
SET(class ${VTK_JAVA_HOME}/${jfile}.class)
IF(${jfile} MATCHES vtkSettings)
CONFIGURE_FILE(${VTK_SOURCE_DIR}/Wrapping/Java/vtk/vtkSettings.java.in
${VTK_JAVA_HOME}/vtkSettings.java)
ELSE(${jfile} MATCHES vtkSettings)
ADD_CUSTOM_COMMAND(
TARGET VTKJavaJar
SOURCE ${src}
OUTPUTS ${dst}
COMMAND ${CMAKE_COMMAND}
ARGS -E copy ${src} ${dst}
)
ENDIF(${jfile} MATCHES vtkSettings)
ADD_CUSTOM_COMMAND(
TARGET VTKJavaJar
SOURCE ${dst}
OUTPUTS ${class}
DEPENDS ${VTK_JAVA_HOME}/vtkPanel.java
COMMAND ${JAVA_COMPILE}
ARGS -classpath ${VTK_JAVA_HOME}/.. -d ${VTK_JAVA_HOME}/.. ${dst}
)
SET(CLASS_FILES ${CLASS_FILES} ${class})
ENDFOREACH(jfile)
ADD_DEPENDENCIES(VTKJava VTKJavaJar)
ADD_CUSTOM_COMMAND(SOURCE ${VTK_JAVA_HOME}/vtkObject.class
COMMAND ${JAVA_ARCHIVE}
ARGS -cvf "${LIBRARY_OUTPUT_PATH}/vtk.jar"
-C ${VTK_BINARY_DIR}/java
vtk
TARGET VTKJavaJar
DEPENDS ${CLASS_FILES} ${JAVA_LIBRARIES}
OUTPUTS ${LIBRARY_OUTPUT_PATH}/vtk.jar
COMMENT "Java Archive")
ADD_CUSTOM_COMMAND(SOURCE VTKJavaJar
TARGET VTKJavaJar
DEPENDS ${LIBRARY_OUTPUT_PATH}/vtk.jar)
IF(BUILD_TESTING)
FOREACH(jfile
SimpleVTK
Regression
TestVTKCanvas
TestInternalFrames
ImagePlaneWidget
AxesActor)
ADD_CUSTOM_COMMAND(
SOURCE ${VTK_SOURCE_DIR}/Wrapping/Java/${jfile}.java
COMMAND ${JAVA_COMPILE}
ARGS -classpath ${LIBRARY_OUTPUT_PATH}/vtk.jar
-sourcepath ${VTK_SOURCE_DIR}/Wrapping/Java
-d ${VTK_BINARY_DIR}/Wrapping/Java
${VTK_SOURCE_DIR}/Wrapping/Java/${jfile}.java
TARGET VTKJava
DEPENDS ${LIBRARY_OUTPUT_PATH}/vtk.jar
OUTPUTS ${VTK_BINARY_DIR}/Wrapping/Java/${jfile}.class
COMMENT "Java Test")
SET(JAVA_TESTS ${JAVA_TESTS} ${VTK_BINARY_DIR}/Wrapping/Java/${jfile}.class)
ENDFOREACH(jfile)
IF(WIN32)
SET(SEPARATOR "\;")
ELSE(WIN32)
SET(SEPARATOR ":")
ENDIF(WIN32)
# Since vtkTesting is within vtkRendering we need blockers
IF(VTK_USE_RENDERING AND VTK_USE_DISPLAY)
ADD_TEST(JavaRegression ${JAVA_RUNTIME}
-classpath ${LIBRARY_OUTPUT_PATH}/vtk.jar${SEPARATOR}${VTK_BINARY_DIR}/Wrapping/Java
Regression -D ${VTK_DATA_ROOT}
-V Baseline/Graphics/Cone.png)
ENDIF(VTK_USE_RENDERING AND VTK_USE_DISPLAY)
ENDIF(BUILD_TESTING)
ADD_CUSTOM_COMMAND(
SOURCE VTKJava
TARGET VTKJava
DEPENDS ${LIBRARY_OUTPUT_PATH}/vtk.jar ${JAVA_TESTS}
)
ELSE(VTK_JAVA_NEW_STYLE)
ADD_CUSTOM_TARGET(VTKJava ALL)
ADD_CUSTOM_COMMAND(SOURCE ${VTK_JAVA_HOME}/VTKJavaWrapped
COMMAND ${JAVA_COMPILE}
ARGS ${VTK_JAVA_HOME}/vtk*.java
TARGET VTKJava
OUTPUTS ${VTK_JAVA_HOME}/vtkObject.class)
IF(JAVA_ARCHIVE)
ADD_CUSTOM_COMMAND(SOURCE ${VTK_JAVA_HOME}/vtkObject.class
COMMAND ${CMAKE_COMMAND}
ARGS -E chdir
${VTK_BINARY_DIR}/java ${JAVA_ARCHIVE}
-cvf "\"${LIBRARY_OUTPUT_PATH}/vtk.jar\""
vtk
TARGET VTKJava
DEPENDS ${VTK_JAVA_HOME}/vtkObject.class
OUTPUTS ${LIBRARY_OUTPUT_PATH}/vtk.jar)
IF(BUILD_TESTING)
FOREACH(jfile
SimpleVTK
Regression
TestVTKCanvas
TestInternalFrames
ImagePlaneWidget
AxesActor)
ADD_CUSTOM_COMMAND(
SOURCE ${VTK_SOURCE_DIR}/Wrapping/Java/${jfile}.java
COMMAND ${JAVA_COMPILE}
ARGS -classpath ${LIBRARY_OUTPUT_PATH}/vtk.jar
-sourcepath ${VTK_SOURCE_DIR}/Wrapping/Java
-d ${VTK_BINARY_DIR}/Wrapping/Java
${VTK_SOURCE_DIR}/Wrapping/Java/${jfile}.java
TARGET VTKJava
DEPENDS ${LIBRARY_OUTPUT_PATH}/vtk.jar
OUTPUTS ${VTK_BINARY_DIR}/Wrapping/Java/${jfile}.class)
SET(JAVA_TESTS ${JAVA_TESTS} ${VTK_BINARY_DIR}/Wrapping/Java/${jfile}.class)
ENDFOREACH(jfile)
IF(WIN32)
SET(SEPARATOR "\;")
ELSE(WIN32)
SET(SEPARATOR ":")
ENDIF(WIN32)
# Since vtkTesting is within vtkRendering we need blockers
IF(VTK_USE_RENDERING AND VTK_USE_DISPLAY)
ADD_TEST(JavaRegression ${JAVA_RUNTIME}
-classpath ${LIBRARY_OUTPUT_PATH}/vtk.jar${SEPARATOR}${VTK_BINARY_DIR}/Wrapping/Java
Regression -D ${VTK_DATA_ROOT}
-V Baseline/Graphics/Cone.png)
ENDIF(VTK_USE_RENDERING AND VTK_USE_DISPLAY)
ENDIF(BUILD_TESTING)
ADD_CUSTOM_COMMAND(
SOURCE VTKJava
COMMAND echo
ARGS "Checking dependencies for VTK Java"
TARGET VTKJava
DEPENDS ${LIBRARY_OUTPUT_PATH}/vtk.jar ${JAVA_TESTS}
)
IF(NOT VTK_INSTALL_NO_RUNTIME)
INSTALL_FILES(${VTK_INSTALL_JAVA_DIR} FILES ${LIBRARY_OUTPUT_PATH}/vtk.jar)
ENDIF(NOT VTK_INSTALL_NO_RUNTIME)
ENDIF(JAVA_ARCHIVE)
ENDIF(VTK_JAVA_NEW_STYLE)
ENDIF(JAVA_COMPILE)
|