Skip to content

Commit da20595

Browse files
Merge pull request #16 from RoboStack/featureparitywin
Enable more packages on Windows
2 parents 7546ddd + b872426 commit da20595

File tree

62 files changed

+1688
-151
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+1688
-151
lines changed

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
python-version: '3.11' # Version range or exact version of a Python version to use, using SemVer's version range syntax
2121
- name: Install vinca
2222
run: |
23-
pip install git+https://github.com/RoboStack/vinca.git@rattler-build-humble
23+
pip install git+https://github.com/RoboStack/vinca.git
2424
2525
- name: Generate recipes for linux-64
2626
run: |

.github/workflows/testpr.yml

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
include:
1515
- os: ubuntu-latest
1616
platform: linux-64
17-
- os: cirun-linux-aarch64--${{ github.run_id }}
17+
- os: ubuntu-24.04-arm
1818
platform: linux-aarch64
1919
- os: macos-13
2020
platform: osx-64
@@ -45,22 +45,6 @@ jobs:
4545
# git in C:\Program Files\Git\bin is used by pip install git+
4646
dirs: 'C:\Program Files\Git\usr\bin;C:\Program Files\Git\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin'
4747

48-
# - shell: bash -l {0}
49-
# if: matrix.platform == 'linux-aarch64'
50-
# run: |
51-
# echo "::group::Configure binfmt_misc"
52-
# docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes
53-
# export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)"
54-
# export GIT_BRANCH="$(basename $GITHUB_REF)"
55-
# echo "::endgroup::"
56-
57-
- name: Install libgl1-mesa-dev (only for linux-aarch64)
58-
if: matrix.platform == 'linux-aarch64'
59-
shell: bash -l {0}
60-
run: |
61-
sudo apt-get update
62-
sudo apt-get install -y libgl1-mesa-dev libglu1-mesa-dev libx11-dev libxi-dev libxmu-dev
63-
6448
# For some reason, the Strawberry perl's pkg-config is found
6549
# instead of the conda's one, so let's delete the /c/Strawberry directory
6650
# Furthermore, we also need to remove an older SDK that is used and can result in compilation problems

conda_build_config.yaml

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,28 +6,38 @@ protobuf:
66
- 5.28.2
77
spdlog:
88
- 1.14
9+
pugixml:
10+
- '1.14'
911

10-
cdt_name:
11-
- ${{ "cos7" if linux }}
12+
cdt_name: # [linux]
13+
- conda # [linux]
1214

1315
python:
1416
- 3.11.* *_cpython
1517
python_impl:
1618
- cpython
1719

18-
c_stdlib:
19-
- ${{ "sysroot" if linux }}
20-
- ${{ "macosx_deployment_target" if osx }}
21-
- ${{ "vs" if win }}
22-
c_stdlib_version:
23-
- ${{ "2.17" if linux }}
24-
- ${{ "10.14" if osx and x86_64 }}
25-
- ${{ "11.0" if osx and arm64 }}
2620
c_compiler:
27-
- ${{ "gcc" if linux }}
28-
- ${{ "clang" if osx }}
29-
- ${{ "vs2019" if win }}
21+
- gcc # [linux]
22+
- clang # [osx]
23+
- vs2019 # [win and x86_64]
24+
- vs2022 # [win and arm64]
25+
c_compiler_version: # [unix]
26+
- 13 # [linux]
27+
- 18 # [osx]
28+
c_stdlib:
29+
- sysroot # [linux]
30+
- macosx_deployment_target # [osx]
31+
- vs # [win]
32+
c_stdlib_version: # [unix]
33+
- 2.17 # [linux]
34+
- 10.13 # [osx and x86_64]
35+
- 11.0 # [osx and arm64]
3036
cxx_compiler:
31-
- ${{ "gxx" if linux }}
32-
- ${{ "clangxx" if osx }}
33-
- ${{ "vs2019" if win }}
37+
- gxx # [linux]
38+
- clangxx # [osx]
39+
- vs2019 # [win and x86_64]
40+
- vs2022 # [win and arm64]
41+
cxx_compiler_version: # [unix]
42+
- 13 # [linux]
43+
- 18 # [osx]

env/robostackenv.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@ dependencies:
1414
- rattler-build
1515
- pip
1616
- pip:
17-
- git+https://github.com/RoboStack/vinca.git@rattler-build-humble
17+
- git+https://github.com/RoboStack/vinca.git

patch/dependencies.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ pcl_ros:
4242
add_host: ["REQUIRE_OPENGL", "libboost-devel"]
4343
rviz_rendering:
4444
add_host: ["glew"]
45-
behaviortree_cpp_v3:
46-
add_host: ["libboost-devel", "cppzmq"]
45+
behaviortree_cpp:
46+
add_host: ["libboost-devel", "cppzmq", "zeromq", "sqlite"]
4747
add_run: ["libboost"]
4848
plotjuggler:
4949
add_host: ["libxcb", "${{ 'elfutils' if linux }}", "ros-jazzy-ros-workspace"]
@@ -157,7 +157,7 @@ rqt_image_overlay:
157157
add_host: ["REQUIRE_OPENGL"]
158158
slam_toolbox:
159159
add_build: ["${{ 'qt-main' if (build_platform != target_platform) }}"]
160-
add_host: ["REQUIRE_OPENGL"]
160+
add_host: ["REQUIRE_OPENGL", "blas-devel"]
161161
vision_msgs_rviz_plugins:
162162
add_build: ["${{ 'qt-main' if (build_platform != target_platform) }}"]
163163
add_host: ["REQUIRE_OPENGL"]

