Computer Assited Medical Intervention Tool Kit  version 5.0
+ Collaboration diagram for projects:

Functions

 camitk_init_manifest_data ()
 
 camitk_register_subproject ()
 
 camitk_write_manifest_data ()
 

Detailed Description

CamiTK CMake macros for generating the listing of all the CamiTK project as a build/SubProjects.cmake and build/Project.xml files. These files are used by CDash and continuous integration scripts to exactly know the CMake projects to work with and their cross-dependencies.

Function Documentation

◆ camitk_init_manifest_data()

camitk_init_manifest_data ( )

MACRO camitk_init_manifest_data initializes the global variables that will gather all the information about all the subprojects.

There are 7 types of subprojects:

  • the corelib (only present in the SDK)
  • the cep library (one subproject per library of the CEP)
  • the application action (only present in the SDK for application actions)
  • the component (one subproject per component extension of the CEP)
  • the action (one subproject per action extension of the CEP)
  • the viewer (one subproject per viewer extension of the CEP)
  • the application (one subproject per application of the CEP)

Note: application actions are special actions grouped into a specific action extension. This unique action extension is mandatory for any CamiTK application to run properly (they include basic actions such as "save", "open"...)

macro camitk_init_manifest_data is called only once per CEP or per CEP Set and reset the global cache variables that are filled with XML fragment.

The CAMITK_SUBPROJECTS variable is a XML document that concatenate all these variable. CAMITK_SUBPROJECTS is used to produced the "Project.xml" file in the build directory. The "Project.xml" file is send and later parse by CDash to present Continuous Integration information by subproject.

This macro clears all the following global cache variables:

  • CAMITK_CORE_LIBRARY_SUBPROJECTS is the XML fragment describing the CamiTK Core library (only found in the SDK)
  • CAMITK_CEP_LIBRARY_SUBPROJECTS is the XML fragment describing the library created by the CEP
  • CAMITK_APPLICATION_ACTION_SUBPROJECTS is the XML fragment describing the application actions (only found in the SDK)
  • CAMITK_COMPONENT_SUBPROJECTS is the XML fragment describing the component extensions created by the CEP
  • CAMITK_ACTION_SUBPROJECTS is the XML fragment describing the action extensions created by the CEP
  • CAMITK_VIEWER_SUBPROJECTS is the XML fragment describing the viewer extensions created by the CEP
  • CAMITK_APPLICATION_SUBPROJECTS is the XML Fragment describing applications created by the CEP

The CAMITK_TARGETS variable list all the targets. It is also used by CDash. Targets are also organized into sub categies:

This macro also clears all these global cache variables.

  • CAMITK_CEP_LIBRARY_TARGETS
  • CAMITK_COMPONENT_TARGETS
  • CAMITK_ACTION_TARGETS
  • CAMITK_VIEWER_TARGETS
  • CAMITK_APPLICATION_TARGETS

usage:

◆ camitk_register_subproject()

camitk_register_subproject ( )

macro camitk_register_subproject adds a subproject definition for the CDash report

Subprojects in CDash shows configure/build/test information by subprojects. There are 7 types of subprojects:

  • the corelib (only present in the SDK)
  • the cep library (one subproject per library of the CEP)
  • the application action (only present in the SDK for application actions)
  • the component (one subproject per component extension of the CEP)
  • the action (one subproject per action extension of the CEP)
  • the viewer (one subproject per viewer extension of the CEP)
  • the application (one subproject per application of the CEP)

Note: application actions are special actions grouped into a specific action extension. This unique action extension is mandatory for any CamiTK application to run properly (they include basic actions such as "save", "open"...)

macro camitk_register_subproject is called to add one subproject and define:

  • the target
  • and its dependencies (if any)

This macro should be called once for each corelib, cep library component, action, and application of the CEP. This macro is called automatically by the camitk corresponding CMake macros

This macro adds an XML fragment that will be understood by CDash in the corresponding global cache variables:

  • CAMITK_CORE_LIBRARY_SUBPROJECTS is the XML fragment describing the CamiTK Core library (only found in the SDK)
  • CAMITK_CEP_LIBRARY_SUBPROJECTS is the XML fragment describing the library created by the CEP
  • CAMITK_APPLICATION_ACTION_SUBPROJECTS is the XML fragment describing the application actions (only found in the SDK)
  • CAMITK_COMPONENT_SUBPROJECTS is the XML fragment describing the component extensions created by the CEP
  • CAMITK_ACTION_SUBPROJECTS is the XML fragment describing the action extensions created by the CEP
  • CAMITK_VIEWER_SUBPROJECTS is the XML fragment describing the viewer extensions created by the CEP
  • CAMITK_APPLICATION_SUBPROJECTS is the XML Fragment describing applications created by the CEP

Usage:

camitk_register_subproject(CORELIB|CEP_LIBRARY|COMPONENT|ACTION|VIEWER|APPLICATION targetName
[DEPENDENCIES dep1 dep2 dep3]
)
Parameters
TARGET_TYPEname the library / exe program targeted for CMake compilation
DEPENDENCIES(optional) the library dependencies to build the target

◆ camitk_write_manifest_data()

camitk_write_manifest_data ( )

macro camitk_write_manifest_data validates the xml_subprojects variable by ending its xml tag i.e. By adding the closing </Project> xml node, this will close the xml data Then create the '${CMAKE_BINARY_DIR}/Project.xml file Use this file to send to the DashBoard to get the CEP and its subprojects definition

Usage:

Parameters
CEP_SET(optional) should be added only if this is a CEP set validation
camitk_write_manifest_data
camitk_write_manifest_data()
Definition: CamiTKWriteManifestData.h:15
camitk_register_subproject
camitk_register_subproject()
Definition: CamiTKAddSubProject.h:47
camitk_init_manifest_data
camitk_init_manifest_data()
Definition: CamiTKInitManifestData.h:51