Repository navigation
Expand file tree
/
Copy pathmcpp.toml
More file actions
71 lines (58 loc) · 2.33 KB
/
Copy pathmcpp.toml
File metadata and controls
71 lines (58 loc) · 2.33 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
# 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 = "0.1.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.10.27.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 = "gcc@16.1.0"
[target.'cfg(macos)']
toolchain = "llvm@23.1.3"
[target.'cfg(windows)']
toolchain = "llvm@23.1.3"
# An arm64 Linux machine's own programs: the xlings gcc payload has no aarch64-hosted C++ frontend.
[target.aarch64-linux-gnu]
toolchain = "llvm@23.1.3"
[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"
# 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"
[dependencies.mcpplibs]
# os 0.2.1: an ok image's C library, C++ run-time and loader are its platform's, so the package
# declares no openkal-tools of its own beside the platform's.
os = "0.2.1"
[dependencies.nlohmann]
json = "3.12.0"