-
Notifications
You must be signed in to change notification settings - Fork 1
/
pixi.toml
86 lines (69 loc) · 2.77 KB
/
pixi.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# Pixi is a package management tool for developers.
# Before running a task, pixi ensures that all listed dependencies are installed first.echop
#
# Pixi is not required for rerun, but it is a convenient way to install the
# dependencies required for this example.
#
# https://prefix.dev/docs/pixi/overview
#
# Use `pixi task list` to list the available tasks,
# and `pixi run TASK` to run it (e.g. `pixi run example`).
[project]
name = "rerun_cpp_example_vrs"
authors = ["rerun.io <[email protected]>"]
channels = ["conda-forge"]
description = "Use the Rerun C++ SDK together with VRS"
homepage = "https://rerun.io"
license = "MIT OR Apache-2.0"
# Note that VRS has no Windows build instructionas as of yet.
# See https://github.com/facebookresearch/vrs?tab=readme-ov-file#windows-support
platforms = ["linux-64", "osx-arm64", "osx-64"]
readme = "README.md"
repository = "https://github.com/rerun-io/cpp-example-vrs"
version = "0.1.0"
[tasks]
# Note: extra CLI argument after `pixi run TASK` are passed to the task cmd.
# ------------------------------------------------------------------------------------------
# C++ stuff:
# Clean C++ build artifacts
clean = { cmd = "rm -rf build bin CMakeFiles/" }
print-env = { cmd = "echo $PATH" }
prepare = "cmake -G 'Ninja' -B build -S . -DCMAKE_BUILD_TYPE=RelWithDebInfo"
# Build C++ example
build = { cmd = "cmake --build build --config RelWithDebInfo --target all", depends_on = [
"prepare",
] }
# Run C++ example
example = { cmd = "build/rerun_vrs_example", depends_on = ["build"] }
# Format C++ code
cpp-fmt = { cmd = "clang-format -i src/*.[hc]pp" }
# Check formatting of C++ code
cpp-fmt-check = { cmd = "clang-format --dry-run --Werror -i src/*.[hc]pp" }
# ------------------------------------------------------------------------------------------
# Python stuff:
# Run first ruff fix, then ruff format, order is important see also https://twitter.com/charliermarsh/status/1717229721954799727
py-fmt = "ruff check --fix --config pyproject.toml . && ruff format --config pyproject.toml ."
py-fmt-check = "ruff format --check --config pyproject.toml"
py-lint = "mypy --install-types --non-interactive --no-warn-unused-ignore"
[dependencies]
# C++ build-tools:
boost = "1.84.0.*"
cmake = "3.27.6"
clang-tools = ">=15,<16" # clang-format
cxx-compiler = "1.6.0.*"
ninja = "1.11.1"
# Required by this example:
fmt = "10.1.1.*"
gtest = "1.14.0"
libjpeg-turbo = "2.1.4.*"
libpng = "1.6.39.*"
lz4 = "4.3.2.*"
portaudio = "19.6.0.*"
xxhash = "0.8.2"
zlib = "1.2.13.*"
# Python stuff:
mypy = "1.8.0"
ruff = "0.3.7"
types-requests = ">=2.31,<3" # mypy type hint stubs for generate_changelog.py
[target.linux-64.dependencies]
sysroot_linux-64 = ">=2.17,<3" # rustc 1.78+ requires glibc 2.17+, see https://blog.rust-lang.org/2022/08/01/Increasing-glibc-kernel-requirements.html