Skip to content

Commit f3f2efc

Browse files
committed
pre-commit run -a
1 parent c014534 commit f3f2efc

File tree

6 files changed

+388
-428
lines changed

6 files changed

+388
-428
lines changed

CMakeLists.txt

Lines changed: 171 additions & 169 deletions
Original file line numberDiff line numberDiff line change
@@ -1,189 +1,191 @@
1-
# Copyright 2010, 2019 JRL, CNRS/AIST, LAAS CNRS
2-
# See LICENSE file.
1+
# Copyright 2010, 2019 JRL, CNRS/AIST, LAAS CNRS See LICENSE file.
32

4-
CMAKE_MINIMUM_REQUIRED(VERSION 3.1)
3+
cmake_minimum_required(VERSION 3.1)
54

65
# Project properties
7-
SET(PROJECT_ORG stack-of-tasks)
8-
SET(PROJECT_NAME sot-core)
9-
SET(PROJECT_DESCRIPTION "Hierarchical task solver plug-in for dynamic-graph.")
10-
SET(PROJECT_URL "https://github.com/${PROJECT_ORG}/${PROJECT_NAME}")
6+
set(PROJECT_ORG stack-of-tasks)
7+
set(PROJECT_NAME sot-core)
8+
set(PROJECT_DESCRIPTION "Hierarchical task solver plug-in for dynamic-graph.")
9+
set(PROJECT_URL "https://github.com/${PROJECT_ORG}/${PROJECT_NAME}")
1110

1211
# Project options
13-
OPTION(SUFFIX_SO_VERSION "Suffix library name with its version" ON)
12+
option(SUFFIX_SO_VERSION "Suffix library name with its version" ON)
1413

1514
# Project configuration
16-
SET(PROJECT_USE_CMAKE_EXPORT TRUE)
17-
SET(CUSTOM_HEADER_DIR "sot/core")
18-
SET(CXX_DISABLE_WERROR TRUE)
19-
SET(DOXYGEN_USE_MATHJAX YES)
20-
SET(DOXYGEN_USE_TEMPLATE_CSS YES)
15+
set(PROJECT_USE_CMAKE_EXPORT TRUE)
16+
set(CUSTOM_HEADER_DIR "sot/core")
17+
set(CXX_DISABLE_WERROR TRUE)
18+
set(DOXYGEN_USE_MATHJAX YES)
19+
set(DOXYGEN_USE_TEMPLATE_CSS YES)
2120

2221
# JRL-cmakemodule setup
23-
INCLUDE(cmake/base.cmake)
24-
INCLUDE(cmake/boost.cmake)
25-
INCLUDE(cmake/sphinx.cmake)
22+
include(cmake/base.cmake)
23+
include(cmake/boost.cmake)
24+
include(cmake/sphinx.cmake)
2625

2726
# Project definition
28-
COMPUTE_PROJECT_ARGS(PROJECT_ARGS LANGUAGES CXX)
29-
PROJECT(${PROJECT_NAME} ${PROJECT_ARGS})
30-
CHECK_MINIMAL_CXX_STANDARD(14 ENFORCE)
27+
compute_project_args(PROJECT_ARGS LANGUAGES CXX)
28+
project(${PROJECT_NAME} ${PROJECT_ARGS})
29+
check_minimal_cxx_standard(14 ENFORCE)
3130

3231
# Project dependencies
33-
ADD_PROJECT_DEPENDENCY(dynamic-graph-python 4.0.6 REQUIRED)
34-
ADD_PROJECT_DEPENDENCY(pinocchio REQUIRED)
35-
ADD_PROJECT_DEPENDENCY(Boost REQUIRED COMPONENTS regex program_options)
36-
IF(BUILD_TESTING)
37-
ADD_PROJECT_DEPENDENCY(example-robot-data 3.8.0)
38-
FIND_PACKAGE(Boost REQUIRED COMPONENTS unit_test_framework)
39-
ENDIF()
40-
41-
IF(Boost_VERSION GREATER 107299 OR Boost_VERSION_MACRO GREATER 107299)
32+
add_project_dependency(dynamic-graph-python 4.0.6 REQUIRED)
33+
add_project_dependency(pinocchio REQUIRED)
34+
add_project_dependency(Boost REQUIRED COMPONENTS regex program_options)
35+
if(BUILD_TESTING)
36+
add_project_dependency(example-robot-data 3.8.0)
37+
find_package(Boost REQUIRED COMPONENTS unit_test_framework)
38+
endif()
39+
40+
if(Boost_VERSION GREATER 107299 OR Boost_VERSION_MACRO GREATER 107299)
4241
# Silence a warning about a deprecated use of boost bind by boost >= 1.73
4342
# without dropping support for boost < 1.73
44-
ADD_DEFINITIONS(-DBOOST_BIND_GLOBAL_PLACEHOLDERS)
45-
ENDIF()
43+
add_definitions(-DBOOST_BIND_GLOBAL_PLACEHOLDERS)
44+
endif()
4645

