-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmcpp.toml
More file actions
44 lines (41 loc) · 2.18 KB
/
Copy pathmcpp.toml
File metadata and controls
44 lines (41 loc) · 2.18 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
# godot-cpp-m -- godot-cpp as a C++23 module.
#
# This package is ONLY the module layer. Upstream's sources and its
# pre-generated GDExtension bindings arrive through the compat.godot-cpp index
# package, which compiles them (1022 TUs) as an ordinary mcpp source package.
# The version TRACKS UPSTREAM: 4.5.0 is the godot-cpp / Godot release this
# wraps, the same version compat.godot-cpp carries. A module layer that only
# re-exports an API has no version of its own worth inventing -- what a
# consumer needs to know from the version is which Godot it targets.
#
# The NAME is `godot-cpp-m`, not `godot-cpp`, and that is load-bearing: this
# package and its own compat.godot-cpp dependency are always resolved
# together, and mcpp's installed-package lookup matches on (name, version)
# without the namespace -- two packages sharing both would have this one
# resolve to the other's unpacked directory and fail with "no mcpp.toml at
# <verdir>/*/mcpp.toml". Distinct short names sidestep it, and `-m` matches
# the repository name.
[package]
name = "godot-cpp-m"
version = "10.0.0-rc1"
description = "godot-cpp as a C++23 module (import godot_cpp;) on top of the compat.godot-cpp source build"
license = "MIT"
repo = "https://github.com/mcpplibs/godot-cpp-m"
platforms = ["linux", "macos", "windows"]
[targets.godot-cpp-m]
kind = "lib"
[build]
sources = ["src/**/*.cppm"]
include_dirs = ["include"]
# godot-cpp's headers reach the module through its global module fragment, and
# several of their helpers are `static` (make_property_info, the hash_* family,
# fastmod, ...). Inline/template definitions that call those are reachable from
# the module, which GCC 16 reports as -Wexpose-global-module-tu-local -- ~3300
# times, once per instantiation, while compiling this single interface unit.
# The exposure is upstream's shape, not something the wrapper can express its
# way out of, so silence the class rather than drown every build in it. Clang
# does not have the warning and merely notes the unknown -Wno- option.
cxxflags = ["-Wno-expose-global-module-tu-local"]
[dependencies]
# Upstream tree + pre-generated bindings + the whole source build recipe.
compat.godot-cpp = "10.0.0-rc1"