-
Notifications
You must be signed in to change notification settings - Fork 11
/
pixi.toml
115 lines (102 loc) · 3.34 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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
[project]
name = "proxsuite-nlp"
version = "0.10.0"
description = "A primal-dual augmented Lagrangian-type solver for nonlinear programming on manifolds"
channels = ["conda-forge"]
platforms = ["linux-64", "osx-64", "osx-arm64", "win-64"]
license = "BSD-2-Clause"
license-file = "LICENSE"
[build-dependencies]
ccache = ">=4.9.1"
cmake = ">=3.10"
cxx-compiler = ">=1.7.0"
ninja = ">=1.11"
pkg-config = ">=0.29.2"
[dependencies]
libboost-devel = ">=1.80.0"
libboost-python-devel = ">=1.80.0"
eigen = ">=3.4.0"
python = ">=3.9.0"
eigenpy = ">=3.8.0"
fmt = ">=9.1.0"
benchmark = ">=1.8.0"
pytest = ">=8.3.0"
matplotlib-base = ">=3.9.0"
typed-argument-parser = ">=1.10.0"
meshcat-python = ">=0.3"
[activation]
scripts = ["build_scripts/pixi/activation.sh"]
[target.win-64.activation]
scripts = ["build_scripts/pixi/activation.bat"]
[tasks]
# We must avoid to set CMAKE_CXX_FLAGS because of WIN32
# https://discourse.cmake.org/t/strictly-appending-to-cmake-lang-flags/6478
configure = { cmd = [
"CXXFLAGS=$PROXSUITE_NLP_CXX_FLAGS",
"cmake",
"-G",
"Ninja",
"-B",
"build",
"-S",
".",
"-DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX",
"-DCMAKE_BUILD_TYPE=$PROXSUITE_NLP_BUILD_TYPE",
"-DGENERATE_PYTHON_STUBS=$PROXSUITE_NLP_PYTHON_STUBS",
"-DBUILD_BENCHMARK=$PROXSUITE_NLP_BENCHMARK",
"-DBUILD_EXAMPLES=$PROXSUITE_NLP_EXAMPLES",
"-DBUILD_WITH_PINOCCHIO_SUPPORT=$PROXSUITE_NLP_PINOCCHIO_SUPPORT",
"-DBUILD_WITH_PROXSUITE_SUPPORT=$PROXSUITE_NLP_PROXSUITE_SUPPORT",
] }
build = { cmd = "cmake --build build --target all", depends_on = ["configure"] }
clean = { cmd = "rm -rf build" }
test = { cmd = "ctest --test-dir build --output-on-failure", depends_on = [
"build",
] }
[feature.lint]
dependencies = { pre-commit = ">=3.6.2" }
tasks = { lint = { cmd = "pre-commit run --all" } }
[feature.pinocchio]
dependencies = { pinocchio = ">=3.0.0", example-robot-data = ">=4.1.0" }
activation = { env = { PROXSUITE_NLP_PINOCCHIO_SUPPORT = "ON" } }
# Proxsuite doesn't build on Windows (CL)
[feature.proxsuite]
[feature.proxsuite.target.unix]
dependencies = { proxsuite = ">=0.6.0" }
activation = { env = { PROXSUITE_NLP_PROXSUITE_SUPPORT = "ON" } }
[feature.py312.dependencies]
python = "3.12.*"
[feature.py39.dependencies]
python = "3.9.*"
# Use clang-cl on Windows.
# We must use scripts instead of env to setup CC and CXX
# to avoid cxx-compiler to overwrite them.
[feature.clang-cl]
platforms = ["win-64"]
activation = { scripts = ["build_scripts/pixi/activation_clang_cl.bat"] }
# Use clang on GNU/Linux.
# We must use scripts instead of env to setup CC and CXX
# to avoid cxx-compiler to overwrite them.
[feature.clang]
platforms = ["linux-64"]
activation = { scripts = ["build_scripts/pixi/activation_clang.sh"] }
dependencies = { clangxx = "*" }
[environments]
default = { features = ["py312"], solve-group = "py312" }
clang = { features = ["clang", "py312"] }
lint = { features = ["lint"], solve-group = "py312" }
pinocchio = { features = ["pinocchio", "py312"], solve-group = "py312" }
proxsuite = { features = ["proxsuite", "py312"], solve-group = "py312" }
py39 = { features = ["py39"], solve-group = "py39" }
all = { features = ["pinocchio", "proxsuite", "py312"], solve-group = "py312" }
all-py39 = { features = [
"pinocchio",
"proxsuite",
"py39",
], solve-group = "py39" }
all-clang-cl = { features = [
"pinocchio",
"proxsuite",
"clang-cl",
"py312",
], solve-group = "py312" }