Framework API

PID_Framework

PID_Framework(AUTHOR ... YEAR ... LICENSE ... DESCRIPTION ... ADDRESS ... SITE ... [OPTIONS])
declare_PID_Framework(AUTHOR ... YEAR ... LICENSE ... DESCRIPTION ... ADDRESS ... SITE ... [OPTIONS])
Declare the current CMake project as a PID framework.

Required parameters

AUTHOR <name>:The name of the author in charge of maintaining the framework.
YEAR <dates>:Reflects the lifetime of the package, e.g. YYYY-ZZZZ where YYYY is the creation year and ZZZZ the latest modification date.
LICENSE <license name>:
 The name of the license applying to the framework. This must match one of the existing license file in the licenses directory of the workspace.
DESCRIPTION <description>:
 A short description of the framework.
ADDRESS <url>:The url of the framework’s repository. Must be set once the package is published.
SITE <url>:The url where to find the static site generated by the framework.

Optional parameters

INSTITUTION <institutions>:
 Define the institution(s) to which the framework maintainer belongs to.
MAIL <e-mail>:E-mail of the maintainer author.
PROJECT <url>:The url of the online git repository project page where to find source code of the framework.
LOGO <path to image file>:
 The path to the image used as logo for the framework. This path is relative to framework src/assets folder.
BANNER <path to image file>:
 The path to the image used as a banner for the framework index page. This path is relative to framework src/assets folder.
WELCOME <path to markdown file>:
 The path to the mardown use for the welcome. This path is relative to framework src/pages folder.

Constraints

  • This function must be called in the root CMakeLists.txt file of the framework, before any other call to PID framework API.
  • Exactly one call to this macro is allowed.

Effects

Initialization of framework’s internal state: after this call the framework’s content is ready to be defined.

Example

PID_Framework(
   AUTHOR       Robin Passama
	MAIL         passama@lirmm.fr
	INSTITUTION  LIRMM
	ADDRESS      git@gite.lirmm.fr:pid/pid-framework.git
 	YEAR         2016
	LICENSE      CeCILL-C
	DESCRIPTION  "PID is a global development methodology supported by many tools inclusing a CMake API and dedicated C++ projects."
	SITE         https://pid.lirmm.net/pid-framework
	PROJECT      https://gite.lirmm.fr/pid/pid-framework
	LOGO         img/pid_logo.jpg
	BANNER       img/cooperationmechanisms.jpg
)

PID_Framework_Author

PID_Framework_Author(AUTHOR ...[INSTITUTION ...])
add_PID_Framework_Author(AUTHOR ...[INSTITUTION ...])
Add an author to the list of authors of the framework.

Required parameters

AUTHOR <name>:The name of the author.

Optional parameters

INSTITUTION <institutions>:
 Define the institution(s) to which the author belongs to.

Constraints

  • This function must be called in the root CMakeLists.txt file of the package, after declare_PID_Framework and before build_PID_Framework.

Effects

Add another author to the list of authors of the framework.

Example

PID_Framework_Author(AUTHOR Another Writter INSTITUTION LIRMM)

PID_Framework_Category

PID_Framework_Category(...)
add_PID_Framework_Category(...)
Define a new category for classifying packages of the current framework.

Required parameters

<string>:specifies the category and (optionally) subcategories to which a package of the framework can belong to.

Constraints

  • This function must be called in the root CMakeLists.txt file of the package, after declare_PID_Framework and before build_PID_Framework.

Effects

Register a new category into the framework. This information will be added to the framework reference file when it is generated.

Example

PID_Framework_Category(programming/filesystem)

build_PID_Framework

build_PID_Framework()
Configure PID framework according to previous information.

Constraints

  • This function must be the last one called in the root CMakeList.txt file of the framework.

Effects

This function launch the configuration of the framework build process.

Example

build_PID_Framework()