patch/ros-jazzy-angles.win.patch

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
diff --git a/CMakeLists.txt b/CMakeLists.txt
2+
index f909972..5b6b6e8 100644
3+
--- a/CMakeLists.txt
4+
+++ b/CMakeLists.txt
5+
@@ -19,3 +19,6 @@ find_package(ament_cmake REQUIRED)
6+
+if(WIN32)
7+
+ target_compile_definitions(angles INTERFACE _USE_MATH_DEFINES)
8+
+endif()
9+
10+
if(BUILD_TESTING)
11+
find_package(ament_cmake_gtest REQUIRED)
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
diff --git a/cmake/ament_build.cmake b/cmake/ament_build.cmake
2+
index 55c3011b2..152268032 100644
3+
--- a/cmake/ament_build.cmake
4+
+++ b/cmake/ament_build.cmake
5+
@@ -10,7 +10,10 @@ if(BTCPP_SQLITE_LOGGING)
6+
find_package(SQLite3 REQUIRED)
7+
endif()
8+
9+
-find_package(ament_index_cpp REQUIRED)
10+
+find_package(ament_index_cpp REQUIRED)
11+
+
12+
+set(BTCPP_EXTRA_INCLUDE_DIRS ${ZeroMQ_INCLUDE_DIRS}
13+
+ ${SQLite3_INCLUDE_DIRS})
14+
15+
set( BTCPP_EXTRA_LIBRARIES
16+
$<BUILD_INTERFACE:ament_index_cpp::ament_index_cpp>
17+
@@ -26,6 +29,7 @@ set( BTCPP_BIN_DESTINATION bin )
18+
19+
mark_as_advanced(
20+
BTCPP_EXTRA_LIBRARIES
21+
+ BTCPP_EXTRA_INCLUDE_DIRS
22+
BTCPP_LIB_DESTINATION
23+
BTCPP_INCLUDE_DESTINATION
24+
BTCPP_BIN_DESTINATION )
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
From 791d063ea62837e86831b7b4dda48b22e680d8cc Mon Sep 17 00:00:00 2001
2+
From: Christoph Froehlich <[email protected]>
3+
Date: Mon, 25 Nov 2024 20:11:09 +0000
4+
Subject: [PATCH] Export symbols on windows
5+
6+
---
7+
CMakeLists.txt | 9 +++++++--
8+
1 file changed, 7 insertions(+), 2 deletions(-)
9+
10+
diff --git a/CMakeLists.txt b/CMakeLists.txt
11+
index cc1f551..30f4bad 100644
12+
--- a/CMakeLists.txt
13+
+++ b/CMakeLists.txt
14+
@@ -7,11 +7,16 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang)")
15+
endif()
16+
17+
if(WIN32)
18+
- # Enable Math Constants
19+
- # https://docs.microsoft.com/en-us/cpp/c-runtime-library/math-constants?view=vs-2019
20+
add_compile_definitions(
21+
+ # For math constants
22+
+ # https://docs.microsoft.com/en-us/cpp/c-runtime-library/math-constants?view=vs-2019
23+
_USE_MATH_DEFINES
24+
+ # Minimize Windows namespace collision
25+
+ NOMINMAX
26+
+ WIN32_LEAN_AND_MEAN
27+
)
28+
+ # set the same behavior for windows as it is on linux
29+
+ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
30+
endif()
31+
32+
set(THIS_PACKAGE_INCLUDE_DEPENDS
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
diff --git a/diagnostic_aggregator/CMakeLists.txt b/diagnostic_aggregator/CMakeLists.txt
2+
index 6014edf3..bbcee116 100644
3+
--- a/diagnostic_aggregator/CMakeLists.txt
4+
+++ b/diagnostic_aggregator/CMakeLists.txt
5+
@@ -6,3 +6,4 @@ endif()
6+
+set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
7+
8+
find_package(ament_cmake REQUIRED)
9+
find_package(diagnostic_msgs REQUIRED)
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
diff --git a/diagnostic_updater/CMakeLists.txt b/diagnostic_updater/CMakeLists.txt
2+
index eafa9891..9199df0d 100644
3+
--- a/diagnostic_updater/CMakeLists.txt
4+
+++ b/diagnostic_updater/CMakeLists.txt
5+
@@ -6,3 +6,4 @@ endif()
6+
+set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
7+
8+
find_package(ament_cmake REQUIRED)
9+
find_package(ament_cmake_ros REQUIRED)

0 commit comments

Comments
 (0)