From 789e2b678bb731b6278d8665026f4cff1466c4c6 Mon Sep 17 00:00:00 2001 From: Max Amundsen Date: Wed, 25 Feb 2026 10:40:05 -0500 Subject: [PATCH] add raddbug files --- .vscode/launch.json | 1 + autosample.raddbg | 29 +++++++++++++++++++++++++++++ nob.c | 21 ++++++++++++++++----- src/main.cpp | 3 +++ 4 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 autosample.raddbg diff --git a/.vscode/launch.json b/.vscode/launch.json index a8931c3..59237ef 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -8,6 +8,7 @@ "program": "${workspaceFolder}/build/autosample.exe", "args": [], "cwd": "${workspaceFolder}", + "console": "integratedTerminal", "preLaunchTask": "build-debug" } ] diff --git a/autosample.raddbg b/autosample.raddbg new file mode 100644 index 0000000..e6a5398 --- /dev/null +++ b/autosample.raddbg @@ -0,0 +1,29 @@ +// raddbg 0.9.24 project file + +recent_file: path: "src/theme.cpp" +recent_file: path: "src/main.cpp" +recent_file: path: "nob.obj" +recent_file: path: "vendor/imgui/imgui.h" +recent_file: path: "src/platform/platform.h" +recent_file: path: "project.rad" +target: +{ + executable: "build/autosample.exe" + working_directory: build +} +debug_info: +{ + path: "C:/Users/mta/projects/autosample/build/autosample.pdb" + timestamp: 66207523114644 +} +target: +{ + executable: "build/autosample.exe" + working_directory: "build/" + enabled: 1 +} +breakpoint: +{ + source_location: "src/theme.cpp:4:1" + hit_count: 1 +} diff --git a/nob.c b/nob.c index f4aba9c..4dd905a 100644 --- a/nob.c +++ b/nob.c @@ -58,9 +58,9 @@ static bool build_imgui_lib(bool debug) { nob_cmd_append(&cmd, "/Ivendor/imgui", "/Ivendor/imgui/backends"); if (debug) { - nob_cmd_append(&cmd, "/Zi", "/Od", "/D_DEBUG"); + nob_cmd_append(&cmd, "/MTd", "/Zi", "/Od", "/D_DEBUG"); } else { - nob_cmd_append(&cmd, "/O2", "/DNDEBUG"); + nob_cmd_append(&cmd, "/MT", "/O2", "/DNDEBUG"); } nob_cmd_append(&cmd, nob_temp_sprintf("/Fo:%s/", BUILD_DIR)); @@ -73,7 +73,7 @@ static bool build_imgui_lib(bool debug) { // Archive .obj files into a .lib cmd.count = 0; - nob_cmd_append(&cmd, "lib.exe", "/nologo"); + nob_cmd_append(&cmd, "lib.exe", "/nologo", "/MACHINE:X64"); nob_cmd_append(&cmd, nob_temp_sprintf("/OUT:%s", lib_path)); for (size_t i = 0; i < NOB_ARRAY_LEN(imgui_files); i++) @@ -92,8 +92,18 @@ int main(int argc, char **argv) { NOB_GO_REBUILD_URSELF(argc, argv); bool debug = false; + bool clean = false; for (int i = 1; i < argc; i++) { if (strcmp(argv[i], "debug") == 0) debug = true; + else if (strcmp(argv[i], "clean") == 0) clean = true; + } + + if (clean) { + nob_log(NOB_INFO, "Cleaning %s/", BUILD_DIR); + Nob_Cmd cmd = {0}; + nob_cmd_append(&cmd, "cmd.exe", "/c", "if exist " BUILD_DIR " rmdir /s /q " BUILD_DIR); + if (!nob_cmd_run(&cmd)) return 1; + return 0; } if (!nob_mkdir_if_not_exists(BUILD_DIR)) return 1; @@ -109,9 +119,9 @@ int main(int argc, char **argv) { nob_cmd_append(&cmd, "/Isrc", "/Ivendor/imgui", "/Ivendor/imgui/backends"); if (debug) { - nob_cmd_append(&cmd, "/Zi", "/Od", "/D_DEBUG"); + nob_cmd_append(&cmd, "/MTd", "/Zi", "/Od", "/D_DEBUG"); } else { - nob_cmd_append(&cmd, "/Zi", "/O2", "/DNDEBUG"); + nob_cmd_append(&cmd, "/MT", "/Zi", "/O2", "/DNDEBUG"); } nob_cmd_append(&cmd, nob_temp_sprintf("/Fe:%s/autosample.exe", BUILD_DIR)); @@ -122,6 +132,7 @@ int main(int argc, char **argv) { nob_cmd_append(&cmd, src_files[i]); nob_cmd_append(&cmd, "/link"); + nob_cmd_append(&cmd, "/MACHINE:X64"); nob_cmd_append(&cmd, "/SUBSYSTEM:CONSOLE"); nob_cmd_append(&cmd, nob_temp_sprintf("/PDB:%s/autosample.pdb", BUILD_DIR)); nob_cmd_append(&cmd, "/DEBUG"); diff --git a/src/main.cpp b/src/main.cpp index 5d5d7fe..62f2514 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -5,6 +5,7 @@ #include "renderer/renderer.h" #include "imgui.h" #include "imgui_internal.h" +#include // [cpp] #include "platform/platform_win32.cpp" @@ -33,6 +34,8 @@ static void build_default_layout(ImGuiID dockspace_id) { int main(int argc, char **argv) { + std::cout << "Hello" << std::endl; + (void)argc; (void)argv;