diff --git a/source/dub/generators/build.d b/source/dub/generators/build.d index 4a7d4b8..c788f45 100644 --- a/source/dub/generators/build.d +++ b/source/dub/generators/build.d @@ -89,6 +89,10 @@ runBuildCommands(buildsettings.preBuildCommands, buildsettings); } + // determine the absolute target path + if( !Path(buildsettings.targetPath).absolute ) + buildsettings.targetPath = (m_project.mainPackage.path ~ Path(buildsettings.targetPath)).toNativeString(); + Path exe_file_path; if( generate_binary ){ if( settings.run ){ @@ -108,7 +112,8 @@ remove(f.toNativeString()); if( generate_binary && settings.run ) rmdir(buildsettings.targetPath); } - mkdirRecurse(buildsettings.targetPath); + if( !exists(buildsettings.targetPath) ) + mkdirRecurse(buildsettings.targetPath); /* NOTE: for DMD experimental separate compile/link is used, but this is not yet implemented