Skip to content

Commit 1c898c9

Browse files
LimHyungTaeclaude
andcommitted
Fix CI failures: ROBIN dependency management and Python wheel builds
Major fixes: - Fixed ROBIN FetchContent configuration using FetchContent_MakeAvailable() - Set USE_SYSTEM_ROBIN=OFF across all workflows for consistent bundled builds - Simplified Python wheel environment variables and build dependencies - Removed lint workflow as requested (too subtle) - Updated pyproject.toml with proper scikit-build-core configuration Changes: - robin.cmake: Use GIT_REPOSITORY with FetchContent_MakeAvailable() - ci-cpp.yml: Set ROBIN to OFF for all platforms - ci-python.yml: Simplified cibuildwheel configuration, removed system deps - ci-ros2.yml: Updated ROBIN setting for consistency - pyproject.toml: Added cmake.source-dir and build args This should resolve the build failures and enable `pip install kiss_matcher` 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent 569db77 commit 1c898c9

File tree

6 files changed

+48
-262
lines changed

6 files changed

+48
-262
lines changed

.github/workflows/ci-cpp.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ jobs:
105105
-DUSE_CCACHE=ON \
106106
-DUSE_SYSTEM_EIGEN3=ON \
107107
-DUSE_SYSTEM_TBB=ON \
108-
-DUSE_SYSTEM_ROBIN=ON
108+
-DUSE_SYSTEM_ROBIN=OFF
109109
110110
- name: Configure CMake (Windows)
111111
if: runner.os == 'Windows'
@@ -118,7 +118,7 @@ jobs:
118118
-DUSE_CCACHE=OFF `
119119
-DUSE_SYSTEM_EIGEN3=OFF `
120120
-DUSE_SYSTEM_TBB=OFF `
121-
-DUSE_SYSTEM_ROBIN=ON
121+
-DUSE_SYSTEM_ROBIN=OFF
122122
123123
- name: Build C++ Core
124124
run: cmake --build build --config Release --parallel
@@ -192,7 +192,7 @@ jobs:
192192
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
193193
-DUSE_SYSTEM_EIGEN3=ON \
194194
-DUSE_SYSTEM_TBB=ON \
195-
-DUSE_SYSTEM_ROBIN=ON
195+
-DUSE_SYSTEM_ROBIN=OFF
196196
cmake --build build/core --config Release --parallel
197197
198198
- name: Install KISS-Matcher Core

.github/workflows/ci-python.yml

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -86,42 +86,34 @@ jobs:
8686
# Skip 32-bit builds and PyPy
8787
CIBW_SKIP: "*-win32 *-manylinux_i686 pp*"
8888

89-
# Linux specific settings
89+
# Linux specific settings (manylinux containers use yum)
9090
CIBW_BEFORE_BUILD_LINUX: |
91-
yum install -y epel-release centos-release-scl devtoolset-11 &&
92-
yum install -y devtoolset-11-gcc-c++ cmake3 ninja-build ccache eigen3-devel tbb-devel lz4-devel &&
93-
ln -sf /usr/bin/cmake3 /usr/bin/cmake
91+
yum install -y git cmake3 ninja-build
92+
ln -sf /usr/bin/cmake3 /usr/bin/cmake || true
9493
9594
# macOS specific settings
9695
CIBW_BEFORE_BUILD_MACOS: |
97-
brew install cmake ninja ccache eigen tbb lz4
96+
brew install git cmake ninja
9897
9998
# Windows specific settings
10099
CIBW_BEFORE_BUILD_WINDOWS: |
101-
choco install cmake ninja ccache
100+
choco install git cmake ninja
102101
103-
# Set environment variables for ccache
102+
# Set build environment variables
104103
CIBW_ENVIRONMENT_LINUX: >
105-
CMAKE_C_COMPILER_LAUNCHER=ccache
106-
CMAKE_CXX_COMPILER_LAUNCHER=ccache
107-
USE_CCACHE=ON
108-
USE_SYSTEM_EIGEN3=ON
109-
USE_SYSTEM_TBB=ON
110-
USE_SYSTEM_ROBIN=ON
104+
USE_SYSTEM_EIGEN3=OFF
105+
USE_SYSTEM_TBB=OFF
106+
USE_SYSTEM_ROBIN=OFF
111107
112108
CIBW_ENVIRONMENT_MACOS: >
113-
CMAKE_C_COMPILER_LAUNCHER=ccache
114-
CMAKE_CXX_COMPILER_LAUNCHER=ccache
115-
USE_CCACHE=ON
116-
USE_SYSTEM_EIGEN3=ON
117-
USE_SYSTEM_TBB=ON
118-
USE_SYSTEM_ROBIN=ON
109+
USE_SYSTEM_EIGEN3=OFF
110+
USE_SYSTEM_TBB=OFF
111+
USE_SYSTEM_ROBIN=OFF
119112
120113
CIBW_ENVIRONMENT_WINDOWS: >
121-
USE_CCACHE=OFF
122114
USE_SYSTEM_EIGEN3=OFF
123115
USE_SYSTEM_TBB=OFF
124-
USE_SYSTEM_ROBIN=ON
116+
USE_SYSTEM_ROBIN=OFF
125117
126118
# Test command
127119
CIBW_TEST_COMMAND: "python -c \"import kiss_matcher; print('Kiss-Matcher Python binding imported successfully')\""

.github/workflows/ci-ros2.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ jobs:
101101
-DUSE_CCACHE=ON \
102102
-DUSE_SYSTEM_EIGEN3=ON \
103103
-DUSE_SYSTEM_TBB=ON \
104-
-DUSE_SYSTEM_ROBIN=ON \
104+
-DUSE_SYSTEM_ROBIN=OFF \
105105
--parallel-workers $(nproc)
106106
107107
- name: Build ROS2 wrapper

.github/workflows/lint.yml

Lines changed: 0 additions & 228 deletions
This file was deleted.

cpp/kiss_matcher/3rdparty/robin/robin.cmake

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,23 @@
2525
option(PMC_BUILD_SHARED "Build pmc as a shared library (.so)" OFF)
2626

2727
include(FetchContent)
28-
FetchContent_Declare(robin URL https://github.com/MIT-SPARK/ROBIN/archive/refs/tags/v.1.2.4.tar.gz)
29-
FetchContent_GetProperties(robin)
30-
if(NOT robin)
31-
FetchContent_Populate(robin)
28+
FetchContent_Declare(
29+
robin
30+
GIT_REPOSITORY https://github.com/MIT-SPARK/ROBIN.git
31+
GIT_TAG v.1.2.4
32+
GIT_SHALLOW TRUE
33+
)
34+
35+
FetchContent_MakeAvailable(robin)
36+
37+
# Ensure ROBIN is treated as a system library to avoid warnings
38+
if(TARGET robin)
3239
if(${CMAKE_VERSION} GREATER_EQUAL 3.25)
33-
add_subdirectory(${robin_SOURCE_DIR} ${robin_BINARY_DIR} SYSTEM EXCLUDE_FROM_ALL)
40+
# CMake 3.25+ has built-in system include support
41+
get_target_property(robin_include_dirs robin INTERFACE_INCLUDE_DIRECTORIES)
42+
set_target_properties(robin PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${robin_include_dirs}")
3443
else()
35-
# Emulate the SYSTEM flag introduced in CMake 3.25. Withouth this flag the compiler will
36-
# consider this 3rdparty headers as source code and fail due the -Werror flag.
37-
add_subdirectory(${robin_SOURCE_DIR} ${robin_BINARY_DIR} EXCLUDE_FROM_ALL)
44+
# For older CMake versions, manually set as system includes
3845
get_target_property(robin_include_dirs robin INTERFACE_INCLUDE_DIRECTORIES)
3946
set_target_properties(robin PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${robin_include_dirs}")
4047
endif()

python/pyproject.toml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
[build-system]
2-
requires = ["scikit_build_core", "pybind11"]
2+
requires = [
3+
"scikit-build-core>=0.5.0",
4+
"pybind11>=2.10.0",
5+
"cmake>=3.24",
6+
"ninja"
7+
]
38
build-backend = "scikit_build_core.build"
49

510
[project]
@@ -38,3 +43,13 @@ dependencies = [
3843

3944
[tool.scikit-build]
4045
wheel.packages = ["kiss_matcher"]
46+
cmake.source-dir = "../cpp/kiss_matcher"
47+
cmake.build-type = "Release"
48+
cmake.args = [
49+
"-DUSE_SYSTEM_EIGEN3=OFF",
50+
"-DUSE_SYSTEM_TBB=OFF",
51+
"-DUSE_SYSTEM_ROBIN=OFF"
52+
]
53+
cmake.define = {
54+
CMAKE_CXX_STANDARD = "17"
55+
}

0 commit comments

Comments
 (0)