forked from alphaville/optimization-engine
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
141 lines (112 loc) · 4.16 KB
/
Cargo.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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# --------------------------------------------------------------------------
# P.A.C.K.A.G.E. I.N.F.O
# --------------------------------------------------------------------------
[package]
# Authors of this package
authors = [
"Emil Fresk <[email protected]>",
"Pantelis Sopasakis (https://alphaville.github.io)",
]
# Crate categories (chosed from a list of valid categories at https://crates.io/categories)
categories = [
"embedded",
"algorithms",
"science::robotics",
"development-tools",
"simulation",
]
# Keywords
keywords = ["embedded", "optimization", "solver", "NMPC", "MPC"]
# Short description
description = "A pure Rust framework for embedded nonconvex optimization. Ideal for robotics!"
# This is the API documentation
documentation = "https://docs.rs/optimization_engine"
# Licenses
license = "MIT OR Apache-2.0"
# README file
readme = "README.md"
# Name of this crate
name = "optimization_engine"
# Homepage
homepage = "https://alphaville.github.io/optimization-engine/"
# Link to github repo
repository = "https://github.com/alphaville/optimization-engine"
# Version of this crate (SemVer)
version = "0.7.7"
edition = "2018"
# change this to `true` if you want to publish the crate; this is done as a
# safety measure. Before you publish, make sure that:
# - You have updated the version (SemVer)
# - You have updated the documentation
# - You have checked the exclude list below
# - All tests pass
#After you publish:
# - Update the webpage (e.g., make a blog post)
publish = true
exclude = [
"design/*",
"docs/*",
"icasadi/*",
"matlab/*",
"open-clib/*",
"open-codegen/*",
"website/*",
]
# --------------------------------------------------------------------------
# D.O.C.S
# --------------------------------------------------------------------------
[package.metadata.docs.rs]
rustdoc-args = ["--html-in-header", "katex-header.html"]
# --------------------------------------------------------------------------
# D.E.P.E.N.D.E.N.C.I.E.S
# --------------------------------------------------------------------------
[dependencies]
num = "0.4.0"
# Our own stuff - L-BFGS: limited-memory BFGS directions
lbfgs = "0.2"
# Instant is a generic timer that works on Wasm (with wasm-bindgen)
instant = { version = "0.1" }
# Wasm-bindgen is only activated if OpEn is compiled with `--features wasm`
wasm-bindgen = { version = "0.2.74", optional = true }
# sc-allocator provides an implementation of a bump allocator
rpmalloc = { version = "0.2.0", features = [
"guards",
"statistics",
], optional = true }
# jemallocator is an optional feature; it will only be loaded if the feature
# `jem` is used (i.e., if we compile with `cargo build --features jem`)
[target.'cfg(not(target_env = "msvc"))'.dependencies]
jemallocator = { version = "0.5.0", optional = true }
# --------------------------------------------------------------------------
# F.E.A.T.U.R.E.S.
# --------------------------------------------------------------------------
[features]
# Use `jemallocator` as a global memory allocator (requires the dependency
# `jemallocator` - see above)
jem = ["jemallocator"]
# RPMalloc
rp = ["rpmalloc"]
# WebAssembly
wasm = ["wasm-bindgen", "instant/wasm-bindgen", "instant/inaccurate"]
# --------------------------------------------------------------------------
# T.E.S.T. D.E.P.E.N.D.E.N.C.I.E.S
# --------------------------------------------------------------------------
# These dependencies are only used for testing
[dev-dependencies]
unit_test_utils = "0.1.3"
# Note: path dependencies (even dev-dependencies) cannot be local in order
# to publish a crate, so the following line can only be used when
# testing locally
# icasadi_test = { path = "test/icasadi_test/" }
# instead, use:
icasadi_test = "0.0.2"
# Random number generators for unit tests:
rand = "0.8"
# --------------------------------------------------------------------------
# B.A.D.G.E.S.
# --------------------------------------------------------------------------
[badges]
# Travis "build-passing" badge
travis-ci = { repository = "alphaville/optimization-engine", branch = "master" }
# Actively maintained badge
maintenance = { status = "actively-developed" }