Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .gitmodules

This file was deleted.

158 changes: 136 additions & 22 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,30 +1,144 @@
cmake_minimum_required(VERSION 3.10)
cmake_minimum_required(VERSION 3.22)

set(CXX_DISABLE_WERROR 1)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_EXTENSIONS OFF)
include(cmake/get-jrl-cmakemodules.cmake)

set(PROJECT_NAME DCM_VRPTask)
set(PROJECT_VERSION 0.1.0)
set(PROJECT_DESCRIPTION "")
set(PROJECT_URL "")
project(DCM_VRPTask LANGUAGES CXX VERSION 0.1.0)

# jrl-cmakemodules minimal settings
set(PROJECT_USE_CMAKE_EXPORT TRUE)
set(CXX_DISABLE_WERROR 1)
# jrl_find_package(eigen-qld REQUIRED NO_MODULE)

include(cmake/base.cmake)
jrl_find_package(mc_rtc REQUIRED)
jrl_find_package(gram_savitzky_golay REQUIRED NO_MODULE)
jrl_find_package(eigen-quadprog REQUIRED)

project(${PROJECT_NAME} LANGUAGES CXX VERSION ${PROJECT_VERSION})
# Tasks

add_project_dependency(RBDyn REQUIRED NO_MODULE)
add_project_dependency(eigen-qld REQUIRED NO_MODULE)
add_project_dependency(Boost REQUIRED COMPONENTS filesystem timer ${BOOST_STACKTRACE})
add_project_dependency(gram_savitzky_golay REQUIRED NO_MODULE)
set(Tasks_SRC
src/Tasks/DCM_VRPTask.cpp
)

find_package(mc_rtc REQUIRED)
find_package(SpaceVecAlg REQUIRED)
find_package(Tasks REQUIRED)
find_package(eigen-quadprog REQUIRED)
add_library(Tasks_DCM_VRPTask SHARED ${Tasks_SRC})

add_subdirectory(src)
target_link_libraries(Tasks_DCM_VRPTask
PUBLIC
SpaceVecAlg::SpaceVecAlg
eigen-quadprog::eigen-quadprog
Tasks::Tasks
)

target_include_directories(Tasks_DCM_VRPTask
PUBLIC "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
"$<INSTALL_INTERFACE:include>")

jrl_target_headers(Tasks_DCM_VRPTask PUBLIC HEADERS
include/Tasks/DCM_VRPTask.h
BASE_DIRS include)

# TVM

# set(TVM_SRC
# tvm/task_dynamics/ProportionalFF.cpp
# )

# set(TVM_HDR
# ../include/tvm/task_dynamics/ProportionalFF.h
# )

# add_library(TVM_DCM_VRPTask SHARED ${TVM_SRC} ${TVM_HDR})

# target_link_libraries(TVM_DCM_VRPTask
# PUBLIC
# SpaceVecAlg::SpaceVecAlg
# ${Boost_LIBRARIES}
# eigen-quadprog::eigen-quadprog
# TVM::TVM
# )

# set_target_properties(TVM_DCM_VRPTask PROPERTIES
# OUTPUT_NAME TVM_DCM_VRPTask
# VERSION TVM_DCM_VRPTask
# PUBLIC_HEADER "${TVM_DCM_VRPTask_HDR}"
# )

# target_include_directories(TVM_DCM_VRPTask PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include/tvm>"
# "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_INCLUDEDIR}>")

# install(TARGETS TVM_DCM_VRPTask
# EXPORT "${TARGETS_EXPORT_NAME}"
# RUNTIME DESTINATION bin
# LIBRARY DESTINATION lib
# ARCHIVE DESTINATION lib)

# mc_tvm

set(mc_tvm_SRC
src/mc_tvm/DCM_VRPFunction.cpp
src/mc_tvm/VRPFunction.cpp
src/mc_tvm/DCMBoundingFunction.cpp
src/mc_tvm/DummyDynamicFunction.cpp
)

add_library(mc_tvm_DCM_VRPTask SHARED ${mc_tvm_SRC})

target_link_libraries(mc_tvm_DCM_VRPTask
PUBLIC
mc_rtc::mc_rbdyn)

target_include_directories(mc_tvm_DCM_VRPTask
PUBLIC
"$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
"$<INSTALL_INTERFACE:include>")