47-
STRING(REGEX REPLACE "-" "_" PYTHON_DIR ${CUSTOM_HEADER_DIR})
46+
string(REGEX REPLACE "-" "_" PYTHON_DIR ${CUSTOM_HEADER_DIR})
4847

4948
# Verbosity level
50-
IF(NOT (\"${CMAKE_VERBOSITY_LEVEL}\" STREQUAL \"\"))
51-
ADD_DEFINITIONS(-DVP_DEBUG_MODE=${CMAKE_VERBOSITY_LEVEL} -DVP_DEBUG)
52-
ENDIF(NOT (\"${CMAKE_VERBOSITY_LEVEL}\" STREQUAL \"\"))
49+
if(NOT (\"${CMAKE_VERBOSITY_LEVEL}\" STREQUAL \"\"))
50+
add_definitions(-DVP_DEBUG_MODE=${CMAKE_VERBOSITY_LEVEL} -DVP_DEBUG)
51+
endif(NOT (\"${CMAKE_VERBOSITY_LEVEL}\" STREQUAL \"\"))
5352

5453
# Main Library
55-
SET(${PROJECT_NAME}_HEADERS
56-
include/${CUSTOM_HEADER_DIR}/abstract-sot-external-interface.hh
57-
include/${CUSTOM_HEADER_DIR}/additional-functions.hh
58-
include/${CUSTOM_HEADER_DIR}/api.hh
59-
include/${CUSTOM_HEADER_DIR}/binary-int-to-uint.hh
60-
include/${CUSTOM_HEADER_DIR}/binary-op.hh
61-
include/${CUSTOM_HEADER_DIR}/causal-filter.hh
62-
include/${CUSTOM_HEADER_DIR}/clamp-workspace.hh
63-
include/${CUSTOM_HEADER_DIR}/com-freezer.hh
64-
include/${CUSTOM_HEADER_DIR}/contiifstream.hh
65-
include/${CUSTOM_HEADER_DIR}/debug.hh
66-
include/${CUSTOM_HEADER_DIR}/derivator.hh
67-
include/${CUSTOM_HEADER_DIR}/device.hh
68-
include/${CUSTOM_HEADER_DIR}/double-constant.hh
69-
include/${CUSTOM_HEADER_DIR}/event.hh
70-
include/${CUSTOM_HEADER_DIR}/exception-abstract.hh
71-
include/${CUSTOM_HEADER_DIR}/exception-dynamic.hh
72-
include/${CUSTOM_HEADER_DIR}/exception-factory.hh
73-
include/${CUSTOM_HEADER_DIR}/exception-feature.hh
74-
include/${CUSTOM_HEADER_DIR}/exception-signal.hh
75-
include/${CUSTOM_HEADER_DIR}/exception-task.hh
76-
include/${CUSTOM_HEADER_DIR}/exception-tools.hh
77-
include/${CUSTOM_HEADER_DIR}/exp-moving-avg.hh
78-
include/${CUSTOM_HEADER_DIR}/factory.hh
79-
include/${CUSTOM_HEADER_DIR}/feature-1d.hh
80-
include/${CUSTOM_HEADER_DIR}/feature-abstract.hh
81-
include/${CUSTOM_HEADER_DIR}/feature-generic.hh
82-
include/${CUSTOM_HEADER_DIR}/feature-joint-limits.hh
83-
include/${CUSTOM_HEADER_DIR}/feature-line-distance.hh
84-
include/${CUSTOM_HEADER_DIR}/feature-point6d-relative.hh
85-
include/${CUSTOM_HEADER_DIR}/feature-point6d.hh
86-
include/${CUSTOM_HEADER_DIR}/feature-pose.hh
87-
include/${CUSTOM_HEADER_DIR}/feature-posture.hh
88-
include/${CUSTOM_HEADER_DIR}/feature-task.hh
89-
include/${CUSTOM_HEADER_DIR}/feature-vector3.hh
90-
include/${CUSTOM_HEADER_DIR}/feature-visual-point.hh
91-
include/${CUSTOM_HEADER_DIR}/filter-differentiator.hh
92-
include/${CUSTOM_HEADER_DIR}/fir-filter.hh
93-
include/${CUSTOM_HEADER_DIR}/flags.hh
94-
include/${CUSTOM_HEADER_DIR}/fwd.hh
95-
include/${CUSTOM_HEADER_DIR}/gain-adaptive.hh
96-
include/${CUSTOM_HEADER_DIR}/gain-hyperbolic.hh
97-
include/${CUSTOM_HEADER_DIR}/gripper-control.hh
98-
include/${CUSTOM_HEADER_DIR}/integrator-abstract.hh
99-
include/${CUSTOM_HEADER_DIR}/integrator-euler.hh
100-
include/${CUSTOM_HEADER_DIR}/joint-limitator.hh
101-
include/${CUSTOM_HEADER_DIR}/kalman.hh
102-
include/${CUSTOM_HEADER_DIR}/latch.hh
103-
include/${CUSTOM_HEADER_DIR}/macros.hh
104-
include/${CUSTOM_HEADER_DIR}/macros-signal.hh
105-
include/${CUSTOM_HEADER_DIR}/mailbox-vector.hh
106-
include/${CUSTOM_HEADER_DIR}/mailbox.hh
107-
include/${CUSTOM_HEADER_DIR}/mailbox.hxx
108-
include/${CUSTOM_HEADER_DIR}/matrix-constant.hh
109-
include/${CUSTOM_HEADER_DIR}/matrix-geometry.hh
110-
include/${CUSTOM_HEADER_DIR}/matrix-svd.hh
111-
include/${CUSTOM_HEADER_DIR}/memory-task-sot.hh
112-
include/${CUSTOM_HEADER_DIR}/motion-period.hh
113-
include/${CUSTOM_HEADER_DIR}/multi-bound.hh
114-
include/${CUSTOM_HEADER_DIR}/neck-limitation.hh
115-
include/${CUSTOM_HEADER_DIR}/op-point-modifier.hh
116-
include/${CUSTOM_HEADER_DIR}/parameter-server.hh
117-
include/${CUSTOM_HEADER_DIR}/periodic-call.hh
118-
include/${CUSTOM_HEADER_DIR}/periodic-call-entity.hh
119-
include/${CUSTOM_HEADER_DIR}/pool.hh
120-
include/${CUSTOM_HEADER_DIR}/reader.hh
121-
include/${CUSTOM_HEADER_DIR}/robot-simu.hh
122-
include/${CUSTOM_HEADER_DIR}/robot-utils.hh
123-
include/${CUSTOM_HEADER_DIR}/sot-loader.hh
124-
include/${CUSTOM_HEADER_DIR}/sot.hh
125-
include/${CUSTOM_HEADER_DIR}/stop-watch.hh
126-
include/${CUSTOM_HEADER_DIR}/switch.hh
127-
include/${CUSTOM_HEADER_DIR}/task.hh
128-
include/${CUSTOM_HEADER_DIR}/task-abstract.hh
129-
include/${CUSTOM_HEADER_DIR}/task-conti.hh
130-
include/${CUSTOM_HEADER_DIR}/task-pd.hh
131-
include/${CUSTOM_HEADER_DIR}/task-unilateral.hh
132-
include/${CUSTOM_HEADER_DIR}/time-stamp.hh
133-
include/${CUSTOM_HEADER_DIR}/timer.hh
134-
include/${CUSTOM_HEADER_DIR}/trajectory.hh
135-
include/${CUSTOM_HEADER_DIR}/unary-op.hh
136-
include/${CUSTOM_HEADER_DIR}/utils-windows.hh
137-
include/${CUSTOM_HEADER_DIR}/variadic-op.hh
138-
include/${CUSTOM_HEADER_DIR}/vector-constant.hh
139-
include/${CUSTOM_HEADER_DIR}/vector-to-rotation.hh
140-
include/${CUSTOM_HEADER_DIR}/visual-point-projecter.hh
141-
)
142-
143-
SET(${PROJECT_NAME}_SOURCES
144-
src/debug/debug.cpp
145-
src/debug/contiifstream.cpp
146-
src/exception/exception-abstract.cpp
147-
src/exception/exception-dynamic.cpp
148-
src/exception/exception-factory.cpp
149-
src/exception/exception-feature.cpp
150-
src/exception/exception-signal.cpp
151-
src/exception/exception-task.cpp
152-
src/exception/exception-tools.cpp
153-
src/signal/signal-cast.cpp
154-
src/feature/feature-abstract.cpp
155-
src/task/task-abstract.cpp
156-
src/task/multi-bound.cpp
157-
src/sot/flags.cpp
158-
src/sot/memory-task-sot.cpp
159-
src/factory/pool.cpp
160-
src/tools/utils-windows.cpp
161-
src/tools/periodic-call.cpp
162-
src/tools/device.cpp
163-
src/tools/sot-loader.cpp
164-
src/tools/trajectory.cpp
165-
src/tools/robot-utils.cpp
166-
src/matrix/matrix-svd.cpp
167-
src/filters/causal-filter.cpp
168-
src/utils/stop-watch.cpp
169-
)
170-
171-
ADD_LIBRARY(${PROJECT_NAME} SHARED
172-
${${PROJECT_NAME}_SOURCES} ${${PROJECT_NAME}_HEADERS})
173-
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:include>)
174-
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PUBLIC Boost::regex Boost::program_options
175-
dynamic-graph-python::dynamic-graph-python pinocchio::pinocchio)
176-
177-
IF(SUFFIX_SO_VERSION)
178-
SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION})
179-
ENDIF(SUFFIX_SO_VERSION)
180-
181-
INSTALL(TARGETS ${PROJECT_NAME} EXPORT ${TARGETS_EXPORT_NAME} DESTINATION lib)
182-
183-
ADD_SUBDIRECTORY(src)
184-
IF(BUILD_TESTING)
185-
ADD_SUBDIRECTORY(tests)
186-
ENDIF(BUILD_TESTING)
187-
ADD_SUBDIRECTORY(doc)
188-
189-
INSTALL(FILES package.xml DESTINATION share/${PROJECT_NAME})
54+
set(${PROJECT_NAME}_HEADERS
55+
include/${CUSTOM_HEADER_DIR}/abstract-sot-external-interface.hh
56+
include/${CUSTOM_HEADER_DIR}/additional-functions.hh
57+
include/${CUSTOM_HEADER_DIR}/api.hh
58+
include/${CUSTOM_HEADER_DIR}/binary-int-to-uint.hh
59+
include/${CUSTOM_HEADER_DIR}/binary-op.hh
60+
include/${CUSTOM_HEADER_DIR}/causal-filter.hh
61+
include/${CUSTOM_HEADER_DIR}/clamp-workspace.hh
62+
include/${CUSTOM_HEADER_DIR}/com-freezer.hh
63+
include/${CUSTOM_HEADER_DIR}/contiifstream.hh
64+
include/${CUSTOM_HEADER_DIR}/debug.hh
65+
include/${CUSTOM_HEADER_DIR}/derivator.hh
66+
include/${CUSTOM_HEADER_DIR}/device.hh
67+
include/${CUSTOM_HEADER_DIR}/double-constant.hh
68+
include/${CUSTOM_HEADER_DIR}/event.hh
69+
include/${CUSTOM_HEADER_DIR}/exception-abstract.hh
70+
include/${CUSTOM_HEADER_DIR}/exception-dynamic.hh
71+
include/${CUSTOM_HEADER_DIR}/exception-factory.hh
72+
include/${CUSTOM_HEADER_DIR}/exception-feature.hh
73+
include/${CUSTOM_HEADER_DIR}/exception-signal.hh
74+
include/${CUSTOM_HEADER_DIR}/exception-task.hh
75+
include/${CUSTOM_HEADER_DIR}/exception-tools.hh
76+
include/${CUSTOM_HEADER_DIR}/exp-moving-avg.hh
77+
include/${CUSTOM_HEADER_DIR}/factory.hh
78+
include/${CUSTOM_HEADER_DIR}/feature-1d.hh
79+
include/${CUSTOM_HEADER_DIR}/feature-abstract.hh
80+
include/${CUSTOM_HEADER_DIR}/feature-generic.hh
81+
include/${CUSTOM_HEADER_DIR}/feature-joint-limits.hh
82+
include/${CUSTOM_HEADER_DIR}/feature-line-distance.hh
83+
include/${CUSTOM_HEADER_DIR}/feature-point6d-relative.hh
84+
include/${CUSTOM_HEADER_DIR}/feature-point6d.hh
85+
include/${CUSTOM_HEADER_DIR}/feature-pose.hh
86+
include/${CUSTOM_HEADER_DIR}/feature-posture.hh
87+
include/${CUSTOM_HEADER_DIR}/feature-task.hh
88+
include/${CUSTOM_HEADER_DIR}/feature-vector3.hh
89+
include/${CUSTOM_HEADER_DIR}/feature-visual-point.hh
90+
include/${CUSTOM_HEADER_DIR}/filter-differentiator.hh
91+
include/${CUSTOM_HEADER_DIR}/fir-filter.hh
92+
include/${CUSTOM_HEADER_DIR}/flags.hh
93+
include/${CUSTOM_HEADER_DIR}/fwd.hh
94+
include/${CUSTOM_HEADER_DIR}/gain-adaptive.hh
95+
include/${CUSTOM_HEADER_DIR}/gain-hyperbolic.hh
96+
include/${CUSTOM_HEADER_DIR}/gripper-control.hh
97+
include/${CUSTOM_HEADER_DIR}/integrator-abstract.hh
98+
include/${CUSTOM_HEADER_DIR}/integrator-euler.hh
99+
include/${CUSTOM_HEADER_DIR}/joint-limitator.hh
100+
include/${CUSTOM_HEADER_DIR}/kalman.hh
101+
include/${CUSTOM_HEADER_DIR}/latch.hh
102+
include/${CUSTOM_HEADER_DIR}/macros.hh
103+
include/${CUSTOM_HEADER_DIR}/macros-signal.hh
104+
include/${CUSTOM_HEADER_DIR}/mailbox-vector.hh
105+
include/${CUSTOM_HEADER_DIR}/mailbox.hh
106+
include/${CUSTOM_HEADER_DIR}/mailbox.hxx
107+
include/${CUSTOM_HEADER_DIR}/matrix-constant.hh
108+
include/${CUSTOM_HEADER_DIR}/matrix-geometry.hh
109+
include/${CUSTOM_HEADER_DIR}/matrix-svd.hh
110+
include/${CUSTOM_HEADER_DIR}/memory-task-sot.hh
111+
include/${CUSTOM_HEADER_DIR}/motion-period.hh
112+
include/${CUSTOM_HEADER_DIR}/multi-bound.hh
113+
include/${CUSTOM_HEADER_DIR}/neck-limitation.hh
114+
include/${CUSTOM_HEADER_DIR}/op-point-modifier.hh
115+
include/${CUSTOM_HEADER_DIR}/parameter-server.hh
116+
include/${CUSTOM_HEADER_DIR}/periodic-call.hh
117+
include/${CUSTOM_HEADER_DIR}/periodic-call-entity.hh
118+
include/${CUSTOM_HEADER_DIR}/pool.hh
119+
include/${CUSTOM_HEADER_DIR}/reader.hh
120+
include/${CUSTOM_HEADER_DIR}/robot-simu.hh
121+
include/${CUSTOM_HEADER_DIR}/robot-utils.hh
122+
include/${CUSTOM_HEADER_DIR}/sot-loader.hh
123+
include/${CUSTOM_HEADER_DIR}/sot.hh
124+
include/${CUSTOM_HEADER_DIR}/stop-watch.hh
125+
include/${CUSTOM_HEADER_DIR}/switch.hh
126+
include/${CUSTOM_HEADER_DIR}/task.hh
127+
include/${CUSTOM_HEADER_DIR}/task-abstract.hh
128+
include/${CUSTOM_HEADER_DIR}/task-conti.hh
129+
include/${CUSTOM_HEADER_DIR}/task-pd.hh
130+
include/${CUSTOM_HEADER_DIR}/task-unilateral.hh
131+
include/${CUSTOM_HEADER_DIR}/time-stamp.hh
132+
include/${CUSTOM_HEADER_DIR}/timer.hh
133+
include/${CUSTOM_HEADER_DIR}/trajectory.hh
134+
include/${CUSTOM_HEADER_DIR}/unary-op.hh
135+
include/${CUSTOM_HEADER_DIR}/utils-windows.hh
136+
include/${CUSTOM_HEADER_DIR}/variadic-op.hh
137+
include/${CUSTOM_HEADER_DIR}/vector-constant.hh
138+
include/${CUSTOM_HEADER_DIR}/vector-to-rotation.hh
139+
include/${CUSTOM_HEADER_DIR}/visual-point-projecter.hh)
140+
141+
set(${PROJECT_NAME}_SOURCES
142+
src/debug/debug.cpp
143+
src/debug/contiifstream.cpp
144+
src/exception/exception-abstract.cpp
145+
src/exception/exception-dynamic.cpp
146+
src/exception/exception-factory.cpp
147+
src/exception/exception-feature.cpp
148+
src/exception/exception-signal.cpp
149+
src/exception/exception-task.cpp
150+
src/exception/exception-tools.cpp
151+
src/signal/signal-cast.cpp
152+
src/feature/feature-abstract.cpp
153+
src/task/task-abstract.cpp
154+
src/task/multi-bound.cpp
155+
src/sot/flags.cpp
156+
src/sot/memory-task-sot.cpp
157+
src/factory/pool.cpp
158+
src/tools/utils-windows.cpp
159+
src/tools/periodic-call.cpp
160+
src/tools/device.cpp
161+
src/tools/sot-loader.cpp
162+
src/tools/trajectory.cpp
163+
src/tools/robot-utils.cpp
164+
src/matrix/matrix-svd.cpp
165+
src/filters/causal-filter.cpp
166+
src/utils/stop-watch.cpp)
167+
168+
add_library(${PROJECT_NAME} SHARED ${${PROJECT_NAME}_SOURCES}
169+
${${PROJECT_NAME}_HEADERS})
170+
target_include_directories(${PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:include>)
171+
target_link_libraries(
172+
${PROJECT_NAME}
173+
PUBLIC Boost::regex Boost::program_options
174+
dynamic-graph-python::dynamic-graph-python pinocchio::pinocchio)
175+
176+
if(SUFFIX_SO_VERSION)
177+
set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION})
178+
endif(SUFFIX_SO_VERSION)
179+
180+
install(
181+
TARGETS ${PROJECT_NAME}
182+
EXPORT ${TARGETS_EXPORT_NAME}
183+
DESTINATION lib)
184+
185+
add_subdirectory(src)
186+
if(BUILD_TESTING)
187+
add_subdirectory(tests)
188+
endif(BUILD_TESTING)
189+
add_subdirectory(doc)
190+
191+
install(FILES package.xml DESTINATION share/${PROJECT_NAME})

doc/CMakeLists.txt

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
#
2-
# Copyright 2010 CNRS
3-
# Author: Florent Lamiraux
2+
# Copyright 2010 CNRS Author: Florent Lamiraux
43
#
54

65
# get the python script install path
76

8-
IF(INSTALL_DOCUMENTATION)
9-
INSTALL (FILES
10-
pictures/feature.png
11-
pictures/task.png
12-
DESTINATION ${_PKG_CONFIG_DOXYGENDOCDIR}/pictures)
13-
ENDIF(INSTALL_DOCUMENTATION)
7+
if(INSTALL_DOCUMENTATION)
8+
install(FILES pictures/feature.png pictures/task.png
9+
DESTINATION ${_PKG_CONFIG_DOXYGENDOCDIR}/pictures)
10+
endif(INSTALL_DOCUMENTATION)

0 commit comments

Comments
 (0)