Skip to content
Merged
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
27 changes: 18 additions & 9 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ MESSAGE(STATUS "Using CMake ${CMAKE_VERSION}")
SET(BITRL_VERSION_MAJOR 2)
SET(BITRL_VERSION_MINOR 2)
SET(BITRL_VERSION_PATCH 4)

SET(BITRL_VERSION "${BITRL_VERSION_MAJOR}.${BITRL_VERSION_MINOR}.${BITRL_VERSION_PATCH}")
MESSAGE(STATUS "bitrllib Version ${BITRL_VERSION}")

Expand All @@ -25,37 +24,42 @@ IF(COMMAND cmake_policy)
CMAKE_POLICY(SET CMP0048 NEW)
ENDIF(COMMAND cmake_policy)

OPTION(ENABLE_TESTS OFF)

OPTION(ENABLE_WEBOTS OFF)

# configure packages
SET(ENABLE_EXAMPLES ON)
SET(ENABLE_CHRONO OFF)
SET(ENABLE_TESTS OFF)
SET(ENABLE_CHRONO ON)
SET(ENABLE_OPENCV ON)
SET(ENABLE_MQTT ON)
SET(ENABLE_DOCS ON)
SET(BITRL_LOG ON)
SET(BITRL_IRRLICHT ON)

# build options
SET(CMAKE_BUILD_TYPE "Release")
SET(CMAKE_CXX_STANDARD 20)
SET(CMAKE_CXX_STANDARD_REQUIRED True)
SET(CMAKE_LINKER_FLAGS "-pthread")
SET(ROBOTS_DATA_DIR ${PROJECT_SOURCE_DIR}/robots)
SET(SENSORS_DATA_DIR ${PROJECT_SOURCE_DIR}/sensors)

IF(CMAKE_BUILD_TYPE STREQUAL "Debug")
SET(CMAKE_INSTALL_PREFIX ${PROJECT_SOURCE_DIR}/install/dbg)
SET(CMAKE_CXX_FLAGS "-g -fPIC") # -Wall -Wextra")
SET(CMAKE_CXX_FLAGS "-g -fPIC -DBOOST_LOG_DYN_LINK") # -Wall -Wextra")
SET(BITRL_DEBUG ON)

ELSE(CMAKE_BUILD_TYPE STREQUAL "Release")
SET(CMAKE_INSTALL_PREFIX ${PROJECT_SOURCE_DIR}/install/opt)
SET(CMAKE_CXX_FLAGS "-O2 -fPIC")
SET(CMAKE_CXX_FLAGS "-O2 -fPIC -DBOOST_LOG_DYN_LINK")
SET(BITRL_DEBUG OFF)
ENDIF()

# Find packages that we need
FIND_PACKAGE(Boost 1.74.0 REQUIRED)
FIND_PACKAGE(BLAS REQUIRED)
FIND_PACKAGE(Eigen3 REQUIRED)
#FIND_PACKAGE(libirrlicht-dev REQUIRED)

IF(ENABLE_MQTT)
FIND_PACKAGE(PahoMqttCpp REQUIRED)
Expand All @@ -70,6 +74,7 @@ ENDIF()
IF(Boost_FOUND)
MESSAGE( STATUS "Found needed Boost C++ library.")
SET(Boost_USE_SHARED_LIBS ON)
SET(Boost_USE_STATIC_LIBS ON)
ELSE()
MESSAGE( FATAL_ERROR "Boost C++ library is required but not found.")
ENDIF()
Expand Down Expand Up @@ -102,7 +107,7 @@ ENDIF()

IF(ENABLE_CHRONO)

FIND_PACKAGE(Chrono REQUIRED)
FIND_PACKAGE(Chrono REQUIRED COMPONENTS Irrlicht)
IF (NOT Chrono_FOUND)
MESSAGE("Could not find Chrono or one of its required modules")
RETURN()
Expand All @@ -113,8 +118,10 @@ IF(ENABLE_CHRONO)

# Manually set this as for some reason it does not work
# otherwise
INCLUDE_DIRECTORIES(/usr/include/irrlicht)
INCLUDE_DIRECTORIES(/usr/local/include/chrono_thirdparty/HACD)
INCLUDE_DIRECTORIES(/usr/local/include/chrono/collision/bullet)

LINK_DIRECTORIES(/usr/local/lib)
ENDIF()

