3 #=============================================================================
4 # Copyright 2002-2009 Kitware, Inc.
6 # Distributed under the OSI-approved BSD License (the "License");
7 # see accompanying file Copyright.txt for details.
9 # This software is distributed WITHOUT ANY WARRANTY; without even the
10 # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11 # See the License for more information.
12 #=============================================================================
13 # (To distribute this file outside of CMake, substitute the full
14 # License text for the above reference.)
16 # This is an implementation detail for using VTK 4.0 with the
17 # FindVTK.cmake module. Do not include directly.
19 # Hard-code the version number since it isn't provided by VTK 4.0.
20 set(VTK_MAJOR_VERSION 4)
21 set(VTK_MINOR_VERSION 0)
22 set(VTK_BUILD_VERSION 2)
24 # Provide a new UseVTK file that doesn't do a full LOAD_CACHE.
25 set(VTK_USE_FILE ${CMAKE_ROOT}/Modules/UseVTK40.cmake)
27 # Provide a build settings file.
28 set(VTK_BUILD_SETTINGS_FILE ${CMAKE_ROOT}/Modules/UseVTKBuildSettings40.cmake)
30 # There are no CMake extensions for VTK 4.0.
31 set(VTK_CMAKE_EXTENSIONS_DIR "")
33 # grep "VTK40_" UseVTKConfig40.cmake |sed 's/.*VTK40_\([A-Za-z0-9_]*\).*/ \1/'
34 load_cache(${VTK_DIR} READ_WITH_PREFIX VTK40_
38 CMAKE_CACHE_MAJOR_VERSION
39 CMAKE_CACHE_MINOR_VERSION
43 CMAKE_CXX_FLAGS_MINSIZEREL
44 CMAKE_CXX_FLAGS_RELEASE
45 CMAKE_CXX_FLAGS_RELWITHDEBINFO
49 CMAKE_C_FLAGS_MINSIZEREL
51 CMAKE_C_FLAGS_RELWITHDEBINFO
53 CMAKE_Xutil_INCLUDE_PATH
54 EXECUTABLE_OUTPUT_PATH
65 VLI_INCLUDE_PATH_FOR_VG500
66 VLI_INCLUDE_PATH_FOR_VP1000
78 VTK_USE_MATROX_IMAGING
83 VTK_USE_VIDEO_FOR_WINDOWS
92 vtkCommonJava_LIB_DEPENDS
93 vtkCommonPython_LIB_DEPENDS
94 vtkCommonTCL_LIB_DEPENDS
96 vtkFilteringJava_LIB_DEPENDS
97 vtkFilteringPython_LIB_DEPENDS
98 vtkFilteringTCL_LIB_DEPENDS
99 vtkFiltering_LIB_DEPENDS
100 vtkGraphicsJava_LIB_DEPENDS
101 vtkGraphicsPython_LIB_DEPENDS
102 vtkGraphicsTCL_LIB_DEPENDS
103 vtkGraphics_LIB_DEPENDS
104 vtkHybridJava_LIB_DEPENDS
105 vtkHybridPython_LIB_DEPENDS
106 vtkHybridTCL_LIB_DEPENDS
107 vtkHybrid_LIB_DEPENDS
108 vtkIOJava_LIB_DEPENDS
109 vtkIOPython_LIB_DEPENDS
112 vtkImagingJava_LIB_DEPENDS
113 vtkImagingPython_LIB_DEPENDS
114 vtkImagingTCL_LIB_DEPENDS
115 vtkImaging_LIB_DEPENDS
116 vtkParallelJava_LIB_DEPENDS
117 vtkParallelPython_LIB_DEPENDS
118 vtkParallelTCL_LIB_DEPENDS
119 vtkParallel_LIB_DEPENDS
120 vtkPatentedJava_LIB_DEPENDS
121 vtkPatentedPython_LIB_DEPENDS
122 vtkPatentedTCL_LIB_DEPENDS
123 vtkPatented_LIB_DEPENDS
124 vtkRenderingJava_LIB_DEPENDS
125 vtkRenderingPythonTkWidgets_LIB_DEPENDS
126 vtkRenderingPython_LIB_DEPENDS
127 vtkRenderingTCL_LIB_DEPENDS
128 vtkRendering_LIB_DEPENDS
134 # Copy needed settings from the VTK 4.0 cache.
135 set(VTK_BUILD_SHARED ${VTK40_BUILD_SHARED_LIBS})
136 set(VTK_DEBUG_LEAKS ${VTK40_VTK_DEBUG_LEAKS})
137 set(VTK_HAVE_VG500 ${VTK40_VTK_HAVE_VG500})
138 set(VTK_HAVE_VP1000 ${VTK40_VTK_HAVE_VP1000})
139 set(VTK_USE_MANGLED_MESA ${VTK40_VTK_MANGLE_MESA})
140 set(VTK_MPIRUN_EXE ${VTK40_MPIRUN})
141 set(VTK_MPI_POSTFLAGS ${VTK40_MPI_POSTFLAGS})
142 set(VTK_MPI_PREFLAGS ${VTK40_MPI_PREFLAGS})
143 set(VTK_OPENGL_HAS_OSMESA ${VTK40_VTK_OPENGL_HAS_OSMESA})
144 set(VTK_USE_64BIT_IDS ${VTK40_VTK_USE_64BIT_IDS})
145 set(VTK_USE_ANSI_STDLIB ${VTK40_VTK_USE_ANSI_STDLIB})
146 set(VTK_USE_HYBRID ${VTK40_VTK_USE_HYBRID})
147 set(VTK_USE_MATROX_IMAGING ${VTK40_VTK_USE_MATROX_IMAGING})
148 set(VTK_USE_MPI ${VTK40_VTK_USE_MPI})
149 set(VTK_USE_PARALLEL ${VTK40_VTK_USE_PARALLEL})
150 set(VTK_USE_PATENTED ${VTK40_VTK_USE_PATENTED})
151 set(VTK_USE_RENDERING ${VTK40_VTK_USE_RENDERING})
152 set(VTK_USE_VIDEO_FOR_WINDOWS ${VTK40_VTK_USE_VIDEO_FOR_WINDOWS})
153 set(VTK_USE_VOLUMEPRO ${VTK40_VTK_USE_VOLUMEPRO})
154 set(VTK_USE_X ${VTK40_VTK_USE_X})
155 set(VTK_WRAP_JAVA ${VTK40_VTK_WRAP_JAVA})
156 set(VTK_WRAP_PYTHON ${VTK40_VTK_WRAP_PYTHON})
157 set(VTK_WRAP_TCL ${VTK40_VTK_WRAP_TCL})
159 # Create the list of available kits.
160 set(VTK_KITS COMMON FILTERING GRAPHICS IMAGING IO)
161 if(VTK_USE_RENDERING)
162 set(VTK_KITS ${VTK_KITS} RENDERING)
165 set(VTK_KITS ${VTK_KITS} HYBRID)
168 set(VTK_KITS ${VTK_KITS} PARALLEL)
171 set(VTK_KITS ${VTK_KITS} PATENTED)
174 # Create the list of available languages.
175 set(VTK_LANGUAGES "")
177 set(VTK_LANGUAGES ${VTK_LANGUAGES} TCL)
180 set(VTK_LANGUAGES ${VTK_LANGUAGES} PYTHON)
183 set(VTK_LANGUAGES ${VTK_LANGUAGES} JAVA)
186 # Include directories for other projects installed on the system and
188 set(VTK_INCLUDE_DIRS_SYS "")
189 if(VTK_USE_RENDERING)
190 set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
191 ${VTK40_OPENGL_INCLUDE_PATH} ${VTK40_OPENGL_INCLUDE_DIR})
193 set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
194 ${VTK40_CMAKE_Xlib_INCLUDE_PATH} ${VTK40_CMAKE_Xutil_INCLUDE_PATH})
198 if(VTK_OPENGL_HAS_OSMESA)
199 set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
200 ${VTK40_OSMESA_INCLUDE_PATH})
204 set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS} ${VTK40_MPI_INCLUDE_PATH})
208 set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS} ${VTK40_TCL_INCLUDE_PATH})
212 set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS} ${VTK40_PYTHON_INCLUDE_PATH})
216 set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
217 ${VTK40_JAVA_INCLUDE_PATH} ${VTK40_JAVA_INCLUDE_PATH2})
221 set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
222 ${VTK40_VLI_INCLUDE_PATH_FOR_VG500})
226 set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
227 ${VTK40_VLI_INCLUDE_PATH_FOR_VP1000})
230 # See if this is a build tree or install tree.
231 if(EXISTS ${VTK_DIR}/Common)
232 # This is a VTK 4.0 build tree.
234 set(VTK_LIBRARY_DIRS ${VTK40_LIBRARY_OUTPUT_PATH})
236 # Determine the include directories needed.
237 set(VTK_INCLUDE_DIRS ${VTK40_VTK_BINARY_DIR})
239 set(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK40_VTK_SOURCE_DIR}/Parallel)
242 set(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK40_VTK_SOURCE_DIR}/Hybrid)
245 set(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK40_VTK_SOURCE_DIR}/Patented)
247 if(VTK_USE_RENDERING)
248 set(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK40_VTK_SOURCE_DIR}/Rendering)
251 # These directories are always needed.
252 set(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS}
253 ${VTK40_VTK_SOURCE_DIR}/IO
254 ${VTK40_VTK_SOURCE_DIR}/Imaging
255 ${VTK40_VTK_SOURCE_DIR}/Graphics
256 ${VTK40_VTK_SOURCE_DIR}/Filtering
257 ${VTK40_VTK_SOURCE_DIR}/Common)
259 # Give access to a few utilities.
260 set(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS}
261 ${VTK40_VTK_BINARY_DIR}/Utilities/png
262 ${VTK40_VTK_SOURCE_DIR}/Utilities/png
263 ${VTK40_VTK_BINARY_DIR}/Utilities/zlib
264 ${VTK40_VTK_SOURCE_DIR}/Utilities/zlib)
266 # Executable locations.
268 set(VTK_TCL_EXE ${VTK40_EXECUTABLE_OUTPUT_PATH}/vtk)
269 set(VTK_WRAP_TCL_EXE ${VTK40_VTK_WRAP_TCL_EXE})
270 set(VTK_TCL_HOME ${VTK40_VTK_SOURCE_DIR}/Wrapping/Tcl)
273 set(VTK_WRAP_PYTHON_EXE ${VTK40_VTK_WRAP_PYTHON_EXE})
276 set(VTK_PARSE_JAVA_EXE ${VTK40_VTK_PARSE_JAVA_EXE})
277 set(VTK_WRAP_JAVA_EXE ${VTK40_VTK_WRAP_JAVA_EXE})
281 # This is a VTK 4.0 install tree.
283 set(VTK_INCLUDE_DIRS ${VTK_DIR})
284 set(VTK_LIBRARY_DIRS ${VTK40_CMAKE_INSTALL_PREFIX}/lib/vtk)
286 # Executable locations.
288 set(VTK_TCL_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtk)
289 set(VTK_WRAP_TCL_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtkWrapTcl)
290 set(VTK_TCL_HOME ${VTK40_CMAKE_INSTALL_PREFIX}/lib/vtk/tcl)
293 set(VTK_WRAP_PYTHON_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtkWrapPython)
296 set(VTK_PARSE_JAVA_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtkParseJava)
297 set(VTK_WRAP_JAVA_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtkWrapJava)
301 # Add the system include directories last.
302 set(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK_INCLUDE_DIRS_SYS})
304 # Find the required C and C++ compiler flags.
305 if(CMAKE_COMPILER_IS_GNUCXX)
307 # The platform is gcc on cygwin.
308 set(VTK_REQUIRED_CXX_FLAGS "${VTK_REQUIRED_CXX_FLAGS} -mwin32")
309 set(VTK_REQUIRED_C_FLAGS "${VTK_REQUIRED_C_FLAGS} -mwin32")
312 if(CMAKE_ANSI_CFLAGS)
313 set(VTK_REQUIRED_C_FLAGS "${VTK_REQUIRED_C_FLAGS} ${CMAKE_ANSI_CFLAGS}")
315 if(CMAKE_SYSTEM MATCHES "OSF1-V.*")
316 set(VTK_REQUIRED_CXX_FLAGS
317 "${VTK_REQUIRED_CXX_FLAGS} -timplicit_local -no_implicit_include")
323 set(VTK_REQUIRED_C_FLAGS "${VTK_REQUIRED_C_FLAGS} ${CMAKE_X_CFLAGS}")
324 set(VTK_REQUIRED_CXX_FLAGS "${VTK_REQUIRED_CXX_FLAGS} ${CMAKE_X_CFLAGS}")
328 # Copy library dependencies.
329 set(vtkCommonJava_LIB_DEPENDS "${VTK40_vtkCommonJava_LIB_DEPENDS}")
330 set(vtkCommonPython_LIB_DEPENDS "${VTK40_vtkCommonPython_LIB_DEPENDS}")
331 set(vtkCommonTCL_LIB_DEPENDS "${VTK40_vtkCommonTCL_LIB_DEPENDS}")
332 set(vtkCommon_LIB_DEPENDS "${VTK40_vtkCommon_LIB_DEPENDS}")
333 set(vtkFilteringJava_LIB_DEPENDS "${VTK40_vtkFilteringJava_LIB_DEPENDS}")
334 set(vtkFilteringPython_LIB_DEPENDS "${VTK40_vtkFilteringPython_LIB_DEPENDS}")
335 set(vtkFilteringTCL_LIB_DEPENDS "${VTK40_vtkFilteringTCL_LIB_DEPENDS}")
336 set(vtkFiltering_LIB_DEPENDS "${VTK40_vtkFiltering_LIB_DEPENDS}")
337 set(vtkGraphicsJava_LIB_DEPENDS "${VTK40_vtkGraphicsJava_LIB_DEPENDS}")
338 set(vtkGraphicsPython_LIB_DEPENDS "${VTK40_vtkGraphicsPython_LIB_DEPENDS}")
339 set(vtkGraphicsTCL_LIB_DEPENDS "${VTK40_vtkGraphicsTCL_LIB_DEPENDS}")
340 set(vtkGraphics_LIB_DEPENDS "${VTK40_vtkGraphics_LIB_DEPENDS}")
341 set(vtkHybridJava_LIB_DEPENDS "${VTK40_vtkHybridJava_LIB_DEPENDS}")
342 set(vtkHybridPython_LIB_DEPENDS "${VTK40_vtkHybridPython_LIB_DEPENDS}")
343 set(vtkHybridTCL_LIB_DEPENDS "${VTK40_vtkHybridTCL_LIB_DEPENDS}")
344 set(vtkHybrid_LIB_DEPENDS "${VTK40_vtkHybrid_LIB_DEPENDS}")
345 set(vtkIOJava_LIB_DEPENDS "${VTK40_vtkIOJava_LIB_DEPENDS}")
346 set(vtkIOPython_LIB_DEPENDS "${VTK40_vtkIOPython_LIB_DEPENDS}")
347 set(vtkIOTCL_LIB_DEPENDS "${VTK40_vtkIOTCL_LIB_DEPENDS}")
348 set(vtkIO_LIB_DEPENDS "${VTK40_vtkIO_LIB_DEPENDS}")
349 set(vtkImagingJava_LIB_DEPENDS "${VTK40_vtkImagingJava_LIB_DEPENDS}")
350 set(vtkImagingPython_LIB_DEPENDS "${VTK40_vtkImagingPython_LIB_DEPENDS}")
351 set(vtkImagingTCL_LIB_DEPENDS "${VTK40_vtkImagingTCL_LIB_DEPENDS}")
352 set(vtkImaging_LIB_DEPENDS "${VTK40_vtkImaging_LIB_DEPENDS}")
353 set(vtkParallelJava_LIB_DEPENDS "${VTK40_vtkParallelJava_LIB_DEPENDS}")
354 set(vtkParallelPython_LIB_DEPENDS "${VTK40_vtkParallelPython_LIB_DEPENDS}")
355 set(vtkParallelTCL_LIB_DEPENDS "${VTK40_vtkParallelTCL_LIB_DEPENDS}")
356 set(vtkParallel_LIB_DEPENDS "${VTK40_vtkParallel_LIB_DEPENDS}")
357 set(vtkPatentedJava_LIB_DEPENDS "${VTK40_vtkPatentedJava_LIB_DEPENDS}")
358 set(vtkPatentedPython_LIB_DEPENDS "${VTK40_vtkPatentedPython_LIB_DEPENDS}")
359 set(vtkPatentedTCL_LIB_DEPENDS "${VTK40_vtkPatentedTCL_LIB_DEPENDS}")
360 set(vtkPatented_LIB_DEPENDS "${VTK40_vtkPatented_LIB_DEPENDS}")
361 set(vtkRenderingJava_LIB_DEPENDS "${VTK40_vtkRenderingJava_LIB_DEPENDS}")
362 set(vtkRenderingPythonTkWidgets_LIB_DEPENDS "${VTK40_vtkRenderingPythonTkWidgets_LIB_DEPENDS}")
363 set(vtkRenderingPython_LIB_DEPENDS "${VTK40_vtkRenderingPython_LIB_DEPENDS}")
364 set(vtkRenderingTCL_LIB_DEPENDS "${VTK40_vtkRenderingTCL_LIB_DEPENDS}")
365 set(vtkRendering_LIB_DEPENDS "${VTK40_vtkRendering_LIB_DEPENDS}")
366 set(vtkjpeg_LIB_DEPENDS "${VTK40_vtkjpeg_LIB_DEPENDS}")
367 set(vtkpng_LIB_DEPENDS "${VTK40_vtkpng_LIB_DEPENDS}")
368 set(vtkzlib_LIB_DEPENDS "${VTK40_vtkzlib_LIB_DEPENDS}")
370 # List of VTK configuration variables set above.
371 # grep "^[ ]*set(VTK" UseVTKConfig40.cmake |sed 's/[ ]*set(\([^ ]*\) .*/ \1/'
388 VTK_OPENGL_HAS_OSMESA
395 VTK_USE_MATROX_IMAGING
400 VTK_USE_VIDEO_FOR_WINDOWS