-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathCMakeLists.txt
60 lines (47 loc) · 1.29 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(nmpc CXX)
INCLUDE(ExternalProject)
# CMake module(s) path
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR})
set(CMAKE_C_FLAGS "-O3")
# Set default ExternalProject root directory
SET_DIRECTORY_PROPERTIES(PROPERTIES EP_PREFIX .)
# Add eigen3.2
ExternalProject_Add(
eigen3
URL https://bitbucket.org/eigen/eigen/get/3.2.0.tar.gz
TIMEOUT 300
# Disable install step
INSTALL_COMMAND ""
# Wrap download, configure and build steps in a script to log output
LOG_DOWNLOAD ON
LOG_CONFIGURE ON
LOG_BUILD ON)
ExternalProject_Get_Property(eigen3 source_dir)
SET(eigen_dir ${source_dir})
# Add qpDUNES
ExternalProject_Add(
qpDUNES
URL https://github.com/sfwa/qpDUNES/archive/master.zip
TIMEOUT 300
# Disable install step
INSTALL_COMMAND ""
# Wrap download, configure and build steps in a script to log output
LOG_DOWNLOAD ON
LOG_CONFIGURE ON
LOG_BUILD ON)
ExternalProject_Get_Property(qpDUNES source_dir)
SET(qpDUNES_dir ${source_dir})
INCLUDE_DIRECTORIES(include ${eigen_dir} ${qpDUNES_dir}/include)
#
# Include directories
#
INCLUDE_DIRECTORIES(include)
ADD_LIBRARY(nmpclib STATIC
src/state.cpp
src/dynamics.cpp
src/nmpc.cpp
src/ocp.cpp)
ADD_DEPENDENCIES(nmpclib eigen3 qpDUNES)
ADD_SUBDIRECTORY(c EXCLUDE_FROM_ALL)
ADD_SUBDIRECTORY(ccs-c66x EXCLUDE_FROM_ALL)