From f2d21bf8a98fe4eb528a077f3faf5d68cd35c244 Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Mon, 21 Mar 2022 16:42:55 -0400 Subject: Make compilers list per subproject Previously subprojects inherited languages already added by main project, or any previous subproject. This change to have a list of compilers per interpreters, which means that if a subproject does not add 'c' language it won't be able to compile .c files any more, even if main project added the 'c' language. This delays processing list of compilers until the interpreter adds the BuildTarget into its list of targets. That way the interpreter can add missing languages instead of duplicating that logic into BuildTarget for the cython case. --- docs/markdown/snippets/per_project_compiler.md | 6 ++++++ docs/yaml/functions/executable.yaml | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 docs/markdown/snippets/per_project_compiler.md (limited to 'docs') diff --git a/docs/markdown/snippets/per_project_compiler.md b/docs/markdown/snippets/per_project_compiler.md new file mode 100644 index 0000000..dcf47a1 --- /dev/null +++ b/docs/markdown/snippets/per_project_compiler.md @@ -0,0 +1,6 @@ +## Per-subproject languages + +Subprojects does not inherit languages added by main project or other subprojects +any more. This could break subprojects that wants to compile e.g. `.c` files but +did not add `c` language, either in `project()` or `add_languages()`, and were +relying on the main project to do it for them. diff --git a/docs/yaml/functions/executable.yaml b/docs/yaml/functions/executable.yaml index 2e57bd4..cdf764a 100644 --- a/docs/yaml/functions/executable.yaml +++ b/docs/yaml/functions/executable.yaml @@ -29,7 +29,7 @@ kwargs: the `implib` argument. implib: - type: bool + type: bool | str since: 0.42.0 description: | When set to true, an import library is generated for the -- cgit v1.1