Skip to content

Commit 9f43de0

Browse files
authored
Merge branch 'main' into lbvh
2 parents 44203bc + 42cf86e commit 9f43de0

File tree

161 files changed

+25207
-356
lines changed

Some content is hidden

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

161 files changed

+25207
-356
lines changed

.clang-tidy

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
Checks: >
2+
-*,
3+
4+
# Standard C++ Guidelines (Modernization, Idioms)
5+
modernize-*,
6+
performance-*,
7+
readability-*,
8+
9+
# Bug Detection and Safety
10+
bugprone-*,
11+
# misc-const-correctness,
12+
13+
# Specific high-value checks (even if not in a group above)
14+
google-runtime-int,
15+
cppcoreguidelines-pro-type-member-init,
16+
17+
# Exclusions/Suppressions (Checks often considered too aggressive or subjective)
18+
-bugprone-throwing-static-initialization,
19+
-cppcoreguidelines-owning-memory,
20+
-modernize-use-trailing-return-type,
21+
-readability-avoid-const-params-in-decls,
22+
-readability-avoid-nested-conditional-operator,
23+
-readability-container-contains,
24+
-readability-else-after-return,
25+
-readability-function-cognitive-complexity,
26+
-readability-identifier-length,
27+
-readability-implicit-bool-conversion,
28+
-readability-isolate-declaration,
29+
-readability-magic-numbers,
30+
-readability-math-missing-parentheses,
31+
-readability-redundant-access-specifiers,
32+
-readability-uppercase-literal-suffix,
33+
-readability-function-size,
34+
-readability-convert-member-functions-to-static
35+
36+
WarningsAsErrors: '*'
37+
HeaderFilterRegex: '.*(ipc/).*'
38+
UseColor: true
39+
FormatStyle: file
40+
ExtraArgs:
41+
- '-isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk'
42+
CheckOptions:
43+
readability-identifier-naming.ClassCase: CamelCase
44+
readability-identifier-naming.ConstantParameterCase: lower_case
45+
readability-identifier-naming.ConstantParameterIgnoredRegexp: '^(_.*)$'
46+
readability-identifier-naming.FunctionCase: lower_case
47+
readability-identifier-naming.FunctionIgnoredRegexp: '^(AbslHashValue|.*[123][Ddf].*)$'
48+
readability-identifier-naming.GlobalConstantCase: UPPER_CASE
49+
readability-identifier-naming.MemberCase: lower_case
50+
readability-identifier-naming.MemberIgnoredRegexp: '^([A-Z])$'
51+
readability-identifier-naming.MethodCase: lower_case
52+
readability-identifier-naming.MethodIgnoredRegexp: '^(.*[123][Ddf].*)$'
53+
readability-identifier-naming.ParameterIgnoredRegexp: '^(_.*)$'
54+
readability-identifier-naming.StructCase: CamelCase
55+
readability-identifier-naming.VariableCase: aNy_CasE
56+
readability-identifier-naming.VariableIgnoredRegexp: '^(_.*)$'
57+
readability-identifier-naming.EnumCase: CamelCase
58+
readability-identifier-naming.EnumConstantCase: UPPER_CASE
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Clang-Tidy Check
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
paths:
8+
- '.github/workflows/clang-tidy-check.yml'
9+
- '.clang-tidy'
10+
- 'src/**'
11+
12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.ref }}
14+
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
15+
16+
jobs:
17+
clang-tidy:
18+
name: Run Clang-Tidy
19+
runs-on: ubuntu-latest
20+
21+
steps:
22+
- name: Checkout code
23+
uses: actions/checkout@v4
24+
25+
- name: Install dependencies
26+
run: |
27+
sudo apt-get update
28+
sudo apt-get install -y clang-tidy cmake build-essential
29+
30+
- name: Get number of CPU cores
31+
uses: SimenB/[email protected]
32+
id: cpu-cores
33+
34+
- name: Configure CMake
35+
run: |
36+
mkdir -p build
37+
cd build
38+
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..
39+
40+
- name: Run Clang-Tidy
41+
run: |
42+
run-clang-tidy -quiet -j ${{ steps.cpu-cores.outputs.count }} -p build $(find src -name '*.cpp')

