Begin move to SDL
This commit is contained in:
@@ -27,12 +27,34 @@ struct Library {
|
||||
Array<S8_String> objects;
|
||||
Array<S8_String> include_paths;
|
||||
Array<S8_String> defines;
|
||||
Array<S8_String> link;
|
||||
};
|
||||
|
||||
Library PrepareSDL() {
|
||||
Library l = {};
|
||||
l.include_paths.add("../src/external/SDL/include");
|
||||
l.objects.add("../src/external/SDL/VisualC/static_x64/Release/SDL3.lib");
|
||||
l.link.add("/SUBSYSTEM:WINDOWS");
|
||||
l.link.add("opengl32.lib");
|
||||
l.link.add("imm32.lib");
|
||||
l.link.add("gdi32.lib");
|
||||
l.link.add("winmm.lib");
|
||||
l.link.add("shell32.lib");
|
||||
l.link.add("user32.lib");
|
||||
l.link.add("advapi32.lib");
|
||||
l.link.add("Setupapi.lib");
|
||||
l.link.add("ole32.lib");
|
||||
l.link.add("oleaut32.lib");
|
||||
l.link.add("Version.lib");
|
||||
return l;
|
||||
}
|
||||
|
||||
Library PrepareSDLDynamic() {
|
||||
Library l = {};
|
||||
l.include_paths.add("../src/external/SDL/include");
|
||||
l.objects.add("../src/external/SDL/VisualC/x64/Release/SDL3.lib");
|
||||
l.link.add("/SUBSYSTEM:WINDOWS");
|
||||
OS_CopyFile("../src/external/SDL/VisualC/x64/Release/SDL3.dll", "./SDL3.dll", false);
|
||||
return l;
|
||||
}
|
||||
|
||||
@@ -77,7 +99,7 @@ Library PrepareLua() {
|
||||
Library PrepareGlad() {
|
||||
Library l = {};
|
||||
l.sources.add("../src/external/glad/glad.c");
|
||||
l.include_paths.add("../src/external/glad");
|
||||
l.include_paths.add("../src/external/glad/");
|
||||
l.objects.add("glad.obj");
|
||||
if (!OS_FileExists(l.objects[0])) {
|
||||
Array<S8_String> cmd = {};
|
||||
@@ -101,6 +123,7 @@ int CompileTextEditor() {
|
||||
cmd.add("cl.exe");
|
||||
cmd.add("-Fe:te.exe");
|
||||
cmd.add("-Fd:te.pdb");
|
||||
cmd.add("-I ../src");
|
||||
AddCommonFlags(&cmd);
|
||||
For2(lib, libs) For(lib.defines) cmd.add(it);
|
||||
|
||||
@@ -122,10 +145,44 @@ int CompileTextEditor() {
|
||||
return result;
|
||||
}
|
||||
|
||||
int CompileNewPlatform() {
|
||||
int result = 0;
|
||||
|
||||
Array<Library> libs = {};
|
||||
libs.add(PrepareGlad());
|
||||
libs.add(PrepareLua());
|
||||
libs.add(PrepareSDLDynamic());
|
||||
|
||||
Array<S8_String> cmd = {};
|
||||
cmd.add("cl.exe");
|
||||
cmd.add("-Fe:te.exe");
|
||||
cmd.add("-Fd:te.pdb");
|
||||
cmd.add("-I ../src");
|
||||
AddCommonFlags(&cmd);
|
||||
For2(lib, libs) For(lib.defines) cmd.add(it);
|
||||
|
||||
cmd.add("../src/new_platform/new_platform.cpp");
|
||||
cmd.add("../src/basic/win32.cpp");
|
||||
|
||||
For2(lib, libs) For(lib.include_paths) cmd.add(Fmt("-I %.*s", S8_Expand(it)));
|
||||
|
||||
cmd.add("/link");
|
||||
cmd.add("/incremental:no");
|
||||
For2(lib, libs) For(lib.link) cmd.add(it);
|
||||
For(libs) For2(o, it.objects) cmd.add(o);
|
||||
|
||||
OS_DeleteFile("te.pdb");
|
||||
// For(cmd) IO_Printf("%.*s\n", S8_Expand(it));
|
||||
|
||||
result += Run(cmd);
|
||||
return result;
|
||||
}
|
||||
|
||||
int main() {
|
||||
MA_InitScratch();
|
||||
SRC_InitCache(Perm, "te.cache");
|
||||
int result = CompileTextEditor();
|
||||
// int result = CompileTextEditor();
|
||||
int result = CompileNewPlatform();
|
||||
|
||||
if (result != 0) {
|
||||
OS_DeleteFile("te.cache");
|
||||
|
||||
Reference in New Issue
Block a user