flatc now creates the output directory if it doesn't exist yet.

Also cleaned up the general mkdir functionality.

Tested: on OS X.

Tested that a command line like: ./flatc -j -o foo/bar/baz tests/monster_test.fbs
generates files in foo/bar/baz/MyGame/Example/*.java which previously didn't exist.

Windows code was previously tested but has been moved, so needs to be tested again.

Change-Id: Iee943121b3be4f92961a3ec94c2cb578165f114a
This commit is contained in:
Wouter van Oortmerssen
2014-08-21 12:08:10 -07:00
parent ebac1e1940
commit 30af866e5a
4 changed files with 26 additions and 11 deletions

View File

@@ -838,7 +838,8 @@ bool Parser::Parse(const char *source, const char *filepath) {
while (IsNext(kTokenInclude)) {
auto name = attribute_;
Expect(kTokenStringConstant);
name = StripFileName(filepath) + name;
auto path = StripFileName(filepath);
if (path.length()) name = path + kPathSeparator + name;
if (included_files_.find(name) == included_files_.end()) {
// We found an include file that we have not parsed yet.
// Load it and parse it.