mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 12:32:20 +02:00
StaticLib build now properly creates a merged archive
This commit is contained in:
parent
463ef98789
commit
b775058393
1 changed files with 23 additions and 5 deletions
|
@ -182,7 +182,11 @@ namespace IDE
|
|||
//String error = scope String();
|
||||
bool isTest = options.mBuildOptions.mBuildKind == .Test;
|
||||
bool isExe = ((project.mGeneralOptions.mTargetType != Project.TargetType.BeefLib) && (project.mGeneralOptions.mTargetType != Project.TargetType.BeefTest)) || (isTest);
|
||||
if (!isExe)
|
||||
if ((options.mBuildOptions.mBuildKind == .StaticLib) || (options.mBuildOptions.mBuildKind == .DynamicLib))
|
||||
{
|
||||
// Okay
|
||||
}
|
||||
else if (!isExe)
|
||||
return true;
|
||||
|
||||
String arCmds = scope String(""); //-O2 -Rpass=inline
|
||||
|
@ -194,7 +198,10 @@ namespace IDE
|
|||
{
|
||||
if (!obj.IsEmpty)
|
||||
{
|
||||
arCmds.AppendF("ADDMOD {}\n", obj);
|
||||
if (obj.EndsWith(".lib", .OrdinalIgnoreCase))
|
||||
arCmds.AppendF("ADDLIB {}\n", obj);
|
||||
else
|
||||
arCmds.AppendF("ADDMOD {}\n", obj);
|
||||
}
|
||||
}
|
||||
arCmds.AppendF("SAVE\n");
|
||||
|
@ -800,7 +807,7 @@ namespace IDE
|
|||
bool isExe = ((project.mGeneralOptions.mTargetType != Project.TargetType.BeefLib) && (project.mGeneralOptions.mTargetType != Project.TargetType.BeefTest)) || (isTest);
|
||||
if (options.mBuildOptions.mBuildKind == .DynamicLib)
|
||||
isExe = true;
|
||||
|
||||
|
||||
if (isExe)
|
||||
{
|
||||
String linkLine = scope String();
|
||||
|
@ -1387,8 +1394,19 @@ namespace IDE
|
|||
gApp.OutputErrorLine("Project '{}' cannot be linked with the Windows Toolset for platform '{}'", project.mProjectName, mPlatformType);
|
||||
return false;
|
||||
}
|
||||
else if (!QueueProjectMSLink(project, targetPath, configSelection.mConfig, workspaceOptions, options, objectsArg))
|
||||
return false;
|
||||
else
|
||||
{
|
||||
if (options.mBuildOptions.mBuildKind == .StaticLib)
|
||||
{
|
||||
if (!QueueProjectGNUArchive(project, targetPath, workspaceOptions, options, objectsArg))
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!QueueProjectMSLink(project, targetPath, configSelection.mConfig, workspaceOptions, options, objectsArg))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue