From c3067e09129cfacb38a729eb8a2a228c11bf4486 Mon Sep 17 00:00:00 2001 From: Thomas Nagy Date: Mon, 2 Apr 2012 01:56:24 +0200 Subject: [PATCH] In the file copy, ensure that the parent folder is created --- waflib/Node.py | 10 ++-------- waflib/TaskGen.py | 3 +++ 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/waflib/Node.py b/waflib/Node.py index 895eed5c..0a7eda77 100644 --- a/waflib/Node.py +++ b/waflib/Node.py @@ -708,20 +708,14 @@ class Node(object): if node: if not os.path.isfile(node.abspath()): node.sig = None - try: - node.parent.mkdir() - except OSError: - pass + node.parent.mkdir() return node self = self.get_src() node = self.find_node(lst) if node: if not os.path.isfile(node.abspath()): node.sig = None - try: - node.parent.mkdir() - except OSError: - pass + node.parent.mkdir() return node node = self.get_bld().make_node(lst) node.parent.mkdir() diff --git a/waflib/TaskGen.py b/waflib/TaskGen.py index 3f050b90..6d6313d6 100644 --- a/waflib/TaskGen.py +++ b/waflib/TaskGen.py @@ -770,6 +770,9 @@ def process_subst(self): if isinstance(x, str) and isinstance(y, str) and x == y: a = self.path.find_node(x) b = self.path.get_bld().make_node(y) + if not os.path.isfile(b.abspath()): + b.sig = None + b.parent.mkdir() else: if isinstance(x, str): a = self.path.find_resource(x)