Skip to content

Commit

Permalink
3.10 (#1041) refacto 3rdparty dependencies and fix MCAP plugin + buil…
Browse files Browse the repository at this point in the history
…d on MacOS
  • Loading branch information
facontidavide authored Jan 29, 2025
1 parent afa2f55 commit 63ced5a
Show file tree
Hide file tree
Showing 192 changed files with 1,684 additions and 181,963 deletions.
39 changes: 17 additions & 22 deletions .github/workflows/macos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,34 +5,29 @@ on: [push, pull_request]
jobs:

macos-build:
runs-on: ${{ matrix.macos-version }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
macos-version:
- 'macos-latest'
os:
- macos-13
- macos-latest

steps:
- name: Sync repository
uses: actions/checkout@v2

- name: Cache Qt
id: cache-qt
uses: actions/cache@v1 # not v2!
with:
path: '${{ github.workspace }}/qt_installation/'
key: ${{ runner.os }}-QtCache
- name: Prepare Homebrew and Install Dependencies
run: |
brew cleanup -s
brew update
brew install mosquitto zeromq qt@5 protobuf@21
- name: Install Qt
uses: jurplel/[email protected]
with:
version: '5.15.2'
host: 'mac'
dir: '${{ github.workspace }}/qt_installation/'
cached: ${{ steps.cache-qt.outputs.cache-hit }}

- name: Build Plotjuggler
shell: pwsh
run: >
cmake -B build -DCMAKE_INSTALL_PREFIX=install PlotJuggler;
cmake --build build --target install
- name: Build PlotJuggler
run: |
export CMAKE_PREFIX_PATH=$(brew --prefix qt@5):$(brew --prefix zeromq)
export LDFLAGS="-L/usr/local/opt/zeromq/lib"
export CPPFLAGS="-I/usr/local/opt/zeromq/include"
export LIBRARY_PATH=/usr/local/opt/zeromq/lib
export CPATH=/usr/local/opt/zeromq/include
cmake -B build -DCMAKE_INSTALL_PREFIX=install PlotJuggler
17 changes: 0 additions & 17 deletions .github/workflows/ros1.yaml

This file was deleted.

31 changes: 31 additions & 0 deletions .github/workflows/ros2-humble.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: ros2-humble

on: [push, pull_request]

jobs:
build:
runs-on: ubuntu-22.04
steps:
# Step 1: Set up ROS
- uses: ros-tooling/[email protected]
with:
required-ros-distributions: humble

# Step 2: Cache ROS dependencies
- name: Cache ROS dependencies
uses: actions/cache@v2
with:
path: |
~/.ros
/tmp/rosdep
/opt/ros/humble
key: ${{ runner.os }}-ros2-humble-${{ hashFiles('**/package.xml') }}-rosdep
restore-keys: |
${{ runner.os }}-ros2-humble-${{ hashFiles('**/package.xml') }}-
${{ runner.os }}-ros2-humble-
# Step 3: Run ROS CI
- uses: ros-tooling/[email protected]
with:
package-name: plotjuggler
target-ros2-distro: humble
32 changes: 23 additions & 9 deletions .github/workflows/ros2-rolling.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,29 @@ name: ros2-rolling
on: [push, pull_request]

jobs:
industrial_ci:
strategy:
matrix:
env:
- {ROS_DISTRO: rolling, ROS_REPO: main}
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: 'ros-industrial/industrial_ci@master'
env: ${{matrix.env}}
# Step 1: Set up ROS
- uses: ros-tooling/[email protected]
with:
package-name: plotjuggler
required-ros-distributions: rolling

# Step 2: Cache ROS dependencies
- name: Cache ROS dependencies
uses: actions/cache@v2
with:
path: |
~/.ros
/tmp/rosdep
/opt/ros/rolling
key: ${{ runner.os }}-ros2-rolling-${{ hashFiles('**/package.xml') }}-rosdep
restore-keys: |
${{ runner.os }}-ros2-rolling-${{ hashFiles('**/package.xml') }}-
${{ runner.os }}-ros2-rolling-
# Step 3: Run ROS CI
- uses: ros-tooling/[email protected]
with:
package-name: plotjuggler
target-ros2-distro: rolling
18 changes: 0 additions & 18 deletions .github/workflows/ros2.yaml

This file was deleted.

59 changes: 59 additions & 0 deletions 3rdparty/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@

##### fastCDR ######
if(NOT TARGET fastcdr)
CPMAddPackage(
NAME fastcdr_imported
GITHUB_REPOSITORY eProsima/Fast-CDR
GIT_TAG v2.2.6
OPTIONS "BUILD_SHARED_LIBS OFF"
)
endif()

##### backward_cpp ######
CPMAddPackage("gh:bombela/[email protected]")

##### nlohmann_json ######
CPMAddPackage("gh:nlohmann/[email protected]")

##### Lua + Sol2 ######

find_package(lua 5.4 QUIET)
if (NOT lua_FOUND)
CPMAddPackage(
NAME lua
GIT_REPOSITORY https://github.com/lua/lua.git
VERSION 5.4.7
DOWNLOAD_ONLY YES
)
# lua has no CMake support, so we create our own target
if (lua_ADDED)
file(GLOB lua_sources ${lua_SOURCE_DIR}/*.c)
list(REMOVE_ITEM lua_sources "${lua_SOURCE_DIR}/lua.c" "${lua_SOURCE_DIR}/luac.c" "${lua_SOURCE_DIR}/onelua.c")
add_library(lua STATIC ${lua_sources})
target_include_directories(lua SYSTEM PUBLIC $<BUILD_INTERFACE:${lua_SOURCE_DIR}>)
set_property(TARGET lua PROPERTY POSITION_INDEPENDENT_CODE ON)
endif()
endif()

CPMAddPackage("gh:ThePhD/[email protected]")


##### data_tamer ######

CPMAddPackage(
NAME data_tamer
GITHUB_REPOSITORY PickNikRobotics/data_tamer
GIT_TAG 0.9.3
DOWNLOAD_ONLY YES
)

if (data_tamer_ADDED)
# we are interested only in data_tamer_parser includes
add_library(data_tamer_parser INTERFACE)
target_include_directories(data_tamer_parser INTERFACE "${data_tamer_SOURCE_DIR}/data_tamer_cpp/include")
endif()

add_subdirectory( qwt/src )
add_subdirectory( QCodeEditor )
add_subdirectory( color_widgets )
add_subdirectory( Qt-Advanced-Docking )
Loading

0 comments on commit 63ced5a

Please sign in to comment.