argv.push_back(tool.get_executable()->get_path().str());
argv.push_back("/NOLOGO");
- if(dynamic_cast<const SharedLibrary *>(&bin))
+ string imp_fn;
+ if(const SharedLibrary *shlib = dynamic_cast<const SharedLibrary *>(&bin))
+ {
argv.push_back("/DLL");
+ if(const ImportLibrary *imp = shlib->get_import_library())
+ imp_fn = relative(imp->get_path(), work_dir).str();
+ }
BuildInfo binfo;
bin.collect_build_info(binfo);
argv.push_back("/DEBUG:FULL");
argv.push_back("/OUT:"+relative(bin.get_path(), work_dir).str());
+ if(!imp_fn.empty())
+ argv.push_back("/IMPLIB:"+imp_fn);
+ else
+ argv.push_back("/NOIMPLIB");
for(Target *d: bin.get_dependencies())
{