diff --git a/source/dub/project.d b/source/dub/project.d index 42cb67f..cea3c83 100644 --- a/source/dub/project.d +++ b/source/dub/project.d @@ -1421,6 +1421,7 @@ { case '*', '?', '[', '{': break loop; case '/': sepIdx = i; goto default; + version (Windows) { case '\\': sepIdx = i; goto default; } default: ++i; break switch_; } } diff --git a/test/issue1474-generate-source.script.d b/test/issue1474-generate-source.script.d new file mode 100644 index 0000000..d345f58 --- /dev/null +++ b/test/issue1474-generate-source.script.d @@ -0,0 +1,29 @@ +/+ dub.sdl: + name "issue1474-generate-source" ++/ + +module issue1474_generate_source; + +import std.process; +import std.stdio; +import std.algorithm; +import std.path; + +int main() +{ + const dub = environment.get("DUB", buildPath(__FILE_FULL_PATH__.dirName.dirName, "bin", "dub")); + const curr_dir = environment.get("CURR_DIR", buildPath(__FILE_FULL_PATH__.dirName)); + const dc = environment.get("DC", "dmd"); + const cmd = [dub, "build", "--compiler", dc]; + const result = execute(cmd, null, Config.none, size_t.max, curr_dir.buildPath("issue1474")); + if (result.status || result.output.canFind("Failed")) + { + writefln("\n> %-(%s %)", cmd); + writeln("==========================================================="); + writeln(result.output); + writeln("==========================================================="); + writeln("Last command failed with exit code ", result.status, '\n'); + return 1; + } + return 0; +} diff --git a/test/issue1474/.no_build b/test/issue1474/.no_build new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test/issue1474/.no_build diff --git a/test/issue1474/.no_run b/test/issue1474/.no_run deleted file mode 100644 index e69de29..0000000 --- a/test/issue1474/.no_run +++ /dev/null diff --git a/test/issue1474/.no_test b/test/issue1474/.no_test deleted file mode 100644 index e69de29..0000000 --- a/test/issue1474/.no_test +++ /dev/null diff --git a/test/issue1474/dub.json b/test/issue1474/dub.json index 80d9635..f4dec04 100644 --- a/test/issue1474/dub.json +++ b/test/issue1474/dub.json @@ -2,7 +2,10 @@ "name": "generated-sources", "description": "Example of using pre generate commands to generate source code.", "sourceFiles": ["ext/*.d"], - "preGenerateCommands": [ + "preGenerateCommands-posix": [ "echo 'extern(C) int fun42 () { return 42; }' > ext/fortytwo.d" + ], + "preGenerateCommands-windows": [ + "echo extern(C) int fun42 () { return 42; }> ext/fortytwo.d" ] }