Repository navigation
Expand file tree
/
Copy pathmcpp.toml
More file actions
88 lines (73 loc) · 3.21 KB
/
Copy pathmcpp.toml
File metadata and controls
88 lines (73 loc) · 3.21 KB
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
# mcpp-ide: the IDE backend for mcpp (one C++ program, `mcpp-ide serve`, JSON-RPC
# on its standard streams), the shared panels, and the editor adapters that host
# it (mide-plugins/: vscode, clion, nvim). This file builds the backend.
#
# The operating system is reached through mcpplibs.os (processes, the
# environment, the standard streams, a request to end), which is openkal
# beneath: the backend names no system header and no platform macro, and the
# same source builds for a system (M1) and as an ok image (`<arch>-openkal`,
# M2/M3), where the system it runs upon is answered when the image is loaded.
[package]
name = "mcpp-ide"
version = "1.2.1"
description = "The IDE backend for mcpp: sessions, jobs, records and view models over mcpp's control contract"
license = "Apache-2.0"
authors = ["mcpp-community"]
repo = "https://github.com/mcpp-community/mcpp-ide"
mcpp = ">=2026.11.7.1"
[language]
standard = "c++23"
modules = true
import_std = true
# As mcpp itself builds: GCC on Linux, the xlings LLVM on macOS and Windows, each for its own
# system. Stated per target system, so a target whose platform states its toolchain -- the ok
# images the editor packages carry (`<arch>-openkal`, openkal-platform's llvm) -- takes it.
[target.'cfg(linux)']
toolchain = "[email protected]"
[target.'cfg(macos)']
toolchain = "[email protected]"
[target.'cfg(windows)']
toolchain = "[email protected]"
# The platform of the editor payloads, one release (design 2026-11-07, D20): the backend each version
# ships is built over one version group. The platform supplies the image toolchain, hardening, seal
# and runner; 0.24.4 names OpenKal 0.24, musl 0.28.1, runtime 0.19.2 and image 0.5.3, whose okrun
# enters an image in its convention's floating-point state.
[target.'cfg(os = "openkal")']
platform = "[email protected]"
# An arm64 Linux machine's own programs: the xlings gcc payload has no aarch64-hosted C++ frontend.
[target.aarch64-linux-gnu]
toolchain = "[email protected]"
[target.x86_64-linux-musl]
linkage = "static"
[target.aarch64-linux-musl]
linkage = "static"
[build]
sources = ["src/*.cppm"]
macos_deployment_target = "12.0"
[targets.mcpp-ide]
kind = "bin"
main = "src/main.cpp"
# Stands in for mcpp in the tests: answers the control contract from the
# golden fixtures under protocol/fixtures.
[targets.mcpp-ide-mock-mcpp]
kind = "bin"
main = "src/bin/mockmcpp.cpp"
# Stands in for mcppls in the tests: its version and `mcppls status`.
[targets.mcpp-ide-mock-mcppls]
kind = "bin"
main = "src/bin/mockmcppls.cpp"
# The repository's tools: fixture capture, the editors' declarations from spec/, the i18n check.
[targets.mcpp-ide-dev]
kind = "bin"
main = "src/bin/dev.cpp"
# Each dependency is one release, named by its identity (namespace, then name).
[dependencies]
# 0.3.1 reads a name in Windows' long spelling as the name it spells. The image C library, C++
# runtime and loader remain the platform's.
mcpplibs.os = "0.4.0"
nlohmann.json = "3.12.0"
# mtest's static case manifest: the cases a test file declares, read as mtest reads them.
mcpplibs.mtest.manifest = "0.4.1"
# What every backend test shares (testsupport/): a module, as the backend's units are.
[dev-dependencies]
mcpp-ide-testsupport = { path = "testsupport" }