CMakeLists.txt 2.62 KB
Newer Older
Thomas Moulard's avatar
Thomas Moulard committed
1
# Copyright 2010, François Bleibel, Olivier Stasse, JRL, CNRS/AIST
Francois Bleibel's avatar
Francois Bleibel committed
2
#
Thomas Moulard's avatar
Thomas Moulard committed
3
4
5
6
7
# This file is part of sot-dynamic.
# sot-dynamic is free software: you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public License
# as published by the Free Software Foundation, either version 3 of
# the License, or (at your option) any later version.
Francois Bleibel's avatar
Francois Bleibel committed
8
#
Thomas Moulard's avatar
Thomas Moulard committed
9
10
11
12
13
14
# sot-dynamic is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Lesser Public License for more details.  You should have
# received a copy of the GNU Lesser General Public License along with
# sot-dynamic. If not, see <http://www.gnu.org/licenses/>.
Francois Bleibel's avatar
Francois Bleibel committed
15
16
17

CMAKE_MINIMUM_REQUIRED(VERSION 2.6)

Thomas Moulard's avatar
Thomas Moulard committed
18
19
20
INCLUDE(cmake/base.cmake)
INCLUDE(cmake/boost.cmake)
INCLUDE(cmake/lapack.cmake)
21
INCLUDE(cmake/cpack.cmake)
Francois Bleibel's avatar
Francois Bleibel committed
22

Thomas Moulard's avatar
Thomas Moulard committed
23
24
SET(PROJECT_NAME sot-dynamic)
SET(PROJECT_DESCRIPTION "jrl-dynamics bindings for dynamic-graph.")
25
SET(PROJECT_URL "http://github.com/jrl-umi3218/sot-dynamic")
Francois Bleibel's avatar
Francois Bleibel committed
26

Thomas Moulard's avatar
Thomas Moulard committed
27
SET(CUSTOM_HEADER_DIR "${PROJECT_NAME}")
Francois Bleibel's avatar
Francois Bleibel committed
28

Thomas Moulard's avatar
Thomas Moulard committed
29
30
# Disable -Werror on Unix for now.
SET(CXX_DISABLE_WERROR True)
Francois Bleibel's avatar
Francois Bleibel committed
31

Thomas Moulard's avatar
Thomas Moulard committed
32
33
34
35
36
SET(PKG_CONFIG_ADDITIONAL_VARIABLES
  ${PKG_CONFIG_ADDITIONAL_VARIABLES}
  plugindirname
  plugindir
  )
Francois Bleibel's avatar
Francois Bleibel committed
37

Thomas Moulard's avatar
Thomas Moulard committed
38
SETUP_PROJECT()
Francois Bleibel's avatar
Francois Bleibel committed
39

Thomas Moulard's avatar
Thomas Moulard committed
40
# Search for dependencies.
41
ADD_REQUIRED_DEPENDENCY("jrl-mal >= 1.9.0")
Francois Bleibel's avatar
Francois Bleibel committed
42

43
ADD_REQUIRED_DEPENDENCY("jrl-dynamics >= 1.19.0")
44
45
ADD_OPTIONAL_DEPENDENCY("hrp2-dynamics >= 1.5.0")
ADD_OPTIONAL_DEPENDENCY("hrp2-10-optimized >= 1.0.1")
Francois Bleibel's avatar
Francois Bleibel committed
46

47
48
ADD_OPTIONAL_DEPENDENCY("hrp2-10 >= 1.0.1")
ADD_OPTIONAL_DEPENDENCY("hrp2-14 >= 1.8")
Francois Bleibel's avatar
Francois Bleibel committed
49

50
ADD_REQUIRED_DEPENDENCY("dynamic-graph >= 2.5.0")
51
ADD_REQUIRED_DEPENDENCY("sot-core >= 2.5")
52
ADD_REQUIRED_DEPENDENCY("sot-tools")
Francois Bleibel's avatar
Francois Bleibel committed
53

Thomas Moulard's avatar
Thomas Moulard committed
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# List plug-ins that will be compiled.
SET(libs
  zmpreffromcom
  force-compensation
  integrator-force-exact
  mass-apparent
  integrator-force-rk4
  integrator-force
  angle-estimator
  waist-attitude-from-sensor
  )

LIST(APPEND libs dynamic)
IF(HRP2_DYNAMICS_FOUND)
  LIST(APPEND libs dynamic-hrp2)
ENDIF()

IF(HRP2_10_OPTIMIZED_FOUND)
  LIST(APPEND libs dynamic-hrp2_10)
73
  LIST(APPEND libs dynamic-hrp2_10_old)
Thomas Moulard's avatar
Thomas Moulard committed
74
75
76
ENDIF()

LIST(APPEND LOGGING_WATCHED_TARGETS ${libs})
Francois Bleibel's avatar
Francois Bleibel committed
77

78
79
80
81
# Add dependency toward sot-dynamic library in pkg-config file.
PKG_CONFIG_APPEND_LIBS_RAW(${CMAKE_INSTALL_PREFIX}/lib/plugin/dynamic.so)
PKG_CONFIG_APPEND_LIBRARY_DIR(${CMAKE_INSTALL_PREFIX}/lib/plugin)

olivier-stasse's avatar
olivier-stasse committed
82
83
# Search for dependencies.
# Boost
84
SET(BOOST_COMPONENTS filesystem system)
olivier-stasse's avatar
olivier-stasse committed
85
86
SEARCH_FOR_BOOST()

Thomas Moulard's avatar
Thomas Moulard committed
87
# Add subdirectories.
Francois Bleibel's avatar
Francois Bleibel committed
88
ADD_SUBDIRECTORY(include)
Thomas Moulard's avatar
Thomas Moulard committed
89
ADD_SUBDIRECTORY(src)
90
ADD_SUBDIRECTORY(doc)
Francois Bleibel's avatar
Francois Bleibel committed
91
92
ADD_SUBDIRECTORY(unitTesting)

Thomas Moulard's avatar
Thomas Moulard committed
93
SETUP_PROJECT_FINALIZE()
94
SETUP_PROJECT_CPACK()