pinocchio  3.7.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
 
Loading...
Searching...
No Matches
config.hpp
1/*
2 * This file has been automatically generated by the jrl-cmakemodules.
3 * Please see https://github.com/jrl-umi3218/jrl-cmakemodules/blob/master/config.hh.cmake for details.
4*/
5
6#ifndef PINOCCHIO_COLLISION_CONFIG_HH
7# define PINOCCHIO_COLLISION_CONFIG_HH
8
9// Package version (header).
10# define PINOCCHIO_COLLISION_VERSION_UNKNOWN_TAG 0 // Used to mention that the current version is unknown.
11# define PINOCCHIO_COLLISION_VERSION "3.7.0"
12# define PINOCCHIO_COLLISION_MAJOR_VERSION 3
13# define PINOCCHIO_COLLISION_MINOR_VERSION 7
14# define PINOCCHIO_COLLISION_PATCH_VERSION 0
15
16#define PINOCCHIO_COLLISION_VERSION_AT_LEAST(major, minor, patch) (PINOCCHIO_COLLISION_MAJOR_VERSION>major || (PINOCCHIO_COLLISION_MAJOR_VERSION>=major && \
17 (PINOCCHIO_COLLISION_MINOR_VERSION>minor || (PINOCCHIO_COLLISION_MINOR_VERSION>=minor && \
18 PINOCCHIO_COLLISION_PATCH_VERSION>=patch))))
19
20#define PINOCCHIO_COLLISION_VERSION_AT_MOST(major, minor, patch) (PINOCCHIO_COLLISION_MAJOR_VERSION<major || (PINOCCHIO_COLLISION_MAJOR_VERSION<=major && \
21 (PINOCCHIO_COLLISION_MINOR_VERSION<minor || (PINOCCHIO_COLLISION_MINOR_VERSION<=minor && \
22 PINOCCHIO_COLLISION_PATCH_VERSION<=patch))))
23
24// Handle portable symbol export.
25// Defining manually which symbol should be exported is required
26// under Windows whether MinGW or MSVC is used.
27//
28// The headers then have to be able to work in two different modes:
29// - dllexport when one is building the library,
30// - dllimport for clients using the library.
31//
32// On Linux, set the visibility accordingly. If C++ symbol visibility
33// is handled by the compiler, see: http://gcc.gnu.org/wiki/Visibility
34//
35// Explicit template instantiation on Windows need to add
36// dllexport on the definition and dllimport on the declaration.
37// The XXX_EXPLICIT_INSTANTIATION_DECLARATION_DLLAPI macro
38// should be set on the declaration while
39// the XXX_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI macro
40// should be set on the definition.
41# if defined _WIN32 || defined __CYGWIN__
42// On Microsoft Windows, use dllimport and dllexport to tag symbols.
43# define PINOCCHIO_COLLISION_DLLIMPORT __declspec(dllimport)
44# define PINOCCHIO_COLLISION_DLLEXPORT __declspec(dllexport)
45# define PINOCCHIO_COLLISION_DLLLOCAL
46# define PINOCCHIO_COLLISION_EXPLICIT_INSTANTIATION_DECLARATION_DLLIMPORT __declspec(dllimport)
47# define PINOCCHIO_COLLISION_EXPLICIT_INSTANTIATION_DECLARATION_DLLEXPORT
48# define PINOCCHIO_COLLISION_EXPLICIT_INSTANTIATION_DEFINITION_DLLIMPORT __declspec(dllimport)
49# define PINOCCHIO_COLLISION_EXPLICIT_INSTANTIATION_DEFINITION_DLLEXPORT __declspec(dllexport)
50# else
51// On Linux, for GCC >= 4, tag symbols using GCC extension.
52# if __GNUC__ >= 4
53# define PINOCCHIO_COLLISION_DLLIMPORT __attribute__ ((visibility("default")))
54# define PINOCCHIO_COLLISION_DLLEXPORT __attribute__ ((visibility("default")))
55# define PINOCCHIO_COLLISION_DLLLOCAL __attribute__ ((visibility("hidden")))
56# define PINOCCHIO_COLLISION_EXPLICIT_INSTANTIATION_DECLARATION_DLLIMPORT __attribute__ ((visibility("default")))
57# define PINOCCHIO_COLLISION_EXPLICIT_INSTANTIATION_DECLARATION_DLLEXPORT __attribute__ ((visibility("default")))
58# define PINOCCHIO_COLLISION_EXPLICIT_INSTANTIATION_DEFINITION_DLLIMPORT
59# define PINOCCHIO_COLLISION_EXPLICIT_INSTANTIATION_DEFINITION_DLLEXPORT
60# else
61// Otherwise (GCC < 4 or another compiler is used), export everything.
62# define PINOCCHIO_COLLISION_DLLIMPORT
63# define PINOCCHIO_COLLISION_DLLEXPORT
64# define PINOCCHIO_COLLISION_DLLLOCAL
65# define PINOCCHIO_COLLISION_EXPLICIT_INSTANTIATION_DECLARATION_DLLIMPORT
66# define PINOCCHIO_COLLISION_EXPLICIT_INSTANTIATION_DECLARATION_DLLEXPORT
67# define PINOCCHIO_COLLISION_EXPLICIT_INSTANTIATION_DEFINITION_DLLIMPORT
68# define PINOCCHIO_COLLISION_EXPLICIT_INSTANTIATION_DEFINITION_DLLEXPORT
69# endif // __GNUC__ >= 4
70# endif // defined _WIN32 || defined __CYGWIN__
71
72# ifdef PINOCCHIO_COLLISION_STATIC
73// If one is using the library statically, get rid of
74// extra information and use standard explicit template
75// instantiation keyword.
76# define PINOCCHIO_COLLISION_DLLAPI
77# define PINOCCHIO_COLLISION_LOCAL
78# define PINOCCHIO_COLLISION_EXPLICIT_INSTANTIATION_DECLARATION extern template
79# else
80// Depending on whether one is building or using the
81// library define DLLAPI to import or export and
82// define the right explicit template instantiation keyword.
83# ifdef pinocchio_collision_EXPORTS
84# define PINOCCHIO_COLLISION_DLLAPI PINOCCHIO_COLLISION_DLLEXPORT
85# define PINOCCHIO_COLLISION_EXPLICIT_INSTANTIATION_DECLARATION_DLLAPI PINOCCHIO_COLLISION_EXPLICIT_INSTANTIATION_DECLARATION_DLLEXPORT
86# define PINOCCHIO_COLLISION_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI PINOCCHIO_COLLISION_EXPLICIT_INSTANTIATION_DEFINITION_DLLEXPORT
87# else
88# define PINOCCHIO_COLLISION_DLLAPI PINOCCHIO_COLLISION_DLLIMPORT
89# define PINOCCHIO_COLLISION_EXPLICIT_INSTANTIATION_DECLARATION_DLLAPI PINOCCHIO_COLLISION_EXPLICIT_INSTANTIATION_DECLARATION_DLLIMPORT
90# define PINOCCHIO_COLLISION_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI PINOCCHIO_COLLISION_EXPLICIT_INSTANTIATION_DEFINITION_DLLIMPORT
91# endif // PINOCCHIO_COLLISION_EXPORTS
92# define PINOCCHIO_COLLISION_LOCAL PINOCCHIO_COLLISION_DLLLOCAL
93# endif // PINOCCHIO_COLLISION_STATIC
94#endif