ITK/New Install Framework: Difference between revisions

From KitwarePublic
< ITK
Jump to navigationJump to search
No edit summary
Line 33: Line 33:
| Examples || *.exe ||
| Examples || *.exe ||
|}
|}
== New API ==
Instead of:
INSTALL_TARGETS(/lib itkCommon)
New command should be used:
  INSTALL(TARGETS itkCommon
    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)





Revision as of 15:15, 28 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 ITK, 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, itksys, gxsys files)
*.lib, *.a
*.idx, *.mdx, *.swg, CSwing subdirectory
vtk*Kit.cmake List of classes for external wrapping
ITKConfig.cmake, ITKBuldSettings.cmake, ITKLibraryDepends.cmake, UseITK.cmake
CMake subdirectory
WrapITK/Configuration
Documentation Man pages, html pages, *.dic
RuntimeLibraries *.dll, *.so
*.tcl, *.py,
RuntimeExecutables itkwish
Examples *.exe


New API

Instead of:

INSTALL_TARGETS(/lib itkCommon) 

New command should be used:

 INSTALL(TARGETS itkCommon
   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