From 91ce05635735d590f34644a28e04726569da8d3d Mon Sep 17 00:00:00 2001 From: Mikhail Elhimov Date: Sat, 5 Oct 2019 00:48:39 +0300 Subject: [PATCH 1/4] fixup! Handle fetching target filenames from meson 0.50+ Signed-off-by: Mikhail Elhimov --- mcw/cmake.py | 2 +- mcw/ninja.py | 2 +- mcw/server.py | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/mcw/cmake.py b/mcw/cmake.py index c5c93f8..d0c6af8 100644 --- a/mcw/cmake.py +++ b/mcw/cmake.py @@ -458,7 +458,7 @@ def gen_codeblocks_project(self): 'name': 'all', 'id': 'all', 'type': 'custom', - 'filename': '' + 'filename': [''] } for target in [all_target] + self.meson.get_targets(): diff --git a/mcw/ninja.py b/mcw/ninja.py index 8fbb840..2a2295b 100644 --- a/mcw/ninja.py +++ b/mcw/ninja.py @@ -44,6 +44,6 @@ def build(self, target): def get_target(self, target_name): target = next((t for t in self.meson.get_targets() if t['name'] == target_name), None) if target: - return target['filename'] + return self.meson.get_target_filename(target) return target_name diff --git a/mcw/server.py b/mcw/server.py index 4fbb8bb..86d5249 100644 --- a/mcw/server.py +++ b/mcw/server.py @@ -262,7 +262,7 @@ def get_include_paths(self, target): def get_file_groups(self, target): sources = [] for target_file in self.meson.get_target_files(target): - sources.append(os.path.relpath(target_file, os.path.dirname(target['filename']))) + sources.append(os.path.relpath(target_file, os.path.dirname(self.meson.get_target_filename(target)))) file_group = { 'isGenerated': False, 'sources': sources, @@ -300,10 +300,10 @@ def get_project(self): target['name'] = mtarget['name'] target['fullName'] = mtarget['name'] target['artifacts'] = [ - os.path.join(self.meson.build_dir, mtarget['filename']) + os.path.join(self.meson.build_dir, self.meson.get_target_filename(mtarget)) ] - target['buildDirectory'] = os.path.join(self.cmake.build_dir, os.path.dirname(mtarget['filename'])) - target['sourceDirectory'] = os.path.join(self.cmake.source_dir, os.path.dirname(mtarget['filename'])) + target['buildDirectory'] = os.path.join(self.cmake.build_dir, os.path.dirname(self.meson.get_target_filename(mtarget))) + target['sourceDirectory'] = os.path.join(self.cmake.source_dir, os.path.dirname(self.meson.get_target_filename(mtarget))) target['type'] = type_mapper[mtarget['type']] target['fileGroups'] = self.get_file_groups(mtarget) project['targets'].append(target) From 58ee15080430d13bcf4dd980d46741b31fc2b1e0 Mon Sep 17 00:00:00 2001 From: akl Date: Mon, 7 Oct 2019 18:39:54 +0200 Subject: [PATCH 2/4] fixed: target name for ninja backend --- mcw/ninja.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mcw/ninja.py b/mcw/ninja.py index 2a2295b..a9f3ab3 100644 --- a/mcw/ninja.py +++ b/mcw/ninja.py @@ -44,6 +44,9 @@ def build(self, target): def get_target(self, target_name): target = next((t for t in self.meson.get_targets() if t['name'] == target_name), None) if target: - return self.meson.get_target_filename(target) + target_filename = self.meson.get_target_filename(target) + base_dirname = os.path.basename(os.path.dirname(target_filename)) + base_filename = os.path.basename(target_filename) + return os.path.join(base_dirname, base_filename) return target_name From 71ee9ded2b82ac2acc46b64aee50d10879000833 Mon Sep 17 00:00:00 2001 From: Ion Agorria Date: Sat, 8 Jun 2019 11:55:34 +0200 Subject: [PATCH 3/4] Make it working with new version # Conflicts: # mcw/ninja.py --- mcw/meson.py | 8 +++++--- mcw/ninja.py | 10 ++++++---- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/mcw/meson.py b/mcw/meson.py index f10448a..7995a02 100644 --- a/mcw/meson.py +++ b/mcw/meson.py @@ -227,12 +227,14 @@ def get_output(self, target): return os.path.join(self.build_dir, self.get_target_filename(target)) def get_target_filename(self, target): - if self.get_version()[1] >= 50: - return target['filename'][0] + filename = target['filename'] + if "str" in str(type(filename)): + return filename else: - return target['filename'] + return filename[0] def get_options(self): + meson_options = [] if self.cross_file: diff --git a/mcw/ninja.py b/mcw/ninja.py index a9f3ab3..2bf94af 100644 --- a/mcw/ninja.py +++ b/mcw/ninja.py @@ -44,9 +44,11 @@ def build(self, target): def get_target(self, target_name): target = next((t for t in self.meson.get_targets() if t['name'] == target_name), None) if target: - target_filename = self.meson.get_target_filename(target) - base_dirname = os.path.basename(os.path.dirname(target_filename)) - base_filename = os.path.basename(target_filename) - return os.path.join(base_dirname, base_filename) + # Comment other solution + # target_filename = self.meson.get_target_filename(target) + # base_dirname = os.path.basename(os.path.dirname(target_filename)) + # base_filename = os.path.basename(target_filename) + # return os.path.join(base_dirname, base_filename) + return target['name'] return target_name From 96d91321386050ef1f857a37771e9e8b12828dc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20C=C3=B6lle?= Date: Tue, 12 Nov 2019 09:54:45 +0100 Subject: [PATCH 4/4] Add PyCharm IDE data --- .idea/.gitignore | 2 ++ .idea/inspectionProfiles/profiles_settings.xml | 6 ++++++ .idea/meson-cmake-wrapper.iml | 8 ++++++++ .idea/misc.xml | 7 +++++++ .idea/modules.xml | 8 ++++++++ .idea/vcs.xml | 6 ++++++ 6 files changed, 37 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/meson-cmake-wrapper.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..5c98b42 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,2 @@ +# Default ignored files +/workspace.xml \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/meson-cmake-wrapper.iml b/.idea/meson-cmake-wrapper.iml new file mode 100644 index 0000000..d0876a7 --- /dev/null +++ b/.idea/meson-cmake-wrapper.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..8656114 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..affd030 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file