CMake/Modules/UseVTKConfig40.cmake
2005-12-14 13:51:08 -05:00

397 lines
13 KiB
CMake

#
# This is an implementation detail for using VTK 4.0 with the
# FindVTK.cmake module. Do not include directly.
# Hard-code the version number since it isn't provided by VTK 4.0.
SET(VTK_MAJOR_VERSION 4)
SET(VTK_MINOR_VERSION 0)
SET(VTK_BUILD_VERSION 2)
# Provide a new UseVTK file that doesn't do a full LOAD_CACHE.
SET(VTK_USE_FILE ${CMAKE_ROOT}/Modules/UseVTK40.cmake)
# Provide a build settings file.
SET(VTK_BUILD_SETTINGS_FILE ${CMAKE_ROOT}/Modules/UseVTKBuildSettings40.cmake)
# There are no CMake extensions for VTK 4.0.
SET(VTK_CMAKE_EXTENSIONS_DIR "")
# grep "VTK40_" UseVTKConfig40.cmake |sed 's/.*VTK40_\([A-Za-z0-9_]*\).*/ \1/'
LOAD_CACHE(${VTK_DIR} READ_WITH_PREFIX VTK40_
BUILD_SHARED_LIBS
CMAKE_BUILD_TOOL
CMAKE_BUILD_TYPE
CMAKE_CACHE_MAJOR_VERSION
CMAKE_CACHE_MINOR_VERSION
CMAKE_CXX_COMPILER
CMAKE_CXX_FLAGS
CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_RELWITHDEBINFO
CMAKE_C_COMPILER
CMAKE_C_FLAGS
CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_RELWITHDEBINFO
CMAKE_INSTALL_PREFIX
CMAKE_Xutil_INCLUDE_PATH
EXECUTABLE_OUTPUT_PATH
JAVA_INCLUDE_PATH2
LIBRARY_OUTPUT_PATH
MPIRUN
MPI_INCLUDE_PATH
MPI_POSTFLAGS
MPI_PREFLAGS
OPENGL_INCLUDE_DIR
OSMESA_INCLUDE_PATH
PYTHON_INCLUDE_PATH
TCL_INCLUDE_PATH
VLI_INCLUDE_PATH_FOR_VG500
VLI_INCLUDE_PATH_FOR_VP1000
VTK_BINARY_DIR
VTK_DEBUG_LEAKS
VTK_HAVE_VG500
VTK_HAVE_VP1000
VTK_MANGLE_MESA
VTK_OPENGL_HAS_OSMESA
VTK_PARSE_JAVA_EXE
VTK_SOURCE_DIR
VTK_USE_64BIT_IDS
VTK_USE_ANSI_STDLIB
VTK_USE_HYBRID
VTK_USE_MATROX_IMAGING
VTK_USE_MPI
VTK_USE_PARALLEL
VTK_USE_PATENTED
VTK_USE_RENDERING
VTK_USE_VIDEO_FOR_WINDOWS
VTK_USE_VOLUMEPRO
VTK_USE_X
VTK_WRAP_JAVA
VTK_WRAP_JAVA_EXE
VTK_WRAP_PYTHON
VTK_WRAP_PYTHON_EXE
VTK_WRAP_TCL
VTK_WRAP_TCL_EXE
vtkCommonJava_LIB_DEPENDS
vtkCommonPython_LIB_DEPENDS
vtkCommonTCL_LIB_DEPENDS
vtkCommon_LIB_DEPENDS
vtkFilteringJava_LIB_DEPENDS
vtkFilteringPython_LIB_DEPENDS
vtkFilteringTCL_LIB_DEPENDS
vtkFiltering_LIB_DEPENDS
vtkGraphicsJava_LIB_DEPENDS
vtkGraphicsPython_LIB_DEPENDS
vtkGraphicsTCL_LIB_DEPENDS
vtkGraphics_LIB_DEPENDS
vtkHybridJava_LIB_DEPENDS
vtkHybridPython_LIB_DEPENDS
vtkHybridTCL_LIB_DEPENDS
vtkHybrid_LIB_DEPENDS
vtkIOJava_LIB_DEPENDS
vtkIOPython_LIB_DEPENDS
vtkIOTCL_LIB_DEPENDS
vtkIO_LIB_DEPENDS
vtkImagingJava_LIB_DEPENDS
vtkImagingPython_LIB_DEPENDS
vtkImagingTCL_LIB_DEPENDS
vtkImaging_LIB_DEPENDS
vtkParallelJava_LIB_DEPENDS
vtkParallelPython_LIB_DEPENDS
vtkParallelTCL_LIB_DEPENDS
vtkParallel_LIB_DEPENDS
vtkPatentedJava_LIB_DEPENDS
vtkPatentedPython_LIB_DEPENDS
vtkPatentedTCL_LIB_DEPENDS
vtkPatented_LIB_DEPENDS
vtkRenderingJava_LIB_DEPENDS
vtkRenderingPythonTkWidgets_LIB_DEPENDS
vtkRenderingPython_LIB_DEPENDS
vtkRenderingTCL_LIB_DEPENDS
vtkRendering_LIB_DEPENDS
vtkjpeg_LIB_DEPENDS
vtkpng_LIB_DEPENDS
vtkzlib_LIB_DEPENDS
)
# Copy needed settings from the VTK 4.0 cache.
SET(VTK_BUILD_SHARED ${VTK40_BUILD_SHARED_LIBS})
SET(VTK_DEBUG_LEAKS ${VTK40_VTK_DEBUG_LEAKS})
SET(VTK_HAVE_VG500 ${VTK40_VTK_HAVE_VG500})
SET(VTK_HAVE_VP1000 ${VTK40_VTK_HAVE_VP1000})
SET(VTK_USE_MANGLED_MESA ${VTK40_VTK_MANGLE_MESA})
SET(VTK_MPIRUN_EXE ${VTK40_MPIRUN})
SET(VTK_MPI_POSTFLAGS ${VTK40_MPI_POSTFLAGS})
SET(VTK_MPI_PREFLAGS ${VTK40_MPI_PREFLAGS})
SET(VTK_OPENGL_HAS_OSMESA ${VTK40_VTK_OPENGL_HAS_OSMESA})
SET(VTK_USE_64BIT_IDS ${VTK40_VTK_USE_64BIT_IDS})
SET(VTK_USE_ANSI_STDLIB ${VTK40_VTK_USE_ANSI_STDLIB})
SET(VTK_USE_HYBRID ${VTK40_VTK_USE_HYBRID})
SET(VTK_USE_MATROX_IMAGING ${VTK40_VTK_USE_MATROX_IMAGING})
SET(VTK_USE_MPI ${VTK40_VTK_USE_MPI})
SET(VTK_USE_PARALLEL ${VTK40_VTK_USE_PARALLEL})
SET(VTK_USE_PATENTED ${VTK40_VTK_USE_PATENTED})
SET(VTK_USE_RENDERING ${VTK40_VTK_USE_RENDERING})
SET(VTK_USE_VIDEO_FOR_WINDOWS ${VTK40_VTK_USE_VIDEO_FOR_WINDOWS})
SET(VTK_USE_VOLUMEPRO ${VTK40_VTK_USE_VOLUMEPRO})
SET(VTK_USE_X ${VTK40_VTK_USE_X})
SET(VTK_WRAP_JAVA ${VTK40_VTK_WRAP_JAVA})
SET(VTK_WRAP_PYTHON ${VTK40_VTK_WRAP_PYTHON})
SET(VTK_WRAP_TCL ${VTK40_VTK_WRAP_TCL})
# Create the list of available kits.
SET(VTK_KITS COMMON FILTERING GRAPHICS IMAGING IO)
IF(VTK_USE_RENDERING)
SET(VTK_KITS ${VTK_KITS} RENDERING)
ENDIF(VTK_USE_RENDERING)
IF(VTK_USE_HYBRID)
SET(VTK_KITS ${VTK_KITS} HYBRID)
ENDIF(VTK_USE_HYBRID)
IF(VTK_USE_PARALLEL)
SET(VTK_KITS ${VTK_KITS} PARALLEL)
ENDIF(VTK_USE_PARALLEL)
IF(VTK_USE_PATENTED)
SET(VTK_KITS ${VTK_KITS} PATENTED)
ENDIF(VTK_USE_PATENTED)
# Create the list of available languages.
SET(VTK_LANGUAGES "")
IF(VTK_WRAP_TCL)
SET(VTK_LANGUAGES ${VTK_LANGUAGES} TCL)
ENDIF(VTK_WRAP_TCL)
IF(VTK_WRAP_PYTHON)
SET(VTK_LANGUAGES ${VTK_LANGUAGES} PYTHON)
ENDIF(VTK_WRAP_PYTHON)
IF(VTK_WRAP_JAVA)
SET(VTK_LANGUAGES ${VTK_LANGUAGES} JAVA)
ENDIF(VTK_WRAP_JAVA)
# Include directories for other projects installed on the system and
# used by VTK.
SET(VTK_INCLUDE_DIRS_SYS "")
IF(VTK_USE_RENDERING)
SET(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
${VTK40_OPENGL_INCLUDE_PATH} ${VTK40_OPENGL_INCLUDE_DIR})
IF(VTK_USE_X)
SET(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
${VTK40_CMAKE_Xlib_INCLUDE_PATH} ${VTK40_CMAKE_Xutil_INCLUDE_PATH})
ENDIF(VTK_USE_X)
ENDIF(VTK_USE_RENDERING)
IF(VTK_OPENGL_HAS_OSMESA)
SET(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
${VTK40_OSMESA_INCLUDE_PATH})
ENDIF(VTK_OPENGL_HAS_OSMESA)
IF(VTK_USE_MPI)
SET(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS} ${VTK40_MPI_INCLUDE_PATH})
ENDIF(VTK_USE_MPI)
IF(VTK_WRAP_TCL)
SET(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS} ${VTK40_TCL_INCLUDE_PATH})
ENDIF(VTK_WRAP_TCL)
IF(VTK_WRAP_PYTHON)
SET(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS} ${VTK40_PYTHON_INCLUDE_PATH})
ENDIF(VTK_WRAP_PYTHON)
IF(VTK_WRAP_JAVA)
SET(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
${VTK40_JAVA_INCLUDE_PATH} ${VTK40_JAVA_INCLUDE_PATH2})
ENDIF(VTK_WRAP_JAVA)
IF(VTK_HAVE_VG500)
SET(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
${VTK40_VLI_INCLUDE_PATH_FOR_VG500})
ENDIF(VTK_HAVE_VG500)
IF(VTK_HAVE_VP1000)
SET(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
${VTK40_VLI_INCLUDE_PATH_FOR_VP1000})
ENDIF(VTK_HAVE_VP1000)
# See if this is a build tree or install tree.
IF(EXISTS ${VTK_DIR}/Common)
# This is a VTK 4.0 build tree.
SET(VTK_LIBRARY_DIRS ${VTK40_LIBRARY_OUTPUT_PATH})
# Determine the include directories needed.
SET(VTK_INCLUDE_DIRS ${VTK40_VTK_BINARY_DIR})
IF(VTK_USE_PARALLEL)
SET(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK40_VTK_SOURCE_DIR}/Parallel)
ENDIF(VTK_USE_PARALLEL)
IF(VTK_USE_HYBRID)
SET(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK40_VTK_SOURCE_DIR}/Hybrid)
ENDIF(VTK_USE_HYBRID)
IF(VTK_USE_PATENTED)
SET(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK40_VTK_SOURCE_DIR}/Patented)
ENDIF(VTK_USE_PATENTED)
IF(VTK_USE_RENDERING)
SET(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK40_VTK_SOURCE_DIR}/Rendering)
ENDIF(VTK_USE_RENDERING)
# These directories are always needed.
SET(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS}
${VTK40_VTK_SOURCE_DIR}/IO
${VTK40_VTK_SOURCE_DIR}/Imaging
${VTK40_VTK_SOURCE_DIR}/Graphics
${VTK40_VTK_SOURCE_DIR}/Filtering
${VTK40_VTK_SOURCE_DIR}/Common)
# Give access to a few utilities.
SET(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS}
${VTK40_VTK_BINARY_DIR}/Utilities/png
${VTK40_VTK_SOURCE_DIR}/Utilities/png
${VTK40_VTK_BINARY_DIR}/Utilities/zlib
${VTK40_VTK_SOURCE_DIR}/Utilities/zlib)
# Executable locations.
IF(VTK_WRAP_TCL)
SET(VTK_TCL_EXE ${VTK40_EXECUTABLE_OUTPUT_PATH}/vtk)
SET(VTK_WRAP_TCL_EXE ${VTK40_VTK_WRAP_TCL_EXE})
SET(VTK_TCL_HOME ${VTK40_VTK_SOURCE_DIR}/Wrapping/Tcl)
ENDIF(VTK_WRAP_TCL)
IF(VTK_WRAP_PYTHON)
SET(VTK_WRAP_PYTHON_EXE ${VTK40_VTK_WRAP_PYTHON_EXE})
ENDIF(VTK_WRAP_PYTHON)
IF(VTK_WRAP_JAVA)
SET(VTK_PARSE_JAVA_EXE ${VTK40_VTK_PARSE_JAVA_EXE})
SET(VTK_WRAP_JAVA_EXE ${VTK40_VTK_WRAP_JAVA_EXE})
ENDIF(VTK_WRAP_JAVA)
ELSE(EXISTS ${VTK_DIR}/Common)
# This is a VTK 4.0 install tree.
SET(VTK_INCLUDE_DIRS ${VTK_DIR})
SET(VTK_LIBRARY_DIRS ${VTK40_CMAKE_INSTALL_PREFIX}/lib/vtk)
# Executable locations.
IF(VTK_WRAP_TCL)
SET(VTK_TCL_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtk)
SET(VTK_WRAP_TCL_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtkWrapTcl)
SET(VTK_TCL_HOME ${VTK40_CMAKE_INSTALL_PREFIX}/lib/vtk/tcl)
ENDIF(VTK_WRAP_TCL)
IF(VTK_WRAP_PYTHON)
SET(VTK_WRAP_PYTHON_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtkWrapPython)
ENDIF(VTK_WRAP_PYTHON)
IF(VTK_WRAP_JAVA)
SET(VTK_PARSE_JAVA_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtkParseJava)
SET(VTK_WRAP_JAVA_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtkWrapJava)
ENDIF(VTK_WRAP_JAVA)
ENDIF(EXISTS ${VTK_DIR}/Common)
# Add the system include directories last.
SET(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK_INCLUDE_DIRS_SYS})
# Find the required C and C++ compiler flags.
IF(CMAKE_COMPILER_IS_GNUCXX)
IF(WIN32)
# The platform is gcc on cygwin.
SET(VTK_REQUIRED_CXX_FLAGS "${VTK_REQUIRED_CXX_FLAGS} -mwin32")
SET(VTK_REQUIRED_C_FLAGS "${VTK_REQUIRED_C_FLAGS} -mwin32")
ENDIF(WIN32)
ELSE(CMAKE_COMPILER_IS_GNUCXX)
IF(CMAKE_ANSI_CFLAGS)
SET(VTK_REQUIRED_C_FLAGS "${VTK_REQUIRED_C_FLAGS} ${CMAKE_ANSI_CFLAGS}")
ENDIF(CMAKE_ANSI_CFLAGS)
IF(CMAKE_SYSTEM MATCHES "OSF1-V.*")
SET(VTK_REQUIRED_CXX_FLAGS
"${VTK_REQUIRED_CXX_FLAGS} -timplicit_local -no_implicit_include")
ENDIF(CMAKE_SYSTEM MATCHES "OSF1-V.*")
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
IF(VTK_USE_X)
IF(CMAKE_X_CFLAGS)
SET(VTK_REQUIRED_C_FLAGS "${VTK_REQUIRED_C_FLAGS} ${CMAKE_X_CFLAGS}")
SET(VTK_REQUIRED_CXX_FLAGS "${VTK_REQUIRED_CXX_FLAGS} ${CMAKE_X_CFLAGS}")
ENDIF(CMAKE_X_CFLAGS)
ENDIF(VTK_USE_X)
# Copy library dependencies.
SET(vtkCommonJava_LIB_DEPENDS "${VTK40_vtkCommonJava_LIB_DEPENDS}")
SET(vtkCommonPython_LIB_DEPENDS "${VTK40_vtkCommonPython_LIB_DEPENDS}")
SET(vtkCommonTCL_LIB_DEPENDS "${VTK40_vtkCommonTCL_LIB_DEPENDS}")
SET(vtkCommon_LIB_DEPENDS "${VTK40_vtkCommon_LIB_DEPENDS}")
SET(vtkFilteringJava_LIB_DEPENDS "${VTK40_vtkFilteringJava_LIB_DEPENDS}")
SET(vtkFilteringPython_LIB_DEPENDS "${VTK40_vtkFilteringPython_LIB_DEPENDS}")
SET(vtkFilteringTCL_LIB_DEPENDS "${VTK40_vtkFilteringTCL_LIB_DEPENDS}")
SET(vtkFiltering_LIB_DEPENDS "${VTK40_vtkFiltering_LIB_DEPENDS}")
SET(vtkGraphicsJava_LIB_DEPENDS "${VTK40_vtkGraphicsJava_LIB_DEPENDS}")
SET(vtkGraphicsPython_LIB_DEPENDS "${VTK40_vtkGraphicsPython_LIB_DEPENDS}")
SET(vtkGraphicsTCL_LIB_DEPENDS "${VTK40_vtkGraphicsTCL_LIB_DEPENDS}")
SET(vtkGraphics_LIB_DEPENDS "${VTK40_vtkGraphics_LIB_DEPENDS}")
SET(vtkHybridJava_LIB_DEPENDS "${VTK40_vtkHybridJava_LIB_DEPENDS}")
SET(vtkHybridPython_LIB_DEPENDS "${VTK40_vtkHybridPython_LIB_DEPENDS}")
SET(vtkHybridTCL_LIB_DEPENDS "${VTK40_vtkHybridTCL_LIB_DEPENDS}")
SET(vtkHybrid_LIB_DEPENDS "${VTK40_vtkHybrid_LIB_DEPENDS}")
SET(vtkIOJava_LIB_DEPENDS "${VTK40_vtkIOJava_LIB_DEPENDS}")
SET(vtkIOPython_LIB_DEPENDS "${VTK40_vtkIOPython_LIB_DEPENDS}")
SET(vtkIOTCL_LIB_DEPENDS "${VTK40_vtkIOTCL_LIB_DEPENDS}")
SET(vtkIO_LIB_DEPENDS "${VTK40_vtkIO_LIB_DEPENDS}")
SET(vtkImagingJava_LIB_DEPENDS "${VTK40_vtkImagingJava_LIB_DEPENDS}")
SET(vtkImagingPython_LIB_DEPENDS "${VTK40_vtkImagingPython_LIB_DEPENDS}")
SET(vtkImagingTCL_LIB_DEPENDS "${VTK40_vtkImagingTCL_LIB_DEPENDS}")
SET(vtkImaging_LIB_DEPENDS "${VTK40_vtkImaging_LIB_DEPENDS}")
SET(vtkParallelJava_LIB_DEPENDS "${VTK40_vtkParallelJava_LIB_DEPENDS}")
SET(vtkParallelPython_LIB_DEPENDS "${VTK40_vtkParallelPython_LIB_DEPENDS}")
SET(vtkParallelTCL_LIB_DEPENDS "${VTK40_vtkParallelTCL_LIB_DEPENDS}")
SET(vtkParallel_LIB_DEPENDS "${VTK40_vtkParallel_LIB_DEPENDS}")
SET(vtkPatentedJava_LIB_DEPENDS "${VTK40_vtkPatentedJava_LIB_DEPENDS}")
SET(vtkPatentedPython_LIB_DEPENDS "${VTK40_vtkPatentedPython_LIB_DEPENDS}")
SET(vtkPatentedTCL_LIB_DEPENDS "${VTK40_vtkPatentedTCL_LIB_DEPENDS}")
SET(vtkPatented_LIB_DEPENDS "${VTK40_vtkPatented_LIB_DEPENDS}")
SET(vtkRenderingJava_LIB_DEPENDS "${VTK40_vtkRenderingJava_LIB_DEPENDS}")
SET(vtkRenderingPythonTkWidgets_LIB_DEPENDS "${VTK40_vtkRenderingPythonTkWidgets_LIB_DEPENDS}")
SET(vtkRenderingPython_LIB_DEPENDS "${VTK40_vtkRenderingPython_LIB_DEPENDS}")
SET(vtkRenderingTCL_LIB_DEPENDS "${VTK40_vtkRenderingTCL_LIB_DEPENDS}")
SET(vtkRendering_LIB_DEPENDS "${VTK40_vtkRendering_LIB_DEPENDS}")
SET(vtkjpeg_LIB_DEPENDS "${VTK40_vtkjpeg_LIB_DEPENDS}")
SET(vtkpng_LIB_DEPENDS "${VTK40_vtkpng_LIB_DEPENDS}")
SET(vtkzlib_LIB_DEPENDS "${VTK40_vtkzlib_LIB_DEPENDS}")
# List of VTK configuration variables set above.
# grep "^[ ]*SET(VTK" UseVTKConfig40.cmake |sed 's/[ ]*SET(\([^ ]*\) .*/ \1/'
SET(VTK_SETTINGS
VTK_BUILD_SHARED
VTK_BUILD_VERSION
VTK_DEBUG_LEAKS
VTK_HAVE_VG500
VTK_HAVE_VP1000
VTK_INCLUDE_DIRS
VTK_KITS
VTK_LANGUAGES
VTK_LIBRARY_DIRS
VTK_MAJOR_VERSION
VTK_MANGLE_MESA
VTK_MINOR_VERSION
VTK_MPIRUN_EXE
VTK_MPI_POSTFLAGS
VTK_MPI_PREFLAGS
VTK_OPENGL_HAS_OSMESA
VTK_PARSE_JAVA_EXE
VTK_TCL_EXE
VTK_TCL_HOME
VTK_USE_64BIT_IDS
VTK_USE_ANSI_STDLIB
VTK_USE_HYBRID
VTK_USE_MATROX_IMAGING
VTK_USE_MPI
VTK_USE_PARALLEL
VTK_USE_PATENTED
VTK_USE_RENDERING
VTK_USE_VIDEO_FOR_WINDOWS
VTK_USE_VOLUMEPRO
VTK_USE_X
VTK_WRAP_JAVA
VTK_WRAP_JAVA_EXE
VTK_WRAP_PYTHON
VTK_WRAP_PYTHON_EXE
VTK_WRAP_TCL
VTK_WRAP_TCL_EXE
)