hpp-tutorial 9.0.0__0-py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. cmeel.prefix/include/hpp/tutorial/config.hh +94 -0
  2. cmeel.prefix/include/hpp/tutorial/deprecated.hh +56 -0
  3. cmeel.prefix/include/hpp/tutorial/warning.hh +35 -0
  4. cmeel.prefix/lib/cmake/hpp_tutorial/cxx-standard.cmake +193 -0
  5. cmeel.prefix/lib/cmake/hpp_tutorial/hpp_tutorialConfig.cmake +209 -0
  6. cmeel.prefix/lib/cmake/hpp_tutorial/hpp_tutorialConfigVersion.cmake +65 -0
  7. cmeel.prefix/lib/cmake/hpp_tutorial/hpp_tutorialTargets.cmake +102 -0
  8. cmeel.prefix/lib/pkgconfig/hpp_tutorial.pc +22 -0
  9. cmeel.prefix/share/ament_index/resource_index/packages/hpp_tutorial +0 -0
  10. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/auf_saeule_bei_shop.png +0 -0
  11. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/ganz_links_neben_roboterplakat.png +0 -0
  12. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/ganz_links_vorn_bei_biolab.png +0 -0
  13. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/ganz_rechts_neben_kuecheninsel.png +0 -0
  14. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/hinter_shopschraenken_an_saeule.png +0 -0
  15. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/mittig_neben_roboterplakat.png +0 -0
  16. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/sink.png +0 -0
  17. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/stove.png +0 -0
  18. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/wallpaper.png +0 -0
  19. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/wallpaper2.png +0 -0
  20. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/wallpaper_ai_unihb.png +0 -0
  21. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/wallpaper_project_logos.png +0 -0
  22. cmeel.prefix/share/hpp_tutorial/Media/models/meshes/glasses/__Color_A05_4.png +0 -0
  23. cmeel.prefix/share/hpp_tutorial/hook/ament_prefix_path.dsv +1 -0
  24. cmeel.prefix/share/hpp_tutorial/hook/python_path.dsv +1 -0
  25. cmeel.prefix/share/hpp_tutorial/launch/config.rviz +475 -0
  26. cmeel.prefix/share/hpp_tutorial/launch/tutorial_7_launch.py +124 -0
  27. cmeel.prefix/share/hpp_tutorial/launch/tutorial_8_launch.py +193 -0
  28. cmeel.prefix/share/hpp_tutorial/meshes/box.dae +601 -0
  29. cmeel.prefix/share/hpp_tutorial/meshes/drill.stl +0 -0
  30. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/collision/base_link.stl +0 -0
  31. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/collision/link_1.stl +0 -0
  32. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/collision/link_2.stl +0 -0
  33. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/collision/link_3.stl +0 -0
  34. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/collision/link_4.stl +0 -0
  35. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/collision/link_5.stl +0 -0
  36. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/collision/link_6.stl +0 -0
  37. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/visual/base_link.stl +0 -0
  38. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/visual/link_1.stl +0 -0
  39. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/visual/link_2.stl +0 -0
  40. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/visual/link_3.stl +0 -0
  41. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/visual/link_4.stl +0 -0
  42. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/visual/link_5.stl +0 -0
  43. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/visual/link_6.stl +0 -0
  44. cmeel.prefix/share/hpp_tutorial/package.xml +20 -0
  45. cmeel.prefix/share/hpp_tutorial/srdf/box.srdf +13 -0
  46. cmeel.prefix/share/hpp_tutorial/srdf/cup.srdf +22 -0
  47. cmeel.prefix/share/hpp_tutorial/srdf/door.srdf +14 -0
  48. cmeel.prefix/share/hpp_tutorial/srdf/fr3.srdf +92 -0
  49. cmeel.prefix/share/hpp_tutorial/srdf/ground.srdf +8 -0
  50. cmeel.prefix/share/hpp_tutorial/srdf/kitchen_area.srdf +11770 -0
  51. cmeel.prefix/share/hpp_tutorial/srdf/panda.srdf +76 -0
  52. cmeel.prefix/share/hpp_tutorial/srdf/rod.srdf +2 -0
  53. cmeel.prefix/share/hpp_tutorial/srdf/staubli-drill.srdf +14 -0
  54. cmeel.prefix/share/hpp_tutorial/srdf/table.srdf +16 -0
  55. cmeel.prefix/share/hpp_tutorial/tutorial_7/controllers.yaml +28 -0
  56. cmeel.prefix/share/hpp_tutorial/tutorial_8/controllers.yaml +44 -0
  57. cmeel.prefix/share/hpp_tutorial/urdf/box.urdf +26 -0
  58. cmeel.prefix/share/hpp_tutorial/urdf/box_color.urdf +16 -0
  59. cmeel.prefix/share/hpp_tutorial/urdf/cup.urdf +26 -0
  60. cmeel.prefix/share/hpp_tutorial/urdf/door.urdf +111 -0
  61. cmeel.prefix/share/hpp_tutorial/urdf/fr3.urdf +452 -0
  62. cmeel.prefix/share/hpp_tutorial/urdf/ground.urdf +20 -0
  63. cmeel.prefix/share/hpp_tutorial/urdf/kitchen_area.urdf +4729 -0
  64. cmeel.prefix/share/hpp_tutorial/urdf/kitchen_area_obstacle.urdf +4729 -0
  65. cmeel.prefix/share/hpp_tutorial/urdf/obstacle.urdf +18 -0
  66. cmeel.prefix/share/hpp_tutorial/urdf/rod.urdf +19 -0
  67. cmeel.prefix/share/hpp_tutorial/urdf/square-plate.urdf +17 -0
  68. cmeel.prefix/share/hpp_tutorial/urdf/staubli-drill.urdf +254 -0
  69. cmeel.prefix/share/hpp_tutorial/urdf/table.urdf +160 -0
  70. hpp_tutorial-9.0.0.dist-info/METADATA +36 -0
  71. hpp_tutorial-9.0.0.dist-info/RECORD +74 -0
  72. hpp_tutorial-9.0.0.dist-info/WHEEL +6 -0
  73. hpp_tutorial-9.0.0.dist-info/licenses/LICENSE +24 -0
  74. hpp_tutorial-9.0.0.dist-info/top_level.txt +0 -0