Expand All @@ -137,8 +144,9 @@ INCLUDE_DIRECTORIES(src/)

FILE(GLOB SRCS src/bitrl/*.cpp
src/bitrl/network/*.cpp
src/bitrl/sensors/*cpp
src/bitrl/sensors/messages/*cpp
src/bitrl/sensors/*.cpp
src/bitrl/sensors/messages/*.cpp
src/bitrl/sensors/backends/*.cpp
src/bitrl/envs/*.cpp
src/bitrl/envs/gymnasium/*.cpp
src/bitrl/envs/gymnasium/toy_text/*.cpp
Expand All @@ -152,6 +160,7 @@ FILE(GLOB SRCS src/bitrl/*.cpp
src/bitrl/envs/gymnasium/box2d/*.cpp
src/bitrl/boards/arduino/*.cpp
src/bitrl/rigid_bodies/*.cpp
src/bitrl/rigid_bodies/chrono_robots/*.cpp
src/bitrl/rigid_bodies/webots_robots/*.cpp
src/bitrl/dynamics/*.cpp
src/bitrl/utils/*.cpp
Expand Down
13 changes: 11 additions & 2 deletions config.h.in
Original file line number Diff line number Diff line change
@@ -1,9 +1,18 @@
#ifndef GYMFCPP_CONFIG_H
#define GYMFCPP_CONFIG_H
#ifndef BITRL_CONFIG_H
#define BITRL_CONFIG_H

/*Path to robots description*/
#cmakedefine ROBOTS_DATA_DIR "@ROBOTS_DATA_DIR@"

/*Path to sensors */
#cmakedefine SENSORS_DATA_DIR "@SENSORS_DATA_DIR@"

/*DEBUG*/
#cmakedefine BITRL_DEBUG

/*Flag indicating that the library should log various messages*/
#cmakedefine BITRL_LOG

/*Use Webots*/
#cmakedefine BITRL_WEBOTS

Expand Down
21 changes: 12 additions & 9 deletions examples/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,22 +35,25 @@ ADD_SUBDIRECTORY(example_9)
ADD_SUBDIRECTORY(example_10)
ADD_SUBDIRECTORY(example_11)
ADD_SUBDIRECTORY(example_12)
ADD_SUBDIRECTORY(arduino)
ADD_SUBDIRECTORY(arduino_wifi)
ADD_SUBDIRECTORY(example_14)
ADD_SUBDIRECTORY(example_15)
ADD_SUBDIRECTORY(example_16)

IF(BITRL_MQTT)
ADD_SUBDIRECTORY(mqtt_exe_1)
ADD_SUBDIRECTORY(mqtt_exe_3)
ADD_SUBDIRECTORY(example_17)
ADD_SUBDIRECTORY(example_20)

# Need both OpenCV and MQTT
IF(BITRL_OPENCV)
ADD_SUBDIRECTORY(mqtt_exe_2)
ADD_SUBDIRECTORY(example_18)
ENDIF ()
ENDIF()

IF(BITRL_CHRONO)
ADD_SUBDIRECTORY(example_19)
ENDIF ()


IF(BITRL_WEBOTS)
ADD_SUBDIRECTORY(webots/world_1)
ENDIF()

#IF(BITRL_CHRONO)
# ADD_SUBDIRECTORY(chrono_examples/chrono_exe_1)
#ENDIF()
8 changes: 4 additions & 4 deletions examples/example_1/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@ SET(SOURCE ${EXECUTABLE}.cpp)

ADD_EXECUTABLE(${EXECUTABLE} ${SOURCE})

TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE bitrllib)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE bitrllib pthread boost_log)

IF(BITRL_CHRONO)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE ${BITRL_CHRONO_TARGETS})
IF(ENABLE_CHRONO)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE Chrono::Chrono_core)
ENDIF ()

IF(BITRL_WEBOTS)
TARGET_LINK_LIBRARIES(${EXECUTABLE} CppController)
ENDIF()

IF(BITRL_MQTT)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE bitrllib paho-mqttpp3 paho-mqtt3as)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE paho-mqttpp3 paho-mqtt3as)
ENDIF ()

IF(BITRL_OPENCV)
Expand Down
9 changes: 5 additions & 4 deletions examples/example_10/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,19 @@ SET(EXECUTABLE example_10)
SET(SOURCE ${EXECUTABLE}.cpp)

