forked from leggedrobotics/SimBenchmark
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
123 lines (90 loc) · 3.75 KB
/
Copy pathCMakeLists.txt
File metadata and controls
123 lines (90 loc) · 3.75 KB
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
cmake_minimum_required(VERSION 3.5)
project(simbenchmark)
########################################################################################################################
# ascii logo
message("")
message("===========================================================================")
message(" _____ ______ _______ _______ __________ ____ ______ ____ __ __")
message(" / ___// _/ |/ / __ )/ ____/ | / / ____/ / / / |/ / | / __ \\/ //_/")
message(" \\__ \\ / // /|_/ / __ / __/ / |/ / / / /_/ / /|_/ / /| | / /_/ / ,< ")
message(" ___/ // // / / / /_/ / /___/ /| / /___/ __ / / / / ___ |/ _, _/ /| | ")
message("/____/___/_/ /_/_____/_____/_/ |_/\\____/_/ /_/_/ /_/_/ |_/_/ |_/_/ |_| ")
message(" ")
message("===========================================================================")
message("")
message("This project is maintaied by Dongho Kang")
message("Contact kangd@ethz.ch for bug report")
message("")
########################################################################################################################
## compiler
set(CMAKE_C_COMPILER "/usr/bin/gcc-7")
set(CMAKE_CXX_COMPILER "/usr/bin/g++-7")
#set(CMAKE_CXX_STANDARD 17)
add_definitions(-std=c++17)
########################################################################################################################
# cmake mode
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
add_definitions(-DRAIDEBUG)
else ()
remove_definitions(-DRAIDEBUG)
endif()
########################################################################################################################
# options
option(RAISIM "benchmark raiSim" ON)
option(BULLET "benchmark Bullet Multibody(bullet3 API)" OFF)
option(ODE "benchmark ODE" OFF)
option(MUJOCO "benchmark MUJOCO" OFF)
option(DART "benchmark DART" OFF)
option(BUILD_DEMO "build demos" OFF)
option(BUILD_TEST "build tests" OFF)
option(BUILD_BENCHMARK "build benchmark tests" ON)
########################################################################################################################
message(STATUS "Benchmark the following physics engines:")
if(RAISIM)
message(STATUS " raiSim")
endif(RAISIM)
if(BULLET)
message(STATUS " Bullet")
endif(BULLET)
if(ODE)
message(STATUS " ODE")
endif(ODE)
if(MUJOCO)
message(STATUS " MUJOCO")
endif(MUJOCO)
if(DART)
message(STATUS " DART")
endif(DART)
########################################################################################################################
# dependencies
# global libs
# eigen
find_package(Eigen3 REQUIRED)
include_directories(SYSTEM ${EIGEN3_INCLUDE_DIR})
# boost
find_package(Boost COMPONENTS system filesystem program_options REQUIRED)
include_directories(SYSTEM ${Boost_INCLUDE_DIR})
link_directories(${Boost_LIBRARY_DIRS})
########################################################################################################################
# macro variable
add_definitions(-DROOTPATH="${CMAKE_CURRENT_SOURCE_DIR}")
add_definitions(-DRESOURCEPATH="${CMAKE_CURRENT_SOURCE_DIR}/res")
add_definitions(-DDATAPATH="${CMAKE_CURRENT_SOURCE_DIR}/data")
########################################################################################################################
# sims
include_directories(sim)
add_subdirectory(sim)
if(BUILD_DEMO)
add_subdirectory(demo)
endif(BUILD_DEMO)
if(BUILD_BENCHMARK)
add_subdirectory(benchmark)
endif(BUILD_BENCHMARK)
if(BUILD_TEST)
add_subdirectory(test)
endif(BUILD_TEST)
########################################################################################################################
# custom targets
add_custom_target(clean_all
COMMAND rm -rf *
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})