VTK/New Install Framework: Difference between revisions

From KitwarePublic
< VTK
Jump to navigationJump to search
No edit summary
 
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Introduction ==
CMake 2.4 supports install components. Default component '''ALL''' will install all components. After that, each file can be in one component. When specifying components during '''install''' procedure, only the files corresponding to the component will be installed. Using this mechanism, packaging user projects that use itk will be simpler. For example, '''Slicer Runtime''', only requires runtime libraries from VTK, while '''Slicer Development''' must include all the header files and other support files.
== Classification of Files ==
== Classification of Files ==
Classification refers to the '''component''' in which the files are going to be installed.


{| border="1"
{| border="1"
Line 5: Line 11:
! Componnet !! Files !! Comment
! Componnet !! Files !! Comment
|-
|-
| Development || *.h, *.txx, *.hxx, (plus kwsys, vtkstd files) ||
|rowspan="6"| Development || *.h, *.txx, *.hxx, (plus kwsys, vtkstd files) ||
|-
|-
| Development || *.lib, *.a ||
| *.lib, *.a ||
|-
|-
| Development || vtkWrap*.exe, hints, tcl/vtktcl.c ||
| vtkWrap*.exe, hints, tcl/vtktcl.c ||
|-
|-
| Development || vtk*Kit.cmake || List of classes for external wrapping
| vtk*Kit.cmake || List of classes for external wrapping
|-
|-
| Development || VTKConfig.cmake, VTKBuldSettings.cmake, VTKLibraryDepends.cmake, UseVTK.cmake, CMake subdirectory ||
| VTKConfig.cmake, VTKBuldSettings.cmake, VTKLibraryDepends.cmake, UseVTK.cmake ||
|-
| CMake subdirectory ||
|-
|-
| Documentation || Man pages, html pages ||
| Documentation || Man pages, html pages ||
|-
|-
| RuntimeLibraries || *.dll, *.so ||
|rowspan="2"| RuntimeLibraries || *.dll, *.so ||
|-
|-
| RuntimeLibraries || *.tcl, *.py, tcl subdirectory (except tcl/vtktcl.c) ||
| *.tcl, *.py, tcl subdirectory (except tcl/vtktcl.c) ||
|-
|-
| RuntimeExecutables || vtk.exe, pvtk.exe, vtkpython.exe, pvtkpython.exe ||
| RuntimeExecutables || vtk.exe, pvtk.exe, vtkpython.exe, pvtkpython.exe ||
Line 25: Line 33:
| Examples || *.exe ||
| Examples || *.exe ||
|}
|}
== New API ==
Instead of:
INSTALL_TARGETS(/lib vtkCommon)
New command should be used:
  INSTALL(TARGETS vtkCommon
    RUNTIME DESTINATION bin COMPONENT Runtime    # .exe, .dll
    LIBRARY DESTINATION lib COMPONENT Runtime    # .so, mod.dll
    ARCHIVE DESTINATION lib COMPONENT Development # .a, .lib
    )
Instead of:
  INSTALL_FILES(/directory FILES foo1 foo2)
New command should be used:
  INSTALL(FILES foo1 foo2 DESTINATION directory)
== Notes ==
* Each install should correspond to one of these components
{{VTK/Template/Footer}}

Latest revision as of 18:10, 17 April 2007

Introduction

CMake 2.4 supports install components. Default component ALL will install all components. After that, each file can be in one component. When specifying components during install procedure, only the files corresponding to the component will be installed. Using this mechanism, packaging user projects that use itk will be simpler. For example, Slicer Runtime, only requires runtime libraries from VTK, while Slicer Development must include all the header files and other support files.

Classification of Files

Classification refers to the component in which the files are going to be installed.

Componnet Files Comment
Development *.h, *.txx, *.hxx, (plus kwsys, vtkstd files)
*.lib, *.a
vtkWrap*.exe, hints, tcl/vtktcl.c
vtk*Kit.cmake List of classes for external wrapping
VTKConfig.cmake, VTKBuldSettings.cmake, VTKLibraryDepends.cmake, UseVTK.cmake
CMake subdirectory
Documentation Man pages, html pages
RuntimeLibraries *.dll, *.so
*.tcl, *.py, tcl subdirectory (except tcl/vtktcl.c)
RuntimeExecutables vtk.exe, pvtk.exe, vtkpython.exe, pvtkpython.exe
Examples *.exe

New API

Instead of:

INSTALL_TARGETS(/lib vtkCommon) 

New command should be used:

 INSTALL(TARGETS vtkCommon
   RUNTIME DESTINATION bin COMPONENT Runtime     # .exe, .dll
   LIBRARY DESTINATION lib COMPONENT Runtime     # .so, mod.dll
   ARCHIVE DESTINATION lib COMPONENT Development # .a, .lib
   )

Instead of:

 INSTALL_FILES(/directory FILES foo1 foo2)

New command should be used:

 INSTALL(FILES foo1 foo2 DESTINATION directory)


Notes

  • Each install should correspond to one of these components



VTK: [Welcome | Site Map]