@@ -0,0 +1,94 @@
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 HPP_TUTORIAL_CONFIG_HH
7
+ # define HPP_TUTORIAL_CONFIG_HH
8
+
9
+ // Package version (header).
10
+ # define HPP_TUTORIAL_VERSION_UNKNOWN_TAG 0 // Used to mention that the current version is unknown.
11
+ # define HPP_TUTORIAL_VERSION "9.0.0"
12
+ # define HPP_TUTORIAL_MAJOR_VERSION 9
13
+ # define HPP_TUTORIAL_MINOR_VERSION 0
14
+ # define HPP_TUTORIAL_PATCH_VERSION 0
15
+
16
+ #define HPP_TUTORIAL_VERSION_AT_LEAST(major, minor, patch) (HPP_TUTORIAL_MAJOR_VERSION>major || (HPP_TUTORIAL_MAJOR_VERSION>=major && \
17
+ (HPP_TUTORIAL_MINOR_VERSION>minor || (HPP_TUTORIAL_MINOR_VERSION>=minor && \
18
+ HPP_TUTORIAL_PATCH_VERSION>=patch))))
19
+
20
+ #define HPP_TUTORIAL_VERSION_AT_MOST(major, minor, patch) (HPP_TUTORIAL_MAJOR_VERSION<major || (HPP_TUTORIAL_MAJOR_VERSION<=major && \
21
+ (HPP_TUTORIAL_MINOR_VERSION<minor || (HPP_TUTORIAL_MINOR_VERSION<=minor && \
22
+ HPP_TUTORIAL_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 HPP_TUTORIAL_DLLIMPORT __declspec(dllimport)
44
+ # define HPP_TUTORIAL_DLLEXPORT __declspec(dllexport)
45
+ # define HPP_TUTORIAL_DLLLOCAL
46
+ # define HPP_TUTORIAL_EXPLICIT_INSTANTIATION_DECLARATION_DLLIMPORT __declspec(dllimport)
47
+ # define HPP_TUTORIAL_EXPLICIT_INSTANTIATION_DECLARATION_DLLEXPORT
48
+ # define HPP_TUTORIAL_EXPLICIT_INSTANTIATION_DEFINITION_DLLIMPORT __declspec(dllimport)
49
+ # define HPP_TUTORIAL_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 HPP_TUTORIAL_DLLIMPORT __attribute__ ((visibility("default")))
54
+ # define HPP_TUTORIAL_DLLEXPORT __attribute__ ((visibility("default")))
55
+ # define HPP_TUTORIAL_DLLLOCAL __attribute__ ((visibility("hidden")))
56
+ # define HPP_TUTORIAL_EXPLICIT_INSTANTIATION_DECLARATION_DLLIMPORT __attribute__ ((visibility("default")))
57
+ # define HPP_TUTORIAL_EXPLICIT_INSTANTIATION_DECLARATION_DLLEXPORT __attribute__ ((visibility("default")))
58
+ # define HPP_TUTORIAL_EXPLICIT_INSTANTIATION_DEFINITION_DLLIMPORT
59
+ # define HPP_TUTORIAL_EXPLICIT_INSTANTIATION_DEFINITION_DLLEXPORT
60
+ # else
61
+ // Otherwise (GCC < 4 or another compiler is used), export everything.
62
+ # define HPP_TUTORIAL_DLLIMPORT
63
+ # define HPP_TUTORIAL_DLLEXPORT
64
+ # define HPP_TUTORIAL_DLLLOCAL
65
+ # define HPP_TUTORIAL_EXPLICIT_INSTANTIATION_DECLARATION_DLLIMPORT
66
+ # define HPP_TUTORIAL_EXPLICIT_INSTANTIATION_DECLARATION_DLLEXPORT
67
+ # define HPP_TUTORIAL_EXPLICIT_INSTANTIATION_DEFINITION_DLLIMPORT
68
+ # define HPP_TUTORIAL_EXPLICIT_INSTANTIATION_DEFINITION_DLLEXPORT
69
+ # endif // __GNUC__ >= 4
70
+ # endif // defined _WIN32 || defined __CYGWIN__
71
+
72
+ # ifdef HPP_TUTORIAL_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 HPP_TUTORIAL_DLLAPI
77
+ # define HPP_TUTORIAL_LOCAL
78
+ # define HPP_TUTORIAL_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 hpp_tutorial_EXPORTS
84
+ # define HPP_TUTORIAL_DLLAPI HPP_TUTORIAL_DLLEXPORT
85
+ # define HPP_TUTORIAL_EXPLICIT_INSTANTIATION_DECLARATION_DLLAPI HPP_TUTORIAL_EXPLICIT_INSTANTIATION_DECLARATION_DLLEXPORT
86
+ # define HPP_TUTORIAL_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI HPP_TUTORIAL_EXPLICIT_INSTANTIATION_DEFINITION_DLLEXPORT
87
+ # else
88
+ # define HPP_TUTORIAL_DLLAPI HPP_TUTORIAL_DLLIMPORT
89
+ # define HPP_TUTORIAL_EXPLICIT_INSTANTIATION_DECLARATION_DLLAPI HPP_TUTORIAL_EXPLICIT_INSTANTIATION_DECLARATION_DLLIMPORT
90
+ # define HPP_TUTORIAL_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI HPP_TUTORIAL_EXPLICIT_INSTANTIATION_DEFINITION_DLLIMPORT
91
+ # endif // HPP_TUTORIAL_EXPORTS
92
+ # define HPP_TUTORIAL_LOCAL HPP_TUTORIAL_DLLLOCAL
93
+ # endif // HPP_TUTORIAL_STATIC
94
+ #endif //! HPP_TUTORIAL_CONFIG_HH
@@ -0,0 +1,56 @@
1
+ /*
2
+ * This file has been automatically generated by the jrl-cmakemodules.
3
+ * Please see https://github.com/jrl-umi3218/jrl-cmakemodules/blob/master/deprecated.hh.cmake for details.
4
+ */
5
+
6
+ #ifndef HPP_TUTORIAL_DEPRECATED_HH
7
+ # define HPP_TUTORIAL_DEPRECATED_HH
8
+
9
+ // Define a suffix which can be used to tag a type, a function or a a
10
+ // variable as deprecated (i.e. it will emit a warning when using it).
11
+ //
12
+ // Tagging a function as deprecated:
13
+ // void foo () HPP_TUTORIAL_DEPRECATED;
14
+ //
15
+ // Tagging a type as deprecated:
16
+ // class Foo {};
17
+ // typedef Foo Bar HPP_TUTORIAL_DEPRECATED;
18
+ //
19
+ // Tagging a variable as deprecated:
20
+ // int a HPP_TUTORIAL_DEPRECATED = 0;
21
+ //
22
+ // The use of a macro is required as this is /not/ a standardized
23
+ // feature of C++ language or preprocessor, even if most of the
24
+ // compilers support it.
25
+ # if defined(__cplusplus) && (__cplusplus >= 201402L)
26
+ # define HPP_TUTORIAL_DEPRECATED [[deprecated]]
27
+ # define HPP_TUTORIAL_DEPRECATED_MESSAGE(message) [[deprecated(#message)]]
28
+ # elif defined(__GNUC__) || defined(__clang__)
29
+ # define HPP_TUTORIAL_DEPRECATED __attribute__ ((deprecated))
30
+ # define HPP_TUTORIAL_DEPRECATED_MESSAGE(message) __attribute__ (( deprecated(#message) ))
31
+ # else
32
+ # if defined(_MSC_VER) && !defined(__INTEL_COMPILER)
33
+ # define HPP_TUTORIAL_DEPRECATED __declspec (deprecated)
34
+ # define HPP_TUTORIAL_DEPRECATED_MESSAGE(message) __declspec ( deprecated(#message) )
35
+ # else
36
+ // If the compiler is not recognized, drop the feature.
37
+ # define HPP_TUTORIAL_DEPRECATED /* nothing */
38
+ # define HPP_TUTORIAL_DEPRECATED_MESSAGE(message)
39
+ # endif // __MSVC__
40
+ # endif // __cplusplus
41
+
42
+ # if defined(__GNUC__) || defined(__clang__)
43
+ # ifndef HPP_TUTORIAL_PRAGMA
44
+ # define HPP_TUTORIAL_PRAGMA(X) _Pragma(#X)
45
+ # endif
46
+ # define HPP_TUTORIAL_DEPRECATED_HEADER(MSG) HPP_TUTORIAL_PRAGMA(GCC warning MSG)
47
+ # elif defined(_MSC_VER) && !defined(__INTEL_COMPILER)
48
+ # define HPP_TUTORIAL_STRINGIZE_(MSG) #MSG
49
+ # define HPP_TUTORIAL_STRINGIZE(MSG) HPP_TUTORIAL_STRINGIZE_(MSG)
50
+ # define HPP_TUTORIAL_DEPRECATED_HEADER(MSG) \
51
+ __pragma(message(__FILE__ "(" HPP_TUTORIAL_STRINGIZE(__LINE__) ") : Warning: " MSG))
52
+ # else
53
+ # define HPP_TUTORIAL_DEPRECATED_HEADER(MSG)
54
+ # endif
55
+
56
+ #endif //! HPP_TUTORIAL_DEPRECATED_HH
@@ -0,0 +1,35 @@
1
+ /*
2
+ * This file has been automatically generated by the jrl-cmakemodules.
3
+ * Please see https://github.com/jrl-umi3218/jrl-cmakemodules/blob/master/warning.hh.cmake for details.
4
+ */
5
+
6
+ #ifndef HPP_TUTORIAL_WARNING_HH
7
+ # define HPP_TUTORIAL_WARNING_HH
8
+
9
+ // Emits a warning in a portable way.
10
+ //
11
+ // To emit a warning, one can insert:
12
+ //
13
+ // #pragma message HPP_TUTORIAL_WARN("your warning message here")
14
+ //
15
+ // The use of this syntax is required as this is /not/ a standardized
16
+ // feature of C++ language or preprocessor, even if most of the
17
+ // compilers support it.
18
+
19
+ # define HPP_TUTORIAL_WARN_STRINGISE_IMPL(x) #x
20
+ # define HPP_TUTORIAL_WARN_STRINGISE(x) \
21
+ HPP_TUTORIAL_WARN_STRINGISE_IMPL(x)
22
+ # ifdef __GNUC__
23
+ # define HPP_TUTORIAL_WARN(exp) ("WARNING: " exp)
24
+ # else
25
+ # ifdef _MSC_VER
26
+ # define FILE_LINE_LINK __FILE__ "(" \
27
+ HPP_TUTORIAL_WARN_STRINGISE(__LINE__) ") : "
28
+ # define HPP_TUTORIAL_WARN(exp) (FILE_LINE_LINK "WARNING: " exp)
29
+ # else
30
+ // If the compiler is not recognized, drop the feature.
31
+ # define HPP_TUTORIAL_WARN(MSG) /* nothing */
32
+ # endif // __MSVC__
33
+ # endif // __GNUC__
34
+
35
+ #endif //! HPP_TUTORIAL_WARNING_HH
@@ -0,0 +1,193 @@
1
+ #
2
+ # Copyright (C) 2020 LAAS-CNRS
3
+ #
4
+ # Author: Guilhem Saurel
5
+ #
6
+
7
+ # .rst: .. ifmode:: internal
8
+ #
9
+ # .. variable:: ENFORCE_MINIMAL_CXX_STANDARD
10
+ #
11
+ # When this is ON, every call to :cmake:command:`CHECK_MINIMAL_CXX_STANDARD`
12
+ # updates the :cmake:variable:`CMAKE_CXX_STANDARD`.
13
+ option(
14
+ ENFORCE_MINIMAL_CXX_STANDARD
15
+ "Set CMAKE_CXX_STANDARD if a dependency require it"
16
+ OFF
17
+ )
18
+
19
+ # .rst: .. ifmode:: user
20
+ #
21
+ # .. command:: CHECK_MINIMAL_CXX_STANDARD(STANDARD [ENFORCE])
22
+ #
23
+ # Ensure that a minimal C++ standard will be used.
24
+ #
25
+ # This will check the default standard of the current compiler, and set
26
+ # :cmake:variable:`CMAKE_CXX_STANDARD` if necessary, and `ENFORCE` is provided,
27
+ # or :cmake:variable:`ENFORCE_MINIMAL_CXX_STANDARD` is `ON`. Multiple calls to
28
+ # this macro will keep the highest standard.
29
+ #
30
+ # Supported values are 98, 11, 14, 17, and 20.
31
+ #
32
+ macro(CHECK_MINIMAL_CXX_STANDARD STANDARD)
33
+ set(options ENFORCE)
34
+ set(oneValueArgs)
35
+ set(multiValueArgs)
36
+ cmake_parse_arguments(
37
+ MINIMAL_CXX_STANDARD
38
+ "${options}"
39
+ "${oneValueArgs}"
40
+ "${multiValueArgs}"
41
+ ${ARGN}
42
+ )
43
+
44
+ # Get compiler default cxx standard, by printing "__cplusplus" (only once)
45
+ if(
46
+ NOT DEFINED _COMPILER_DEFAULT_CXX_STANDARD
47
+ AND
48
+ (
49
+ NOT CMAKE_CROSSCOMPILING
50
+ OR (CMAKE_CROSSCOMPILING AND CMAKE_CROSSCOMPILING_EMULATOR)
51
+ )
52
+ )
53
+ if(MSVC)
54
+ # See
55
+ # https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/
56
+ string(APPEND CMAKE_CXX_FLAGS " /Zc:__cplusplus")
57
+ endif()
58
+ write_file(
59
+ ${CMAKE_CURRENT_BINARY_DIR}/cmake/tmp-cxx-standard.cpp
60
+ "#include <iostream>\nint main(){std::cout << __cplusplus << std::endl;return 0;}"
61
+ )
62
+ try_run(
63
+ _cxx_standard_run_status
64
+ _cxx_standard_build_status
65
+ ${CMAKE_CURRENT_BINARY_DIR}
66
+ ${CMAKE_CURRENT_BINARY_DIR}/cmake/tmp-cxx-standard.cpp
67
+ RUN_OUTPUT_VARIABLE _COMPILER_DEFAULT_CXX_STANDARD
68
+ )
69
+ if(
70
+ _cxx_standard_run_status EQUAL FAILED_TO_RUN
71
+ OR NOT _cxx_standard_build_status
72
+ )
73
+ message(
74
+ WARNING
75
+ "Impossible to build or run the script to retrive the _COMPILER_DEFAULT_CXX_STANDARD quantity from current compiler. Setting _COMPILER_DEFAULT_CXX_STANDARD to 199711"
76
+ )
77
+ set(_COMPILER_DEFAULT_CXX_STANDARD "199711")
78
+ endif()
79
+ string(
80
+ STRIP "${_COMPILER_DEFAULT_CXX_STANDARD}"
81
+ _COMPILER_DEFAULT_CXX_STANDARD
82
+ )
83
+ message(STATUS "Default C++ standard: ${_COMPILER_DEFAULT_CXX_STANDARD}")
84
+ endif()
85
+
86
+ # Check if we need to upgrade the current minimum
87
+ if(
88
+ NOT DEFINED _MINIMAL_CXX_STANDARD
89
+ OR
90
+ (
91
+ NOT ${STANDARD} EQUAL "98"
92
+ AND
93
+ (
94
+ _MINIMAL_CXX_STANDARD EQUAL "98"
95
+ OR _MINIMAL_CXX_STANDARD LESS ${STANDARD}
96
+ )
97
+ )
98
+ )
99
+ set(_MINIMAL_CXX_STANDARD "${STANDARD}" CACHE INTERNAL "")
100
+ message(STATUS "Minimal C++ standard upgraded to ${_MINIMAL_CXX_STANDARD}")
101
+ endif()
102
+
103
+ # Check if a non-trivial minimum has been requested
104
+ if(DEFINED _MINIMAL_CXX_STANDARD AND NOT _MINIMAL_CXX_STANDARD EQUAL 98)
105
+ if(DEFINED CMAKE_CXX_STANDARD)
106
+ set(_CURRENT_STANDARD ${CMAKE_CXX_STANDARD})
107
+ elseif(DEFINED _COMPILER_DEFAULT_CXX_STANDARD)
108
+ # ref
109
+ # https://en.cppreference.com/w/cpp/preprocessor/replace#Predefined_macros
110
+ # for constants
111
+ if(_COMPILER_DEFAULT_CXX_STANDARD EQUAL 199711)
112
+ set(_CURRENT_STANDARD 98)
113
+ elseif(_COMPILER_DEFAULT_CXX_STANDARD EQUAL 201103)
114
+ set(_CURRENT_STANDARD 11)
115
+ elseif(_COMPILER_DEFAULT_CXX_STANDARD EQUAL 201402)
116
+ set(_CURRENT_STANDARD 14)
117
+ elseif(_COMPILER_DEFAULT_CXX_STANDARD EQUAL 201703)
118
+ set(_CURRENT_STANDARD 17)
119
+ # C++20: g++-9 defines c++2a with literal 201709, g++-11 & clang-10
120
+ # define c++2a with literal 202002
121
+ elseif(
122
+ _COMPILER_DEFAULT_CXX_STANDARD EQUAL 201709
123
+ OR _COMPILER_DEFAULT_CXX_STANDARD EQUAL 202002
124
+ )
125
+ set(_CURRENT_STANDARD 20)
126
+ else()
127
+ message(
128
+ FATAL_ERROR
129
+ "Unknown current C++ standard ${_COMPILER_DEFAULT_CXX_STANDARD} while trying to check for >= ${_MINIMAL_CXX_STANDARD}"
130
+ )
131
+ endif()
132
+ else()
133
+ set(_CURRENT_STANDARD 98)
134
+ endif()
135
+
136
+ # Check that the requested minimum is higher than the currently selected
137
+ if(
138
+ _CURRENT_STANDARD EQUAL 98
139
+ OR _CURRENT_STANDARD LESS _MINIMAL_CXX_STANDARD
140
+ )
141
+ message(
142
+ STATUS
143
+ "Incompatible C++ standard detected: upgrade required from ${_CURRENT_STANDARD} to >= ${_MINIMAL_CXX_STANDARD}"
144
+ )
145
+ # Check that the requested minimum is higher than any pre-existing
146
+ # CMAKE_CXX_STANDARD
147
+ if(
148
+ NOT CMAKE_CXX_STANDARD
149
+ OR CMAKE_CXX_STANDARD EQUAL 98
150
+ OR CMAKE_CXX_STANDARD LESS _MINIMAL_CXX_STANDARD
151
+ )
152
+ # Throw error if a specific version is required and the currently
153
+ # desired one is incompatible
154
+ if(CMAKE_CXX_STANDARD_REQUIRED)
155
+ message(
156
+ FATAL_ERROR
157
+ "CMAKE_CXX_STANDARD_REQUIRED set - cannot upgrade incompatible standard"
158
+ )
159
+ endif()
160
+ # Enforcing a standard version is required - check if we can upgrade
161
+ # automatically
162
+ if(ENFORCE_MINIMAL_CXX_STANDARD OR MINIMAL_CXX_STANDARD_ENFORCE)
163
+ set(CMAKE_CXX_STANDARD ${_MINIMAL_CXX_STANDARD})
164
+ message(
165
+ STATUS
166
+ "CMAKE_CXX_STANDARD automatically upgraded from ${_CURRENT_STANDARD} to ${CMAKE_CXX_STANDARD}"
167
+ )
168
+ else()
169
+ message(
170
+ FATAL_ERROR
171
+ "CMAKE_CXX_STANDARD upgrade from ${_CURRENT_STANDARD} to >= ${_MINIMAL_CXX_STANDARD} required"
172
+ )
173
+ endif()
174
+ endif()
175
+ else() # requested minimum is higher than the currently selected
176
+ message(
177
+ STATUS
178
+ "C++ standard sufficient: Minimal required ${_MINIMAL_CXX_STANDARD}, currently defined: ${_CURRENT_STANDARD}"
179
+ )
180
+ # current C++ standard was not set in CMake but we enforce it
181
+ if(
182
+ NOT DEFINED CMAKE_CXX_STANDARD
183
+ AND (ENFORCE_MINIMAL_CXX_STANDARD OR MINIMAL_CXX_STANDARD_ENFORCE)
184
+ )
185
+ message(
186
+ STATUS
187
+ "CMAKE_CXX_STANDARD was not set: automatically set to currently defined standard ${_CURRENT_STANDARD}"
188
+ )
189
+ set(CMAKE_CXX_STANDARD ${_CURRENT_STANDARD})
190
+ endif()
191
+ endif() # requested minimum is higher than the currently selected
192
+ endif()
193
+ endmacro()
@@ -0,0 +1,209 @@
1
+
2
+ ####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() #######
3
+ ####### Any changes to this file will be overwritten by the next CMake run ####
4
+ ####### The input file was Config.cmake.in ########
5
+
6
+ get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
7
+
8
+ macro(set_and_check _var _file)
9
+ set(${_var} "${_file}")
10
+ if(NOT EXISTS "${_file}")
11
+ message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !")
12
+ endif()
13
+ endmacro()
14
+
15
+ macro(check_required_components _NAME)
16
+ foreach(comp ${${_NAME}_FIND_COMPONENTS})
17
+ if(NOT ${_NAME}_${comp}_FOUND)
18
+ if(${_NAME}_FIND_REQUIRED_${comp})
19
+ set(${_NAME}_FOUND FALSE)
20
+ endif()
21
+ endif()
22
+ endforeach()
23
+ endmacro()
24
+
25
+ ####################################################################################
26
+
27
+
28
+
29
+ set(skip_this_file TRUE)
30
+ if(NOT hpp_tutorial_FOUND)
31
+ set(skip_this_file FALSE)
32
+ endif()
33
+ if(skip_this_file)
34
+ foreach(component ${hpp_tutorial_FIND_COMPONENTS})
35
+ if(NOT "hpp_tutorial_${component}_FOUND")
36
+ set(skip_this_file FALSE)
37
+ endif()
38
+ endforeach()
39
+ endif()
40
+ if(skip_this_file)
41
+ return()
42
+ endif()
43
+
44
+ set("hpp_tutorial_INCLUDE_DIRS" "${PACKAGE_PREFIX_DIR}/include")
45
+ set("HPP_TUTORIAL_INCLUDE_DIRS" "${PACKAGE_PREFIX_DIR}/include")
46
+ set("hpp_tutorial_DOXYGENDOCDIR" "${PACKAGE_PREFIX_DIR}/share/doc/hpp_tutorial/doxygen-html")
47
+ set(
48
+ "HPP_TUTORIAL_DOXYGENDOCDIR"
49
+ "${PACKAGE_PREFIX_DIR}/share/doc/hpp_tutorial/doxygen-html"
50
+ )
51
+ set("hpp_tutorial_DEPENDENCIES" "hpp-manipulation;example-robot-data;hpp-gepetto-viewer")
52
+ set("hpp_tutorial_PKG_CONFIG_DEPENDENCIES" "")
53
+
54
+ set(
55
+ CMAKE_MODULE_PATH
56
+ ${CMAKE_MODULE_PATH}
57
+
58
+ )
59
+
60
+ # Find absolute library paths for all _PKG_CONFIG_LIBS as CMake expects full paths, while pkg-config does not.
61
+ set(_PACKAGE_CONFIG_LIBRARIES "")
62
+ set("_hpp_tutorial_PKG_CONFIG_LIBDIR" "${pcfiledir}/../../lib")
63
+ set("_hpp_tutorial_PKG_CONFIG_LIBS_LIST" "")
64
+ if(_hpp_tutorial_PKG_CONFIG_LIBS_LIST)
65
+ string(FIND ${_hpp_tutorial_PKG_CONFIG_LIBS_LIST} ", " _is_comma_space)
66
+ while(_is_comma_space GREATER -1)
67
+ string(
68
+ REPLACE ", "
69
+ ","
70
+ _hpp_tutorial_PKG_CONFIG_LIBS_LIST
71
+ "${_hpp_tutorial_PKG_CONFIG_LIBS_LIST}"
72
+ )
73
+ string(FIND ${_hpp_tutorial_PKG_CONFIG_LIBS_LIST} ", " _is_comma_space)
74
+ endwhile()
75
+ string(
76
+ REPLACE " "
77
+ ";"
78
+ _hpp_tutorial_PKG_CONFIG_LIBS_LIST
79
+ "${_hpp_tutorial_PKG_CONFIG_LIBS_LIST}"
80
+ )
81
+ set(LIBDIR_HINTS ${_hpp_tutorial_PKG_CONFIG_LIBDIR})
82
+ foreach(component ${_hpp_tutorial_PKG_CONFIG_LIBS_LIST})
83
+ string(STRIP ${component} component)
84
+ # If the component is a link directory ("-L/full/path"), append to LIBDIR_HINTS.
85
+ string(FIND ${component} "-L" _is_library_dir)
86
+ if(${_is_library_dir} EQUAL 0)
87
+ string(REGEX REPLACE "^-L" "" lib_path ${component})
88
+ list(APPEND LIBDIR_HINTS "${lib_path}")
89
+ continue()
90
+ endif()
91
+ # If the component is a library name
92
+ string(FIND ${component} "-l" _is_library_name)
93
+ if(${_is_library_name} EQUAL 0)
94
+ string(REGEX REPLACE "^-l" "" lib ${component})
95
+ find_library(abs_lib_${lib} ${lib} HINTS ${LIBDIR_HINTS})
96
+ if(NOT abs_lib_${lib})
97
+ if(_LIBDIR_HINTS)
98
+ message(STATUS "${lib} searched on ${_LIBDIR_HINTS} not FOUND.")
99
+ else()
100
+ message(STATUS "${lib} not FOUND.")
101
+ endif()
102
+ else()
103
+ if(_LIBDIR_HINTS)
104
+ message(
105
+ STATUS
106
+ "${lib} searched on ${_LIBDIR_HINTS} FOUND. ${lib} at ${abs_lib_${lib}}"
107
+ )
108
+ else()
109
+ message(STATUS "${lib} FOUND. ${lib} at ${abs_lib_${lib}}")
110
+ endif()
111
+ list(APPEND _PACKAGE_CONFIG_LIBRARIES "${abs_lib_${lib}}")
112
+ endif()
113
+ unset(abs_lib_${lib} CACHE)
114
+ continue()
115
+ endif()
116
+ # If the component contains a collection of additional arguments
117
+ string(FIND ${component} "," _is_collection)
118
+ if(${_is_collection} GREATER -1)
119
+ string(REPLACE "," ";" component_list "${component}")
120
+ list(GET component_list -1 lib_info)
121
+ set(options ${component})
122
+ list(REMOVE_AT options -1)
123
+ string(FIND ${lib_info} "-l" _is_library_name)
124
+ if(${_is_library_name} GREATER -1)
125
+ string(REGEX REPLACE "^-l" "" lib ${lib_info})
126
+ find_library(abs_lib_${lib} ${lib} HINTS ${LIBDIR_HINTS})
127
+ if(NOT abs_lib_${lib})
128
+ if(_LIBDIR_HINTS)
129
+ message(STATUS "${lib} searched on ${_LIBDIR_HINTS} not FOUND.")
130
+ else()
131
+ message(STATUS "${lib} not FOUND.")
132
+ endif()
133
+ else()
134
+ if(_LIBDIR_HINTS)
135
+ message(
136
+ STATUS
137
+ "${lib} searched on ${_LIBDIR_HINTS} FOUND. ${lib} at ${abs_lib_${lib}}"
138
+ )
139
+ else()
140
+ message(STATUS "${lib} FOUND. ${lib} at ${abs_lib_${lib}}")
141
+ endif()
142
+ list(APPEND _PACKAGE_CONFIG_LIBRARIES "${abs_lib_${lib}}")
143
+ endif()
144
+ unset(abs_lib_${lib} CACHE)
145
+ continue()
146
+ else() # This is an absolute lib
147
+ list(APPEND _PACKAGE_CONFIG_LIBRARIES "${component}")
148
+ endif()
149
+ continue()
150
+ endif()
151
+ # Else, this is just an absolute lib
152
+ if(EXISTS "${component}")
153
+ list(APPEND _PACKAGE_CONFIG_LIBRARIES "${component}")
154
+ endif()
155
+ endforeach()
156
+ endif(_hpp_tutorial_PKG_CONFIG_LIBS_LIST)
157
+
158
+ set("hpp_tutorial_LIBRARIES" ${_PACKAGE_CONFIG_LIBRARIES})
159
+ set("HPP_TUTORIAL_LIBRARIES" ${_PACKAGE_CONFIG_LIBRARIES})
160
+
161
+
162
+ include("${CMAKE_CURRENT_LIST_DIR}/cxx-standard.cmake")
163
+
164
+
165
+
166
+ include(CMakeFindDependencyMacro)
167
+ if(${CMAKE_VERSION} VERSION_LESS "3.15.0")
168
+ find_package(hpp-manipulation REQUIRED)
169
+ find_package(example-robot-data REQUIRED)
170
+ find_package(hpp-gepetto-viewer REQUIRED)
171
+ else()
172
+ find_dependency(hpp-manipulation REQUIRED)
173
+ find_dependency(example-robot-data REQUIRED)
174
+ find_dependency(hpp-gepetto-viewer REQUIRED)
175
+ endif()
176
+
177
+ if(COMMAND ADD_REQUIRED_DEPENDENCY)
178
+ foreach(pkgcfg_dep ${hpp_tutorial_PKG_CONFIG_DEPENDENCIES})
179
+ # Avoid duplicated lookup.
180
+ list(FIND $_PKG_CONFIG_REQUIRES "${pkgcfg_dep}" _index)
181
+ if(${_index} EQUAL -1)
182
+ ADD_REQUIRED_DEPENDENCY(${pkgcfg_dep})
183
+ endif()
184
+ endforeach()
185
+ endif(COMMAND ADD_REQUIRED_DEPENDENCY)
186
+
187
+ include("${CMAKE_CURRENT_LIST_DIR}/hpp_tutorialTargets.cmake")
188
+
189
+ foreach(component ${hpp_tutorial_FIND_COMPONENTS})
190
+ set(comp_file "${CMAKE_CURRENT_LIST_DIR}/${component}Config.cmake")
191
+ if(EXISTS ${comp_file})
192
+ include(${comp_file})
193
+ else()
194
+ set(hpp_tutorial_${component}_FOUND FALSE)
195
+ endif()
196
+ if(hpp_tutorial_${component}_FOUND)
197
+ message(STATUS "hpp_tutorial: ${component} found.")
198
+ else()
199
+ if(hpp_tutorial_FIND_REQUIRED_${component})
200
+ message(FATAL_ERROR "hpp_tutorial: ${component} not found.")
201
+ else()
202
+ message(STATUS "hpp_tutorial: ${component} not found.")
203
+ endif()
204
+ endif()
205
+ endforeach()
206
+ check_required_components("hpp_tutorial")
207
+
208
+
209
+ CHECK_MINIMAL_CXX_STANDARD(17 ENFORCE)
@@ -0,0 +1,65 @@
1
+ # This is a basic version file for the Config-mode of find_package().
2
+ # It is used by write_basic_package_version_file() as input file for configure_file()
3
+ # to create a version-file which can be installed along a config.cmake file.
4
+ #
5
+ # The created file sets PACKAGE_VERSION_EXACT if the current version string and
6
+ # the requested version string are exactly the same and it sets
7
+ # PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version,
8
+ # but only if the requested major version is the same as the current one.
9
+ # The variable CVF_VERSION must be set before calling configure_file().
10
+
11
+
12
+ set(PACKAGE_VERSION "9.0.0")
13
+
14
+ if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
15
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
16
+ else()
17
+
18
+ if("9.0.0" MATCHES "^([0-9]+)\\.")
19
+ set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}")
20
+ if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0)
21
+ string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}")
22
+ endif()
23
+ else()
24
+ set(CVF_VERSION_MAJOR "9.0.0")
25
+ endif()
26
+
27
+ if(PACKAGE_FIND_VERSION_RANGE)
28
+ # both endpoints of the range must have the expected major version
29
+ math (EXPR CVF_VERSION_MAJOR_NEXT "${CVF_VERSION_MAJOR} + 1")
30
+ if (NOT PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR
31
+ OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX_MAJOR STREQUAL CVF_VERSION_MAJOR)
32
+ OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX VERSION_LESS_EQUAL CVF_VERSION_MAJOR_NEXT)))
33
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
34
+ elseif(PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR
35
+ AND ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS_EQUAL PACKAGE_FIND_VERSION_MAX)
36
+ OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MAX)))
37
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
38
+ else()
39
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
40
+ endif()
41
+ else()
42
+ if(PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR)
43
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
44
+ else()
45
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
46
+ endif()
47
+
48
+ if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
49
+ set(PACKAGE_VERSION_EXACT TRUE)
50
+ endif()
51
+ endif()
52
+ endif()
53
+
54
+
55
+ # if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
56
+ if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "")
57
+ return()
58
+ endif()
59
+
60
+ # check that the installed version has the same 32/64bit-ness as the one which is currently searching:
61
+ if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8")
62
+ math(EXPR installedBits "8 * 8")
63
+ set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
64
+ set(PACKAGE_VERSION_UNSUITABLE TRUE)
65
+ endif()