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:
- from this package:
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:
- from this package:
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)