Add text editor, misc changes
This commit is contained in:
162
build_file.cpp
162
build_file.cpp
@@ -1,75 +1,131 @@
|
||||
#include "src/build_tool/library.cpp"
|
||||
|
||||
struct Library {
|
||||
Array<S8_String> sources;
|
||||
Array<S8_String> objects;
|
||||
S8_String include_path;
|
||||
};
|
||||
|
||||
Library BuildZLib() {
|
||||
Library l = {};
|
||||
|
||||
l.sources.add("../src/external/zlib-1.3.1/adler32.c");
|
||||
l.sources.add("../src/external/zlib-1.3.1/compress.c");
|
||||
l.sources.add("../src/external/zlib-1.3.1/crc32.c");
|
||||
l.sources.add("../src/external/zlib-1.3.1/deflate.c");
|
||||
l.sources.add("../src/external/zlib-1.3.1/gzclose.c");
|
||||
l.sources.add("../src/external/zlib-1.3.1/gzlib.c");
|
||||
l.sources.add("../src/external/zlib-1.3.1/gzread.c");
|
||||
l.sources.add("../src/external/zlib-1.3.1/gzwrite.c");
|
||||
l.sources.add("../src/external/zlib-1.3.1/inflate.c");
|
||||
l.sources.add("../src/external/zlib-1.3.1/infback.c");
|
||||
l.sources.add("../src/external/zlib-1.3.1/inftrees.c");
|
||||
l.sources.add("../src/external/zlib-1.3.1/inffast.c");
|
||||
l.sources.add("../src/external/zlib-1.3.1/trees.c");
|
||||
l.sources.add("../src/external/zlib-1.3.1/uncompr.c");
|
||||
l.sources.add("../src/external/zlib-1.3.1/zutil.c");
|
||||
|
||||
l.include_path = "../src/external/zlib-1.3.1/";
|
||||
l.objects.add("adler32.obj");
|
||||
l.objects.add("compress.obj");
|
||||
l.objects.add("crc32.obj");
|
||||
l.objects.add("deflate.obj");
|
||||
l.objects.add("gzclose.obj");
|
||||
l.objects.add("gzlib.obj");
|
||||
l.objects.add("gzread.obj");
|
||||
l.objects.add("gzwrite.obj");
|
||||
l.objects.add("inflate.obj");
|
||||
l.objects.add("infback.obj");
|
||||
l.objects.add("inftrees.obj");
|
||||
l.objects.add("inffast.obj");
|
||||
l.objects.add("trees.obj");
|
||||
l.objects.add("uncompr.obj");
|
||||
l.objects.add("zutil.obj");
|
||||
|
||||
if (!OS_FileExists(l.objects[0])) {
|
||||
Array<S8_String> cmd = {};
|
||||
cmd.add("cl.exe -c -nologo -Zi -MP -FC ");
|
||||
cmd.add(S8_Format(Perm, "-I %.*s ", S8_Expand(l.include_path)));
|
||||
cmd += l.sources;
|
||||
Run(cmd);
|
||||
}
|
||||
|
||||
return l;
|
||||
}
|
||||
|
||||
int main() {
|
||||
MA_InitScratch();
|
||||
SRC_InitCache(Perm, "pdf_browser.cache");
|
||||
|
||||
Array<S8_String> zlib_source = {};
|
||||
zlib_source.add("../src/external/zlib-1.3.1/adler32.c");
|
||||
zlib_source.add("../src/external/zlib-1.3.1/compress.c");
|
||||
zlib_source.add("../src/external/zlib-1.3.1/crc32.c");
|
||||
zlib_source.add("../src/external/zlib-1.3.1/deflate.c");
|
||||
zlib_source.add("../src/external/zlib-1.3.1/gzclose.c");
|
||||
zlib_source.add("../src/external/zlib-1.3.1/gzlib.c");
|
||||
zlib_source.add("../src/external/zlib-1.3.1/gzread.c");
|
||||
zlib_source.add("../src/external/zlib-1.3.1/gzwrite.c");
|
||||
zlib_source.add("../src/external/zlib-1.3.1/inflate.c");
|
||||
zlib_source.add("../src/external/zlib-1.3.1/infback.c");
|
||||
zlib_source.add("../src/external/zlib-1.3.1/inftrees.c");
|
||||
zlib_source.add("../src/external/zlib-1.3.1/inffast.c");
|
||||
zlib_source.add("../src/external/zlib-1.3.1/trees.c");
|
||||
zlib_source.add("../src/external/zlib-1.3.1/uncompr.c");
|
||||
zlib_source.add("../src/external/zlib-1.3.1/zutil.c");
|
||||
|
||||
S8_String zlib_include = "../src/external/zlib-1.3.1/";
|
||||
Array<S8_String> zlib_objects = {};
|
||||
zlib_objects.add("adler32.obj");
|
||||
zlib_objects.add("compress.obj");
|
||||
zlib_objects.add("crc32.obj");
|
||||
zlib_objects.add("deflate.obj");
|
||||
zlib_objects.add("gzclose.obj");
|
||||
zlib_objects.add("gzlib.obj");
|
||||
zlib_objects.add("gzread.obj");
|
||||
zlib_objects.add("gzwrite.obj");
|
||||
zlib_objects.add("inflate.obj");
|
||||
zlib_objects.add("infback.obj");
|
||||
zlib_objects.add("inftrees.obj");
|
||||
zlib_objects.add("inffast.obj");
|
||||
zlib_objects.add("trees.obj");
|
||||
zlib_objects.add("uncompr.obj");
|
||||
zlib_objects.add("zutil.obj");
|
||||
|
||||
if (!OS_FileExists(zlib_objects[0])) {
|
||||
Array<S8_String> cmd = {};
|
||||
cmd.add("cl.exe -c -nologo -Zi -MP -FC ");
|
||||
cmd.add(S8_Format(Perm, "-I %.*s ", S8_Expand(zlib_include)));
|
||||
cmd += zlib_source;
|
||||
Run(cmd);
|
||||
}
|
||||
|
||||
int result = 0;
|
||||
|
||||
if (0) {
|
||||
Array<S8_String> cmd = {};
|
||||
cmd.add("cl.exe -nologo -Zi -MP -FC -Fe:pdf_browser.exe");
|
||||
cmd.add(S8_Format(Perm, "-I %.*s ", S8_Expand(zlib_include)));
|
||||
cmd += zlib_objects;
|
||||
cmd += "Advapi32.lib";
|
||||
cmd.add("../src/pdf_browser/main.cpp");
|
||||
cmd.add("../src/pdf_browser/win32.cpp");
|
||||
cmd.add("cl.exe");
|
||||
cmd.add("-Fe:transcript_browser.exe");
|
||||
cmd.add("-Fd:transcript_browser.pdb");
|
||||
cmd.add("/MP /Zi /FC /nologo");
|
||||
cmd.add("/WX /W3 /wd4200 /diagnostics:column");
|
||||
cmd.add("/Oi");
|
||||
cmd.add("-std:c++20"); // semaphore
|
||||
|
||||
cmd.add("-D_CRT_SECURE_NO_WARNINGS");
|
||||
if (1) {
|
||||
cmd.add("-DDEBUG_BUILD=1");
|
||||
cmd.add("-DRELEASE_BUILD=0");
|
||||
// cmd.add("-D_DEBUG /MDd");
|
||||
} else {
|
||||
cmd.add("-DDEBUG_BUILD=0");
|
||||
cmd.add("-DRELEASE_BUILD=1");
|
||||
cmd.add("/O2 /MT /DNDEBUG /GL");
|
||||
}
|
||||
|
||||
cmd.add("-I ../src/external/raylib/include");
|
||||
cmd.add("../src/transcript_browser/main.cpp");
|
||||
cmd.add("../src/transcript_browser/win32.cpp");
|
||||
|
||||
cmd.add("/link");
|
||||
cmd.add("../src/external/raylib/lib/raylib.lib");
|
||||
cmd.add("opengl32.lib kernel32.lib user32.lib gdi32.lib winmm.lib msvcrt.lib shell32.lib");
|
||||
cmd.add("/NODEFAULTLIB:LIBCMT");
|
||||
cmd.add("/incremental:no");
|
||||
|
||||
OS_DeleteFile("transcript_browser.pdb");
|
||||
result += Run(cmd);
|
||||
}
|
||||
|
||||
if (1) {
|
||||
Array<S8_String> cmd = {};
|
||||
cmd.add("cl.exe -nologo -Zi -MP -FC -Fe:transcript_browser.exe");
|
||||
cmd.add("cl.exe");
|
||||
cmd.add("-Fe:text_editor.exe");
|
||||
cmd.add("-Fd:text_editor.pdb");
|
||||
cmd.add("/MP /Zi /FC /nologo");
|
||||
cmd.add("/WX /W3 /wd4200 /diagnostics:column");
|
||||
cmd.add("/Oi");
|
||||
cmd.add("-std:c++20"); // semaphore
|
||||
|
||||
cmd.add("-D_CRT_SECURE_NO_WARNINGS");
|
||||
if (1) {
|
||||
cmd.add("-DDEBUG_BUILD=1");
|
||||
cmd.add("-DRELEASE_BUILD=0");
|
||||
// cmd.add("-D_DEBUG /MDd");
|
||||
} else {
|
||||
cmd.add("-DDEBUG_BUILD=0");
|
||||
cmd.add("-DRELEASE_BUILD=1");
|
||||
cmd.add("/O2 /MT /DNDEBUG /GL");
|
||||
}
|
||||
|
||||
cmd.add("-I ../src/external/raylib/include");
|
||||
cmd.add("-std:c++20");
|
||||
cmd.add("../src/transcript_browser/main.cpp");
|
||||
cmd.add("../src/text_editor/main.cpp");
|
||||
cmd.add("../src/transcript_browser/win32.cpp");
|
||||
|
||||
cmd.add("/link");
|
||||
cmd.add("../src/external/raylib/lib/raylib.lib");
|
||||
cmd.add("opengl32.lib kernel32.lib user32.lib gdi32.lib winmm.lib msvcrt.lib shell32.lib");
|
||||
cmd.add("/link /NODEFAULTLIB:LIBCMT");
|
||||
cmd.add("/NODEFAULTLIB:LIBCMT");
|
||||
cmd.add("/incremental:no");
|
||||
|
||||
OS_DeleteFile("text_editor.pdb");
|
||||
result += Run(cmd);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user