forked from TinyMPC/TinyMPC
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
43 lines (32 loc) · 2.19 KB
/
Copy pathCMakeLists.txt
File metadata and controls
43 lines (32 loc) · 2.19 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
cmake_minimum_required(VERSION 3.15.0)
message("Processing ${CMAKE_CURRENT_LIST_DIR}")
include(${CMAKE_CURRENT_LIST_DIR}/external/matlib/matlib.cmake)
add_subdirectory(external/matlib)
add_subdirectory(external/admm)
# add_subdirectory(external/rtrbench)
project(TinyMPC VERSION 0.2.0 LANGUAGES CXX)
include_directories(include/Eigen)
include_directories(include/Gemmini)
include_directories(include/RoSE)
if((USE_RVV OR USE_RVVU OR USE_RVVF) AND (USE_TYPE STREQUAL "float32" OR USE_TYPE STREQUAL "float64"))
add_matlib_executable(example_quadrotor_hovering_rvv examples/example_quadrotor_hovering_rvv.cpp)
target_link_libraries(example_quadrotor_hovering_rvv LINK_PUBLIC admm matlib)
target_include_directories(example_quadrotor_hovering_rvv PUBLIC $<TARGET_PROPERTY:admm,INTERFACE_INCLUDE_DIRECTORIES>)
add_matlib_executable(example_quadrotor_tracking_rvv examples/example_quadrotor_tracking_rvv.cpp)
target_link_libraries(example_quadrotor_tracking_rvv LINK_PUBLIC admm matlib)
target_include_directories(example_quadrotor_tracking_rvv PUBLIC $<TARGET_PROPERTY:admm,INTERFACE_INCLUDE_DIRECTORIES>)
endif((USE_RVV OR USE_RVVU OR USE_RVVF) AND (USE_TYPE STREQUAL "float32" OR USE_TYPE STREQUAL "float64"))
if(USE_CPU)
if(USE_EIGEN)
add_executable(example_quadrotor_tracking_eigen examples/example_quadrotor_tracking.cpp)
target_link_libraries(example_quadrotor_tracking_eigen LINK_PUBLIC admm)
target_include_directories(example_quadrotor_tracking_eigen PUBLIC $<TARGET_PROPERTY:admm,INTERFACE_INCLUDE_DIRECTORIES>)
else()
add_executable(example_quadrotor_hovering_cpu examples/example_quadrotor_hovering_rvv.cpp)
target_link_libraries(example_quadrotor_hovering_cpu LINK_PUBLIC admm matlib)
target_include_directories(example_quadrotor_hovering_cpu PUBLIC $<TARGET_PROPERTY:admm,INTERFACE_INCLUDE_DIRECTORIES>)
add_executable(example_quadrotor_tracking_cpu examples/example_quadrotor_tracking_rvv.cpp)
target_link_libraries(example_quadrotor_tracking_cpu LINK_PUBLIC admm matlib)
target_include_directories(example_quadrotor_tracking_cpu PUBLIC $<TARGET_PROPERTY:admm,INTERFACE_INCLUDE_DIRECTORIES>)
endif()
endif(USE_CPU)