.github/workflows/coverage.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ jobs:
7272
lcov --remove coverage.info --ignore-errors unused '/usr/*' "$HOME/.cache/*" "*tests/*" --output-file coverage.info
7373
7474
- name: Upload coverage reports to Codecov
75-
uses: codecov/codecov-action@v3.1.6
75+
uses: codecov/codecov-action@v5.5.1
7676
with:
7777
fail_ci_if_error: true
7878
files: build/coverage.info

.github/workflows/pypi.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ jobs:
9191
merge-multiple: true
9292
path: dist
9393

94-
- uses: pypa/gh-action-pypi-publish@v1.12.4
94+
- uses: pypa/gh-action-pypi-publish@v1.13.0
9595
with:
9696
user: __token__
9797
# To test:

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
repos:
22
- repo: https://github.com/pre-commit/mirrors-clang-format
3-
rev: v14.0.0
3+
rev: v21.1.2
44
hooks:
55
- id: clang-format
66
name: clang-format
77
description: "Use clang-format to format C/C++ code"
8-
entry: clang-format-20
8+
entry: clang-format
99
args:
1010
- --style=file
1111
- --verbose

CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,11 @@ target_link_libraries(ipc_toolkit PRIVATE simple_bvh::simple_bvh)
177177
include(spdlog)
178178
target_link_libraries(ipc_toolkit PUBLIC spdlog::spdlog)
179179

180+
# TinyAD
181+
include(tinyad)
182+
# TODO: Make this a private dependency once we stop exposing TinyAD types in the public API.
183+
target_link_libraries(ipc_toolkit PUBLIC TinyAD::TinyAD)
184+
180185
# CCD
181186
if(IPC_TOOLKIT_WITH_INEXACT_CCD)
182187
# Etienne Vouga's CTCD Library for the floating point root finding algorithm

cmake/ipc_toolkit/ipc_toolkit_tests_data.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ else()
3030
SOURCE_DIR ${IPC_TOOLKIT_TESTS_DATA_DIR}
3131

3232
GIT_REPOSITORY https://github.com/ipc-sim/ipc-toolkit-tests-data.git
33-
GIT_TAG 0c6ce752d020db32f62da37d7b8ca9f73c204b36
33+
GIT_TAG 7ca6db695adcc00d3d6d978767dfc0d81722a515
3434

3535
CONFIGURE_COMMAND ""
3636
BUILD_COMMAND ""

cmake/recipes/scalable_ccd.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ message(STATUS "Third-party: creating target 'scalable_ccd::scalable_ccd'")
88

99
include(CPM)
1010
CPMAddPackage(
11-
URI "gh:continuous-collision-detection/scalable-ccd#4fa806f533b19132e696a2dddeab16537025b5f9"
11+
URI "gh:continuous-collision-detection/scalable-ccd#c80af01cab083b3eeb8dac80312ec9cfe479a5cf"
1212
OPTIONS "SCALABLE_CCD_WITH_CUDA ${IPC_TOOLKIT_WITH_CUDA}"
1313
)
1414

cmake/recipes/spdlog.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ option(SPDLOG_INSTALL "Generate the install target" ON)
1010
set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "spdlog")
1111

1212
include(CPM)
13-
CPMAddPackage("gh:gabime/spdlog@1.11.0")
13+
CPMAddPackage("gh:gabime/spdlog@1.15.3")
1414

1515
set_target_properties(spdlog PROPERTIES POSITION_INDEPENDENT_CODE ON)
1616

cmake/recipes/tinyad.cmake

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# TinyAD (https://github.com/patr-schm/tinyad)
2+
# License: MIT
3+
if(TARGET TinyAD::TinyAD)
4+
return()
5+
endif()
6+
7+
message(STATUS "Third-party: creating target 'TinyAD::TinyAD'")
8+
9+
include(CPM)
10+
CPMAddPackage(
11+
URI "gh:zfergus/tinyad#957ede5bcf4b8d924f27230083508c664a9f7a7d"
12+
OPTIONS "TINYAD_PARALLEL_BACKEND onetbb"
13+
)
14+
15+
# Folder name for IDE
16+
set_target_properties(TinyAD PROPERTIES FOLDER "ThirdParty")

0 commit comments

Comments
 (0)