CMakeLists.txt 2.32 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")
Francois Bleibel's avatar
Francois Bleibel committed
44

45
ADD_REQUIRED_DEPENDENCY("dynamic-graph >= 2.5.0")
46
ADD_REQUIRED_DEPENDENCY("sot-core >= 2.5")
47
ADD_REQUIRED_DEPENDENCY("sot-tools")
Francois Bleibel's avatar
Francois Bleibel committed
48

Thomas Moulard's avatar
Thomas Moulard committed
49
50
51
52
53
54
55
56
57
58
59
60
61
# 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)
62

Thomas Moulard's avatar
Thomas Moulard committed
63
64

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

66
# Add dependency toward sot-dynamic library in pkg-config file.
67
68
PKG_CONFIG_APPEND_LIBS_RAW(${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/plugin/dynamic.so)
PKG_CONFIG_APPEND_LIBRARY_DIR(${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/plugin)
69

olivier-stasse's avatar
olivier-stasse committed
70
71
# Search for dependencies.
# Boost
72
SET(BOOST_COMPONENTS filesystem system)
olivier-stasse's avatar
olivier-stasse committed
73
74
SEARCH_FOR_BOOST()

Thomas Moulard's avatar
Thomas Moulard committed
75
# Add subdirectories.
Francois Bleibel's avatar
Francois Bleibel committed
76
ADD_SUBDIRECTORY(include)
Thomas Moulard's avatar
Thomas Moulard committed
77
ADD_SUBDIRECTORY(src)
78
ADD_SUBDIRECTORY(doc)
79
ADD_SUBDIRECTORY(python)
Francois Bleibel's avatar
Francois Bleibel committed
80
81
ADD_SUBDIRECTORY(unitTesting)

Thomas Moulard's avatar
Thomas Moulard committed
82
SETUP_PROJECT_FINALIZE()
83
SETUP_PROJECT_CPACK()