[libpeas/meson.msvc: 9/19] meson: Don't use 'cp' to copy files




commit c34c89ca4ac5b1688e580341e8703fbbdd79dfda
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Fri Nov 15 14:32:34 2019 +0800

    meson: Don't use 'cp' to copy files
    
    'cp' is a UNIX/BASH shell-only command, which does not exist on standard
    Windows cmd.exe shells by default, so use a Python script that tries to
    do similar things.

 copyfile.py                                               | 15 +++++++++++++++
 meson.build                                               |  3 +++
 peas-demo/plugins/helloworld/meson.build                  |  2 +-
 peas-demo/plugins/luahello/meson.build                    |  2 +-
 peas-demo/plugins/pythonhello/meson.build                 |  2 +-
 peas-demo/plugins/secondtime/meson.build                  |  2 +-
 .../libpeas-gtk/plugins/builtin-configurable/meson.build  |  2 +-
 tests/libpeas-gtk/plugins/configurable/meson.build        |  2 +-
 tests/libpeas-gtk/plugins/meson.build                     |  2 +-
 tests/libpeas-gtk/plugins/valid-custom-icon/meson.build   |  2 +-
 tests/libpeas/plugins/embedded/meson.build                |  2 +-
 tests/libpeas/plugins/extension-c/meson.build             |  4 ++--
 tests/libpeas/plugins/extension-lua/meson.build           |  2 +-
 tests/libpeas/plugins/meson.build                         |  2 +-
 tests/plugins/builtin/meson.build                         |  2 +-
 tests/plugins/has-dep/meson.build                         |  2 +-
 tests/plugins/loadable/meson.build                        |  2 +-
 tests/plugins/meson.build                                 |  2 +-
 tests/plugins/self-dep/meson.build                        |  2 +-
 19 files changed, 36 insertions(+), 18 deletions(-)
---
diff --git a/copyfile.py b/copyfile.py
new file mode 100644
index 00000000..b57734fe
--- /dev/null
+++ b/copyfile.py
@@ -0,0 +1,15 @@
+#!/usr/bin/env python3
+
+# Replace calls to 'cp' with Python
+
+import shutil
+import sys
+
+if len(sys.argv) < 3:
+    raise ValueError('Usage: %s <srcfiles> <destfile>' % sys.argv[0])
+
+last_arg_index = len(sys.argv) - 1
+destdir = sys.argv[last_arg_index]
+
+for x in range(1, last_arg_index):
+    shutil.copy(sys.argv[x], destdir)
diff --git a/meson.build b/meson.build
index 56aa7c33..7efb71b4 100644
--- a/meson.build
+++ b/meson.build
@@ -258,6 +258,9 @@ if build_python3_loader and not python3_found
   build_python3_loader = false
 endif
 
+# Replace 'cp' calls
+copyfile_script = find_program('copyfile.py')
+
 subdir('libpeas')
 if build_gtk_widgetry == true
   subdir('libpeas-gtk')
