You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
201 lines
6.3 KiB
201 lines
6.3 KiB
# Defined local options to add to VTK Tcl interpreter
|
|
#
|
|
# Example of such options are:
|
|
# VTK_EXTRA_TCL_WRAPPING_CODE which should define extra code that will be
|
|
# added to vtkTkAppInitConfigure.h. This code may include something like
|
|
#
|
|
#
|
|
# extern "C" int Vtkmyspecialtcl_Init(Tcl_Interp *interp);
|
|
# #define VTK_EXTRA_TCL_INIT \
|
|
# if (Vtkmyspecialtcl_Init(interp) == TCL_ERROR) \
|
|
# {
|
|
# return TCL_ERROR;
|
|
# }
|
|
#
|
|
# and
|
|
#
|
|
# SET(VTK_EXTRA_TCL_LIBRARIES ${VTK_EXTRA_TCL_LIBRARIES} vtkMySpecialTCL)
|
|
INCLUDE (${VTK_BINARY_DIR}/Wrapping/Tcl/LocalUserOptions.cmake OPTIONAL)
|
|
INCLUDE (${VTK_SOURCE_DIR}/Wrapping/Tcl/LocalUserOptions.cmake OPTIONAL)
|
|
|
|
CONFIGURE_FILE(
|
|
${VTK_SOURCE_DIR}/Wrapping/Tcl/vtkTkAppInitConfigure.h.in
|
|
${VTK_BINARY_DIR}/Wrapping/Tcl/vtkTkAppInitConfigure.h
|
|
@ONLY IMMEDIATE
|
|
)
|
|
|
|
IF (NOT TCL_LIBRARY)
|
|
MESSAGE("VTK_WRAP_TCL is ON, but the Tcl library was not found. Please set TCL_LIBRARY." "Error")
|
|
ENDIF (NOT TCL_LIBRARY)
|
|
|
|
IF (WIN32)
|
|
IF (NOT BORLAND)
|
|
IF(NOT CYGWIN)
|
|
CONFIGURE_FILE(
|
|
${CMAKE_CURRENT_SOURCE_DIR}/resources/vtk.rc.in
|
|
${CMAKE_CURRENT_BINARY_DIR}/resources/vtk.rc)
|
|
INCLUDE_DIRECTORIES(
|
|
"${VTK_TK_RESOURCES_DIR}"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/resources"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/resources"
|
|
)
|
|
SET(VTK_EXE_RESOURCE_FILES
|
|
"${CMAKE_CURRENT_BINARY_DIR}/resources/vtk.rc")
|
|
ENDIF(NOT CYGWIN)
|
|
ENDIF (NOT BORLAND)
|
|
ENDIF (WIN32)
|
|
|
|
# Create the vtk Tcl wrapper executable.
|
|
ADD_EXECUTABLE(vtk vtkTkAppInit.cxx ${VTK_EXE_RESOURCE_FILES})
|
|
TARGET_LINK_LIBRARIES (vtk
|
|
vtkCommonTCL
|
|
vtkFilteringTCL
|
|
vtkGraphicsTCL
|
|
vtkImagingTCL
|
|
vtkIOTCL
|
|
)
|
|
|
|
IF(VTK_USE_CARBON)
|
|
FIND_PROGRAM(VTK_APPLE_RESOURCE Rez /Developer/Tools)
|
|
IF(VTK_APPLE_RESOURCE)
|
|
ADD_CUSTOM_COMMAND(
|
|
SOURCE vtk
|
|
COMMAND ${VTK_APPLE_RESOURCE}
|
|
ARGS Carbon.r -o ${VTK_EXECUTABLE_DIR}/vtk
|
|
TARGET vtk
|
|
)
|
|
ENDIF(VTK_APPLE_RESOURCE)
|
|
ENDIF(VTK_USE_CARBON)
|
|
|
|
IF (VTK_USE_RENDERING)
|
|
TARGET_LINK_LIBRARIES(vtk vtkRenderingTCL)
|
|
TARGET_LINK_LIBRARIES(vtk vtkVolumeRenderingTCL)
|
|
TARGET_LINK_LIBRARIES(vtk vtkHybridTCL)
|
|
TARGET_LINK_LIBRARIES(vtk vtkWidgetsTCL)
|
|
ENDIF (VTK_USE_RENDERING)
|
|
|
|
IF (VTK_USE_PARALLEL)
|
|
TARGET_LINK_LIBRARIES(vtk vtkParallelTCL)
|
|
ENDIF (VTK_USE_PARALLEL)
|
|
|
|
# Link to extra TCL libraries
|
|
FOREACH(lib ${VTK_EXTRA_TCL_LIBRARIES})
|
|
TARGET_LINK_LIBRARIES(vtk ${lib})
|
|
ENDFOREACH(lib)
|
|
|
|
# Setup install location for vtk tcl scripts.
|
|
SET(VTK_TCL_INSTALL_DIR ${VTK_INSTALL_TCL_DIR}/tcl)
|
|
|
|
IF(NOT VTK_INSTALL_NO_RUNTIME)
|
|
INSTALL_TARGETS(${VTK_INSTALL_BIN_DIR} vtk)
|
|
ENDIF(NOT VTK_INSTALL_NO_RUNTIME)
|
|
|
|
# Create the pvtk Tcl wrapper executable with MPI support.
|
|
IF (VTK_USE_PARALLEL)
|
|
IF (VTK_USE_MPI)
|
|
ADD_EXECUTABLE(pvtk vtkParaTkAppInit.cxx ${VTK_EXE_RESOURCE_FILES})
|
|
IF(VTK_USE_CARBON)
|
|
FIND_PROGRAM(VTK_APPLE_RESOURCE Rez /Developer/Tools)
|
|
IF(VTK_APPLE_RESOURCE)
|
|
ADD_CUSTOM_COMMAND(
|
|
SOURCE pvtk
|
|
COMMAND ${VTK_APPLE_RESOURCE}
|
|
ARGS Carbon.r -o ${VTK_EXECUTABLE_DIR}/pvtk
|
|
TARGET pvtk
|
|
)
|
|
ENDIF(VTK_APPLE_RESOURCE)
|
|
ENDIF(VTK_USE_CARBON)
|
|
|
|
TARGET_LINK_LIBRARIES (pvtk
|
|
vtkCommonTCL
|
|
vtkFilteringTCL
|
|
vtkGraphicsTCL
|
|
vtkImagingTCL
|
|
vtkIOTCL
|
|
vtkParallelTCL
|
|
)
|
|
|
|
IF (VTK_USE_RENDERING)
|
|
TARGET_LINK_LIBRARIES(pvtk vtkHybridTCL)
|
|
TARGET_LINK_LIBRARIES(pvtk vtkWidgetsTCL)
|
|
TARGET_LINK_LIBRARIES(pvtk vtkVolumeRenderingTCL)
|
|
ENDIF (VTK_USE_RENDERING)
|
|
|
|
IF(NOT VTK_INSTALL_NO_RUNTIME)
|
|
INSTALL_TARGETS(${VTK_INSTALL_BIN_DIR} pvtk)
|
|
ENDIF(NOT VTK_INSTALL_NO_RUNTIME)
|
|
ENDIF (VTK_USE_MPI)
|
|
ENDIF (VTK_USE_PARALLEL)
|
|
|
|
# Process all packages
|
|
SUBDIRS(vtk vtkbase vtkcommon vtkfiltering vtkgraphics vtkimaging vtkinteraction vtkio vtktesting)
|
|
|
|
IF(NOT VTK_INSTALL_NO_DOCUMENTATION)
|
|
INSTALL_FILES(${VTK_TCL_INSTALL_DIR} "" README)
|
|
ENDIF(NOT VTK_INSTALL_NO_DOCUMENTATION)
|
|
IF(NOT VTK_INSTALL_NO_DEVELOPMENT)
|
|
INSTALL_FILES(${VTK_TCL_INSTALL_DIR} .c vtktcl)
|
|
ENDIF(NOT VTK_INSTALL_NO_DEVELOPMENT)
|
|
|
|
SET(VTK_TCL_RENDERING_CONFIG "")
|
|
SET(VTK_TCL_VOLUMERENDERING_CONFIG "")
|
|
SET(VTK_TCL_HYBRID_CONFIG "")
|
|
SET(VTK_TCL_WIDGETS_CONFIG "")
|
|
SET(VTK_TCL_PARALLEL_CONFIG "")
|
|
|
|
IF (VTK_USE_PARALLEL)
|
|
SET(VTK_TCL_PARALLEL_CONFIG "Parallel")
|
|
SUBDIRS(vtkparallel)
|
|
ENDIF (VTK_USE_PARALLEL)
|
|
|
|
IF (VTK_USE_RENDERING)
|
|
SET(VTK_TCL_WIDGETS_CONFIG "Widgets")
|
|
SUBDIRS(vtkwidgets)
|
|
SET(VTK_TCL_HYBRID_CONFIG "Hybrid")
|
|
SUBDIRS(vtkhybrid)
|
|
SET(VTK_TCL_VOLUMERENDERING_CONFIG "VolumeRendering")
|
|
SUBDIRS(vtkvolumerendering)
|
|
SET(VTK_TCL_RENDERING_CONFIG "Rendering")
|
|
SUBDIRS(vtkrendering)
|
|
ENDIF (VTK_USE_RENDERING)
|
|
|
|
# Configure the Tcl package index files for the build tree.
|
|
SET(VTK_TCL_SCRIPT_DIR "${VTK_SOURCE_DIR}/Wrapping/Tcl")
|
|
|
|
SET(VTK_TCL_LIBNAME_PREFIX "${CMAKE_SHARED_LIBRARY_PREFIX}")
|
|
SET(VTK_TCL_CONFIGURATION_TYPES ${CMAKE_CONFIGURATION_TYPES})
|
|
|
|
IF(VTK_TCL_CONFIGURATION_TYPES)
|
|
FOREACH(config ${VTK_TCL_CONFIGURATION_TYPES})
|
|
SET(VTK_TCL_LIBRARY_DIR "${LIBRARY_OUTPUT_PATH}/${config}")
|
|
CONFIGURE_FILE(${VTK_SOURCE_DIR}/Wrapping/Tcl/pkgIndex.tcl.in
|
|
${VTK_BINARY_DIR}/Wrapping/Tcl/${config}/pkgIndex.tcl
|
|
@ONLY IMMEDIATE)
|
|
ENDFOREACH(config)
|
|
ELSE(VTK_TCL_CONFIGURATION_TYPES)
|
|
SET(VTK_TCL_LIBRARY_DIR "${LIBRARY_OUTPUT_PATH}")
|
|
CONFIGURE_FILE(${VTK_SOURCE_DIR}/Wrapping/Tcl/pkgIndex.tcl.in
|
|
${VTK_BINARY_DIR}/Wrapping/Tcl/pkgIndex.tcl
|
|
@ONLY IMMEDIATE)
|
|
ENDIF(VTK_TCL_CONFIGURATION_TYPES)
|
|
|
|
# Configure the Tcl package index file for the install tree.
|
|
SET(VTK_TCL_SCRIPT_DIR "[file dirname [info script]]/tcl")
|
|
IF(UNIX)
|
|
SET(VTK_TCL_LIBRARY_DIR "[file dirname [file dirname [info script]]]")
|
|
ELSE(UNIX)
|
|
SET(VTK_TCL_LIBRARY_DIR
|
|
"[file join [file dirname [file dirname [file dirname [info script]]]] bin]")
|
|
ENDIF(UNIX)
|
|
CONFIGURE_FILE(${VTK_SOURCE_DIR}/Wrapping/Tcl/pkgIndex.tcl.in
|
|
${VTK_BINARY_DIR}/Wrapping/Tcl/Install/Hide/pkgIndex.tcl
|
|
@ONLY IMMEDIATE)
|
|
IF(NOT VTK_INSTALL_NO_RUNTIME)
|
|
INSTALL_FILES(${VTK_INSTALL_TCL_DIR} FILES
|
|
${VTK_BINARY_DIR}/Wrapping/Tcl/Install/Hide/pkgIndex.tcl)
|
|
ENDIF(NOT VTK_INSTALL_NO_RUNTIME)
|
|
|
|
# Allow the user to customize their build with some local options
|
|
#
|
|
INCLUDE (${VTK_BINARY_DIR}/Wrapping/Tcl/LocalUserOptions.cmake OPTIONAL)
|
|
INCLUDE (${VTK_SOURCE_DIR}/Wrapping/Tcl/LocalUserOptions.cmake OPTIONAL)
|
|
|