VTK/New Install Framework: Difference between revisions
From KitwarePublic
< VTK
Jump to navigationJump to search
No edit summary |
No edit summary |
||
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 == | ||
Line 27: | Line 31: | ||
| 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 |
Revision as of 17:14, 29 September 2006
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
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