diff --git a/peas-demo/plugins/helloworld/meson.build b/peas-demo/plugins/helloworld/meson.build
index 0e325cee..73743615 100644
--- a/peas-demo/plugins/helloworld/meson.build
+++ b/peas-demo/plugins/helloworld/meson.build
@@ -27,7 +27,7 @@ custom_target(
   'lib@0@-data'.format(libhelloworld_name),
   input: libhelloworld_plugin_data,
   output: libhelloworld_plugin_data,
-  command: ['cp', '@INPUT@', '@OUTDIR@'],
+  command: [copyfile_script, '@INPUT@', '@OUTDIR@'],
   build_by_default: true,
   install_dir: join_paths(peas_demo_plugins_dir, 'helloworld'),
   install: true,
diff --git a/peas-demo/plugins/luahello/meson.build b/peas-demo/plugins/luahello/meson.build
index 90d0daec..0d6997df 100644
--- a/peas-demo/plugins/luahello/meson.build
+++ b/peas-demo/plugins/luahello/meson.build
@@ -9,7 +9,7 @@ custom_target(
   '@0@-data'.format(luahello_name),
   input: luahello_plugin_data,
   output: luahello_plugin_data,
-  command: ['cp', '@INPUT@', '@OUTDIR@'],
+  command: [copyfile_script, '@INPUT@', '@OUTDIR@'],
   build_by_default: true,
   install_dir: join_paths(peas_demo_plugins_dir, 'luahello'),
   install: true,
diff --git a/peas-demo/plugins/pythonhello/meson.build b/peas-demo/plugins/pythonhello/meson.build
index 7ba44060..64e42022 100644
--- a/peas-demo/plugins/pythonhello/meson.build
+++ b/peas-demo/plugins/pythonhello/meson.build
@@ -9,7 +9,7 @@ custom_target(
   '@0@-data'.format(pythonhello_name),
   input: pythonhello_plugin_data,
   output: pythonhello_plugin_data,
-  command: ['cp', '@INPUT@', '@OUTDIR@'],
+  command: [copyfile_script, '@INPUT@', '@OUTDIR@'],
   build_by_default: true,
   install_dir: join_paths(peas_demo_plugins_dir, 'pythonhello'),
   install: true,
diff --git a/peas-demo/plugins/secondtime/meson.build b/peas-demo/plugins/secondtime/meson.build
index 30c0dace..e79097a5 100644
--- a/peas-demo/plugins/secondtime/meson.build
+++ b/peas-demo/plugins/secondtime/meson.build
@@ -26,7 +26,7 @@ custom_target(
   'lib@0@-data'.format(libsecondtime_name),
   input: libsecondtime_plugin_data,
   output: libsecondtime_plugin_data,
-  command: ['cp', '@INPUT@', '@OUTDIR@'],
+  command: [copyfile_script, '@INPUT@', '@OUTDIR@'],
   build_by_default: true,
   install_dir: join_paths(peas_demo_plugins_dir, 'secondtime'),
   install: true,
diff --git a/tests/libpeas-gtk/plugins/builtin-configurable/meson.build 
b/tests/libpeas-gtk/plugins/builtin-configurable/meson.build
index c967f5d4..4ce8c6f7 100644
--- a/tests/libpeas-gtk/plugins/builtin-configurable/meson.build
+++ b/tests/libpeas-gtk/plugins/builtin-configurable/meson.build
@@ -32,6 +32,6 @@ custom_target(
   'lib@0@-data'.format(libbuiltin_configurable_name),
   input: libbuiltin_configurable_plugin_data,
   output: libbuiltin_configurable_plugin_data,
-  command: ['cp', '@INPUT@', '@OUTDIR@'],
+  command: [copyfile_script, '@INPUT@', '@OUTDIR@'],
   build_by_default: true,
 )
diff --git a/tests/libpeas-gtk/plugins/configurable/meson.build 
b/tests/libpeas-gtk/plugins/configurable/meson.build
index 553066b8..9c8f885d 100644
--- a/tests/libpeas-gtk/plugins/configurable/meson.build
+++ b/tests/libpeas-gtk/plugins/configurable/meson.build
@@ -32,6 +32,6 @@ custom_target(
   'lib@0@-data'.format(libconfigurable_name),
   input: libconfigurable_plugin_data,
   output: libconfigurable_plugin_data,
-  command: ['cp', '@INPUT@', '@OUTDIR@'],
+  command: [copyfile_script, '@INPUT@', '@OUTDIR@'],
   build_by_default: true,
 )
diff --git a/tests/libpeas-gtk/plugins/meson.build b/tests/libpeas-gtk/plugins/meson.build
index 432607f2..be1c7044 100644
--- a/tests/libpeas-gtk/plugins/meson.build
+++ b/tests/libpeas-gtk/plugins/meson.build
@@ -9,7 +9,7 @@ custom_target(
   'libpeas-gtk-test-data',
   input: libpeas_gtk_plugins_data,
   output: libpeas_gtk_plugins_data,
-  command: ['cp', '@INPUT@', '@OUTDIR@'],
+  command: [copyfile_script, '@INPUT@', '@OUTDIR@'],
   build_by_default: true,
 )
 
diff --git a/tests/libpeas-gtk/plugins/valid-custom-icon/meson.build 
b/tests/libpeas-gtk/plugins/valid-custom-icon/meson.build
index b5ec5765..e1aac3b3 100644
--- a/tests/libpeas-gtk/plugins/valid-custom-icon/meson.build
+++ b/tests/libpeas-gtk/plugins/valid-custom-icon/meson.build
@@ -9,6 +9,6 @@ custom_target(
   '@0@-data'.format(valid_custom_icon_name),
   input: valid_custom_icon_plugin_data,
   output: valid_custom_icon_plugin_data,
-  command: ['cp', '@INPUT@', '@OUTDIR@'],
+  command: [copyfile_script, '@INPUT@', '@OUTDIR@'],
   build_by_default: true,
 )
diff --git a/tests/libpeas/plugins/embedded/meson.build b/tests/libpeas/plugins/embedded/meson.build
index b56c0c9f..c3e1b938 100644
--- a/tests/libpeas/plugins/embedded/meson.build
+++ b/tests/libpeas/plugins/embedded/meson.build
@@ -47,6 +47,6 @@ custom_target(
   '@0@-data'.format(libembedded_name),
   input: libembedded_plugin_data,
   output: libembedded_plugin_data,
-  command: ['cp', '@INPUT@', '@OUTDIR@'],
+  command: [copyfile_script, '@INPUT@', '@OUTDIR@'],
   build_by_default: true,
 )
diff --git a/tests/libpeas/plugins/extension-c/meson.build b/tests/libpeas/plugins/extension-c/meson.build
index ab03c4ca..1c4030eb 100644
--- a/tests/libpeas/plugins/extension-c/meson.build
+++ b/tests/libpeas/plugins/extension-c/meson.build
@@ -35,7 +35,7 @@ custom_target(
   'lib@0@-data'.format(libextension_c_name),
   input: libextension_c_plugin_data,
   output: libextension_c_plugin_data,
-  command: ['cp', '@INPUT@', '@OUTDIR@'],
+  command: [copyfile_script, '@INPUT@', '@OUTDIR@'],
   build_by_default: true,
 )
 
@@ -59,6 +59,6 @@ custom_target(
   'lib@0@-data'.format(libextension_c_missing_name),
   input: libextension_c_missing_plugin_data,
   output: libextension_c_missing_plugin_data,
-  command: ['cp', '@INPUT@', '@OUTDIR@'],
+  command: [copyfile_script, '@INPUT@', '@OUTDIR@'],
   build_by_default: true,
 )
diff --git a/tests/libpeas/plugins/extension-lua/meson.build b/tests/libpeas/plugins/extension-lua/meson.build
index f113a397..1e87f447 100644
--- a/tests/libpeas/plugins/extension-lua/meson.build
+++ b/tests/libpeas/plugins/extension-lua/meson.build
@@ -10,6 +10,6 @@ custom_target(
   '@0@-data'.format(extension_lua_name),
   input: extension_lua_plugin_data,
   output: extension_lua_plugin_data,
-  command: ['cp', '@INPUT@', '@OUTDIR@'],
+  command: [copyfile_script, '@INPUT@', '@OUTDIR@'],
   build_by_default: true,
 )
diff --git a/tests/libpeas/plugins/meson.build b/tests/libpeas/plugins/meson.build
index babe6936..f410684b 100644
--- a/tests/libpeas/plugins/meson.build
+++ b/tests/libpeas/plugins/meson.build
@@ -17,7 +17,7 @@ custom_target(
   'libpeas-test-data',
   input: libpeas_plugins_data,
   output: libpeas_plugins_data,
-  command: ['cp', '@INPUT@', '@OUTDIR@'],
+  command: [copyfile_script, '@INPUT@', '@OUTDIR@'],
   build_by_default: true,
 )
 
diff --git a/tests/plugins/builtin/meson.build b/tests/plugins/builtin/meson.build
index 2a462546..1603c30a 100644
--- a/tests/plugins/builtin/meson.build
+++ b/tests/plugins/builtin/meson.build
@@ -29,6 +29,6 @@ custom_target(
   'lib@0@-data'.format(libbuiltin_name),
   input: libbuiltin_plugin_data,
   output: libbuiltin_plugin_data,
-  command: ['cp', '@INPUT@', '@OUTDIR@'],
+  command: [copyfile_script, '@INPUT@', '@OUTDIR@'],
   build_by_default: true,
 )
diff --git a/tests/plugins/has-dep/meson.build b/tests/plugins/has-dep/meson.build
index eddef12e..21a4da77 100644
--- a/tests/plugins/has-dep/meson.build
+++ b/tests/plugins/has-dep/meson.build
@@ -30,6 +30,6 @@ custom_target(
   'lib@0@-data'.format(libhas_dep_name),
   input: libhas_dep_plugin_data,
   output: libhas_dep_plugin_data,
-  command: ['cp', '@INPUT@', '@OUTDIR@'],
+  command: [copyfile_script, '@INPUT@', '@OUTDIR@'],
   build_by_default: true,
 )
diff --git a/tests/plugins/loadable/meson.build b/tests/plugins/loadable/meson.build
index 522959ac..76ee40b3 100644
--- a/tests/plugins/loadable/meson.build
+++ b/tests/plugins/loadable/meson.build
@@ -29,6 +29,6 @@ custom_target(
   'lib@0@-data'.format(libloadable_name),
   input: libloadable_plugin_data,
   output: libloadable_plugin_data,
-  command: ['cp', '@INPUT@', '@OUTDIR@'],
+  command: [copyfile_script, '@INPUT@', '@OUTDIR@'],
   build_by_default: true,
 )
diff --git a/tests/plugins/meson.build b/tests/plugins/meson.build
index c19a8fb4..03d16274 100644
--- a/tests/plugins/meson.build
+++ b/tests/plugins/meson.build
@@ -10,7 +10,7 @@ custom_target(
   '@0@-data'.format(generic_name),
   input: generic_plugins_data,
   output: generic_plugins_data,
-  command: ['cp', '@INPUT@', '@OUTDIR@'],
+  command: [copyfile_script, '@INPUT@', '@OUTDIR@'],
   build_by_default: true,
 )
 
diff --git a/tests/plugins/self-dep/meson.build b/tests/plugins/self-dep/meson.build
index 4cf04710..f44ee2cf 100644
--- a/tests/plugins/self-dep/meson.build
+++ b/tests/plugins/self-dep/meson.build
@@ -29,6 +29,6 @@ custom_target(
   'lib@0@-data'.format(libself_dep_name),
   input: libself_dep_plugin_data,
   output: libself_dep_plugin_data,
-  command: ['cp', '@INPUT@', '@OUTDIR@'],
+  command: [copyfile_script, '@INPUT@', '@OUTDIR@'],
   build_by_default: true,
 )
\ No newline at end of file


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]