jrl_target_headers(mc_tvm_DCM_VRPTask PUBLIC HEADERS
include/mc_tvm/DCM_VRPFunction.h
include/mc_tvm/VRPFunction.h
include/mc_tvm/DCMBoundingFunction.h
include/mc_tvm/DummyDynamicFunction.h
BASE_DIRS include)

# mc_tasks

set(mc_tasks_SRC
src/mc_tasks/DCM_VRPTask.cpp
src/DCM_VRPUtils/DCM_VRPtracker.cpp
src/DCM_VRPUtils/LinearProblems.cpp
src/mc_tasks/DCMTask.cpp
src/mc_tasks/VRPTask.cpp
)

add_library(mc_tasks_DCM_VRPTask SHARED ${mc_tasks_SRC})

target_link_libraries(mc_tasks_DCM_VRPTask
PUBLIC
SpaceVecAlg::SpaceVecAlg
eigen-quadprog::eigen-quadprog
gram_savitzky_golay::gram_savitzky_golay
mc_rtc::mc_tasks
mc_rtc::mc_rbdyn
mc_tvm_DCM_VRPTask
Tasks_DCM_VRPTask)
# TVM_DCM_VRPTask)


target_include_directories(mc_tasks_DCM_VRPTask
PUBLIC
"$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
"$<INSTALL_INTERFACE:include>")

jrl_target_headers(mc_tasks_DCM_VRPTask
PUBLIC HEADERS
include/mc_tasks/DCM_VRPTask.h
include/DCM_VRPUtils/DCM_VRPtracker.h
include/DCM_VRPUtils/LinearProblems.h
include/DCM_VRPUtils/GUIInterpolator.h
include/mc_tasks/DCMTask.h
include/mc_tasks/VRPTask.h
BASE_DIRS include)

jrl_add_export_component(NAME DCM_VRPTask TARGETS Tasks_DCM_VRPTask mc_tvm_DCM_VRPTask mc_tasks_DCM_VRPTask)


#### Exporting targets and installing ####
jrl_export_package()

jrl_print_dependencies_summary()
jrl_print_options_summary()
1 change: 0 additions & 1 deletion cmake
Submodule cmake deleted from b3c2af
49 changes: 49 additions & 0 deletions cmake/get-jrl-cmakemodules.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Get jrl-cmakemodules package

# Option 1: pass -DJRL_CMAKEMODULES_SOURCE_DIR=... to cmake command line
if(JRL_CMAKEMODULES_SOURCE_DIR)
message(
DEBUG
"JRL_CMAKEMODULES_SOURCE_DIR variable set, adding jrl-cmakemodules from source directory: ${JRL_CMAKEMODULES_SOURCE_DIR}"
)
add_subdirectory(${JRL_CMAKEMODULES_SOURCE_DIR} jrl-cmakemodules)
return()
endif()

# Option 2: use JRL_CMAKEMODULES_SOURCE_DIR environment variable (pixi might unset it, prefer option 1)
if(ENV{JRL_CMAKEMODULES_SOURCE_DIR})
message(
DEBUG
"JRL_CMAKEMODULES_SOURCE_DIR environement variable set, adding jrl-cmakemodules from source directory: ${JRL_CMAKEMODULES_SOURCE_DIR}"
)
add_subdirectory(${JRL_CMAKEMODULES_SOURCE_DIR} jrl-cmakemodules)
return()
endif()

# Try to look for the installed package
message(DEBUG "Looking for jrl-cmakemodules using find_package().")
find_package(jrl-cmakemodules 1.2.0 CONFIG QUIET)

# If we have the package, we are done.
if(jrl-cmakemodules_FOUND)
message(DEBUG "Found jrl-cmakemodules package via find_package().")
return()
else()
message(DEBUG "jrl-cmakemodules package not found using find_package().")
endif()

# Fallback to FetchContent if not found
set(JRL_GIT_REPOSITORY "https://github.com/ahoarau/jrl-cmakemodules.git")
set(JRL_GIT_TAG "jrl-next")

message(
DEBUG
"Fetching jrl-cmakemodules using FetchContent:
GIT_REPOSITORY: ${JRL_GIT_REPOSITORY}
GIT_TAG : ${JRL_GIT_TAG}
"
)

include(FetchContent)
FetchContent_Declare(jrl-cmakemodules GIT_REPOSITORY ${JRL_GIT_REPOSITORY} GIT_TAG ${JRL_GIT_TAG})
FetchContent_MakeAvailable(jrl-cmakemodules)
158 changes: 0 additions & 158 deletions src/CMakeLists.txt

This file was deleted.