diff --git a/source/dub/generators/build.d b/source/dub/generators/build.d index 328536c..3daf438 100644 --- a/source/dub/generators/build.d +++ b/source/dub/generators/build.d @@ -107,9 +107,6 @@ if (generate_binary && settings.run) rmdirRecurse(buildsettings.targetPath); } - - if (buildsettings.targetType == TargetType.library || buildsettings.targetType == TargetType.staticLibrary) - settings.run = false; // fix default command for libraries - replace run with build /* NOTE: for DMD experimental separate compile/link is used, but this is not yet implemented @@ -178,13 +175,13 @@ } // copy files and run the executable - if( generate_binary ){ - if( settings.run ){ + if (generate_binary && settings.run) { + if (buildsettings.targetType == TargetType.executable) { logInfo("Running %s...", exe_file_path.toNativeString()); auto prg_pid = spawnProcess(exe_file_path.toNativeString() ~ settings.runArgs); auto result = prg_pid.wait(); enforce(result == 0, "Program exited with code "~to!string(result)); - } + } else logInfo("Target is a library. Skipping execution."); } } } diff --git a/source/dub/generators/rdmd.d b/source/dub/generators/rdmd.d index cd7ff2e..020eba7 100644 --- a/source/dub/generators/rdmd.d +++ b/source/dub/generators/rdmd.d @@ -109,8 +109,8 @@ runCommands(buildsettings.postBuildCommands); } - if( generate_binary ){ - if( settings.run ){ + if (generate_binary && settings.run) { + if (buildsettings.targetType == TargetType.executable) { logInfo("Running %s...", run_exe_file.toNativeString()); auto prg_pid = spawnProcess(run_exe_file.toNativeString() ~ settings.runArgs); result = prg_pid.wait(); @@ -118,7 +118,7 @@ foreach( f; buildsettings.copyFiles ) remove((run_exe_file.parentPath ~ Path(f).head).toNativeString()); enforce(result == 0, "Program exited with code "~to!string(result)); - } + } else logInfo("Target is a library. Skipping execution."); } } }