mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 20:42:21 +02:00
Support for comptime file IO and process creation
This commit is contained in:
parent
045e706600
commit
ce4b6e04de
19 changed files with 726 additions and 89 deletions
|
@ -51,7 +51,7 @@ namespace IDE.Compiler
|
|||
static extern char8* BfSystem_GetNamespaceSearch(void* bfSystem, char8* typeName, void* project);
|
||||
|
||||
[CallingConvention(.Stdcall), CLink]
|
||||
static extern void* BfSystem_CreateProject(void* bfSystem, char8* projectName);
|
||||
static extern void* BfSystem_CreateProject(void* bfSystem, char8* projectName, char8* projectDir);
|
||||
|
||||
[CallingConvention(.Stdcall), CLink]
|
||||
static extern void BfSystem_ClearTypeOptions(void* bfSystem);
|
||||
|
@ -142,7 +142,7 @@ namespace IDE.Compiler
|
|||
{
|
||||
using (mMonitor.Enter())
|
||||
{
|
||||
var bfProject = CreateProject(project.mProjectName);
|
||||
var bfProject = CreateProject(project.mProjectName, project.mProjectDir);
|
||||
mProjectMap[project] = bfProject;
|
||||
}
|
||||
}
|
||||
|
@ -188,10 +188,10 @@ namespace IDE.Compiler
|
|||
outNamespaceSearch.Append(namespaceSearch);
|
||||
}
|
||||
|
||||
public BfProject CreateProject(String projectName)
|
||||
public BfProject CreateProject(String projectName, String projectDir)
|
||||
{
|
||||
BfProject project = new BfProject();
|
||||
project.mNativeBfProject = BfSystem_CreateProject(mNativeBfSystem, projectName);
|
||||
project.mNativeBfProject = BfSystem_CreateProject(mNativeBfSystem, projectName, projectDir);
|
||||
return project;
|
||||
}
|
||||
|
||||
|
|
|
@ -9167,6 +9167,13 @@ namespace IDE
|
|||
bool doCompile = false;
|
||||
if (lastCompileHadMessages)
|
||||
doCompile = true;
|
||||
|
||||
bool needsComptime = true;
|
||||
for (var project in mWorkspace.mProjects)
|
||||
{
|
||||
//Set needsComptime
|
||||
}
|
||||
|
||||
if ((!workspaceOptions.mIncrementalBuild) && (!lastCompileHadMessages))
|
||||
{
|
||||
tryQueueFiles = false;
|
||||
|
@ -9177,6 +9184,9 @@ namespace IDE
|
|||
}
|
||||
}
|
||||
|
||||
if (needsComptime)
|
||||
tryQueueFiles = true;
|
||||
|
||||
if (hotProject != null)
|
||||
{
|
||||
mWorkspace.mHadHotCompileSinceLastFullCompile = true;
|
||||
|
@ -9210,6 +9220,9 @@ namespace IDE
|
|||
}
|
||||
}
|
||||
|
||||
if (needsComptime)
|
||||
doCompile = true;
|
||||
|
||||
if (!success)
|
||||
{
|
||||
bfCompiler.QueueDeletePassInstance(passInstance);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue