From 991baf56e99d96bbe3f2841f4b7c283e36ff1c89 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Mon, 28 Feb 2022 14:25:10 -0800 Subject: modules/fs: Replace configure_file(copy:) with fs.copyfile `configure_file` is both an extremely complicated implementation, and a strange place for copying. It's a bit of a historical artifact, since the fs module didn't yet exist. It makes more sense to move this to the fs module and deprecate this `configure_file` version. This new version works at build time rather than configure time, which has the disadvantage it can't be passed to `run_command`, but with the advantage that changes to the input don't require a full reconfigure. --- docs/markdown/snippets/fs_copyfile.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 docs/markdown/snippets/fs_copyfile.md (limited to 'docs/markdown/snippets/fs_copyfile.md') diff --git a/docs/markdown/snippets/fs_copyfile.md b/docs/markdown/snippets/fs_copyfile.md new file mode 100644 index 0000000..dfb5d89 --- /dev/null +++ b/docs/markdown/snippets/fs_copyfile.md @@ -0,0 +1,17 @@ +## `fs.copyfile` to replace `configure_file(copy : true)` + +A new method has been added to the `fs` module, `copyfile`. This method replaces +`configure_file(copy : true)`, but only copies files. Unlike `configure_file()` +it runs at build time, and the output name is optional defaulting to the +filename without paths of the input if unset: + +```meson +fs.copyfile('src/file.txt') +``` +Will create a file in the current build directory called `file.txt` + + +```meson +fs.copyfile('file.txt', 'outfile.txt') +``` +Will create a copy renamed to `outfile.txt` -- cgit v1.1