ADD_EXECUTABLE(${EXECUTABLE} ${SOURCE})
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE bitrllib)

IF(BITRL_CHRONO)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE ${BITRL_CHRONO_TARGETS})
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE bitrllib pthread boost_log)

IF(ENABLE_CHRONO)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE Chrono::Chrono_core)
ENDIF ()

IF(BITRL_WEBOTS)
TARGET_LINK_LIBRARIES(${EXECUTABLE} CppController)
ENDIF()

IF(BITRL_MQTT)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE bitrllib paho-mqttpp3 paho-mqtt3as)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE paho-mqttpp3 paho-mqtt3as)
ENDIF ()

IF(BITRL_OPENCV)
Expand Down
9 changes: 5 additions & 4 deletions examples/example_11/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,19 @@ SET(EXECUTABLE example_11)
SET(SOURCE ${EXECUTABLE}.cpp)

ADD_EXECUTABLE(${EXECUTABLE} ${SOURCE})
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE bitrllib)

IF(BITRL_CHRONO)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE ${BITRL_CHRONO_TARGETS})
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE bitrllib pthread boost_log)

IF(ENABLE_CHRONO)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE Chrono::Chrono_core)
ENDIF ()

IF(BITRL_WEBOTS)
TARGET_LINK_LIBRARIES(${EXECUTABLE} CppController)
ENDIF()

IF(BITRL_MQTT)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE bitrllib paho-mqttpp3 paho-mqtt3as)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE paho-mqttpp3 paho-mqtt3as)
ENDIF ()

IF(BITRL_OPENCV)
Expand Down
10 changes: 6 additions & 4 deletions examples/example_12/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,20 @@ SET(EXECUTABLE example_12)
SET(SOURCE ${EXECUTABLE}.cpp)

ADD_EXECUTABLE(${EXECUTABLE} ${SOURCE})
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE bitrllib)

IF(BITRL_CHRONO)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE ${BITRL_CHRONO_TARGETS})
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE bitrllib pthread boost_log)

IF(ENABLE_CHRONO)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE Chrono::Chrono_core)
ENDIF ()


IF(BITRL_WEBOTS)
TARGET_LINK_LIBRARIES(${EXECUTABLE} CppController)
ENDIF()

IF(BITRL_MQTT)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE bitrllib paho-mqttpp3 paho-mqtt3as)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE paho-mqttpp3 paho-mqtt3as)
ENDIF ()

IF(BITRL_OPENCV)
Expand Down
9 changes: 5 additions & 4 deletions examples/example_13/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,19 @@ SET(EXECUTABLE example_13)
SET(SOURCE ${EXECUTABLE}.cpp)

ADD_EXECUTABLE(${EXECUTABLE} ${SOURCE})
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE bitrllib)

IF(BITRL_CHRONO)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE ${BITRL_CHRONO_TARGETS})
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE bitrllib pthread boost_log)

IF(ENABLE_CHRONO)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE Chrono::Chrono_core)
ENDIF ()

IF(BITRL_WEBOTS)
TARGET_LINK_LIBRARIES(${EXECUTABLE} CppController)
ENDIF()

IF(BITRL_MQTT)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE bitrllib paho-mqttpp3 paho-mqtt3as)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE paho-mqttpp3 paho-mqtt3as)
ENDIF ()

IF(BITRL_OPENCV)
Expand Down
24 changes: 24 additions & 0 deletions examples/example_14/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
cmake_minimum_required(VERSION 3.6 FATAL_ERROR)

SET(EXECUTABLE example_14)
SET(SOURCE ${EXECUTABLE}.cpp)

ADD_EXECUTABLE(${EXECUTABLE} ${SOURCE})
add_compile_definitions(IRRLICHT_NO_XML)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE bitrllib pthread boost_log)

IF(ENABLE_CHRONO)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE Chrono::Chrono_core Chrono::Chrono_irrlicht)
ENDIF ()

IF(BITRL_WEBOTS)
TARGET_LINK_LIBRARIES(${EXECUTABLE} CppController)
ENDIF()

IF(BITRL_MQTT)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE paho-mqttpp3 paho-mqtt3as)
ENDIF ()

IF(BITRL_OPENCV)
TARGET_LINK_LIBRARIES(${EXECUTABLE} PRIVATE ${OpenCV_LIBS})
ENDIF ()
Binary file added examples/example_14/env.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading