NAV

Import the package

You can import pid-modules as usual with PID. In the root CMakelists.txt file of your package, after the package declaration you have to write something like:

PID_Dependency(pid-modules)

It will try to install last version of the package.

If you want a specific version (recommended), for instance the currently last released version:

PID_Dependency(pid-modules VERSION 0.3)

Notice that PID will automatically install the last available patch version of the package when configuring the project with the option REQUIRED_PACKAGES_AUTOMATIC_DOWNLOAD to ON (default value).

Components

dll

This is a shared library (set of header files and a shared binary object).

API for loading and using dynamic loadable libraries generated by PID

Details

Please look at this page to get more information.

include directive :

In your code using the library:

#include <pid/dll.h>

CMake usage :

In the CMakeLists.txt files of your applications and tests, or those of your libraries that do not export the dependency:

PID_Component_Dependency(
				COMPONENT	your component name
				DEPEND	dll
				PACKAGE	pid-modules)

In the CMakeLists.txt files of libraries exporting the dependency :

PID_Component_Dependency(
				COMPONENT	your component name
				EXPORT	dll
				PACKAGE	pid-modules)

plugins

This is a shared library (set of header files and a shared binary object).

API implementing the generic plugin system of PID

Details

Please look at this page to get more information.

exported dependencies:

include directive :

In your code using the library:

#include <pid/plugins.h>

CMake usage :

In the CMakeLists.txt files of your applications and tests, or those of your libraries that do not export the dependency:

PID_Component_Dependency(
				COMPONENT	your component name
				DEPEND	plugins
				PACKAGE	pid-modules)

In the CMakeLists.txt files of libraries exporting the dependency :

PID_Component_Dependency(
				COMPONENT	your component name
				EXPORT	plugins
				PACKAGE	pid-modules)

vehicle_extensions

This is a pure header library (no binary).

exported dependencies:

include directive :

Not specified (dangerous). You can try including any or all of these headers:

#include <vehicle/vehicle.h>

CMake usage :

In the CMakeLists.txt files of your applications and tests, or those of your libraries that do not export the dependency:

PID_Component_Dependency(
				COMPONENT	your component name
				DEPEND	vehicle_extensions
				PACKAGE	pid-modules)

In the CMakeLists.txt files of libraries exporting the dependency :

PID_Component_Dependency(
				COMPONENT	your component name
				EXPORT	vehicle_extensions
				PACKAGE	pid-modules)

road_vehicle_extensions

This is a pure header library (no binary).

exported dependencies:

include directive :

Not specified (dangerous). You can try including any or all of these headers:

#include <vehicle/road_vehicle.h>

CMake usage :

In the CMakeLists.txt files of your applications and tests, or those of your libraries that do not export the dependency:

PID_Component_Dependency(
				COMPONENT	your component name
				DEPEND	road_vehicle_extensions
				PACKAGE	pid-modules)

In the CMakeLists.txt files of libraries exporting the dependency :

PID_Component_Dependency(
				COMPONENT	your component name
				EXPORT	road_vehicle_extensions
				PACKAGE	pid-modules)

flying_vehicles

This is a module library (no header files but a shared binary object). Designed to be dynamically loaded by an application or library.

CMake usage :

In the CMakeLists.txt files of your applications and tests, or those of your libraries that do not export the dependency:

PID_Component_Dependency(
				COMPONENT	your component name
				DEPEND	flying_vehicles
				PACKAGE	pid-modules)

In the CMakeLists.txt files of libraries exporting the dependency :

PID_Component_Dependency(
				COMPONENT	your component name
				EXPORT	flying_vehicles
				PACKAGE	pid-modules)

road_vehicles

This is a module library (no header files but a shared binary object). Designed to be dynamically loaded by an application or library.

CMake usage :

In the CMakeLists.txt files of your applications and tests, or those of your libraries that do not export the dependency:

PID_Component_Dependency(
				COMPONENT	your component name
				DEPEND	road_vehicles
				PACKAGE	pid-modules)

In the CMakeLists.txt files of libraries exporting the dependency :

PID_Component_Dependency(
				COMPONENT	your component name
				EXPORT	road_vehicles
				PACKAGE	pid-modules)

french_manufacture

This is a module library (no header files but a shared binary object). Designed to be dynamically loaded by an application or library.

CMake usage :

In the CMakeLists.txt files of your applications and tests, or those of your libraries that do not export the dependency:

PID_Component_Dependency(
				COMPONENT	your component name
				DEPEND	french_manufacture
				PACKAGE	pid-modules)

In the CMakeLists.txt files of libraries exporting the dependency :

PID_Component_Dependency(
				COMPONENT	your component name
				EXPORT	french_manufacture
				PACKAGE	pid-modules)