diff options
| -rw-r--r-- | .devcontainer/x86-64/devcontainer.json | 3 | ||||
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | .vscode/launch.json | 31 | ||||
| -rw-r--r-- | .vscode/settings.json | 8 | ||||
| -rw-r--r-- | .vscode/tasks.json | 4 | ||||
| -rw-r--r-- | CMakeLists.txt | 1 | ||||
| -rw-r--r-- | CMakePresets.json | 3 |
7 files changed, 21 insertions, 30 deletions
diff --git a/.devcontainer/x86-64/devcontainer.json b/.devcontainer/x86-64/devcontainer.json index 0d77167..a317a22 100644 --- a/.devcontainer/x86-64/devcontainer.json +++ b/.devcontainer/x86-64/devcontainer.json @@ -5,8 +5,9 @@ "vscode": { "extensions": [ "basdp.language-gas-x86", + "llvm-vs-code-extensions.vscode-clangd", "ms-vscode.cmake-tools", - "ms-vscode.cpptools", + "webfreak.debug", "zixuanwang.linkerscript" ] } @@ -2,6 +2,7 @@ /build /.conan/install /docs/_build +/.cache # Conan Generated CMake presets CMakeUserPresets.json diff --git a/.vscode/launch.json b/.vscode/launch.json index 4dc9fc6..e522ad5 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -3,29 +3,18 @@ "configurations": [ { "name": "(gdb) QEMU", - "miDebuggerPath": "x86_64-pc-elf-gdb", - "type": "cppdbg", - "request": "launch", - "program": "${workspaceFolder}/build/bin/${command:cmake.buildType}/_kernel", - "MIMode": "gdb", - "miDebuggerServerAddress": "localhost:1234", + "type": "gdb", + "request": "attach", + "remote": true, + "target": "localhost:1234", + "valuesFormatting": "prettyPrinters", + "gdbpath": "x86_64-pc-elf-gdb", "cwd": "${workspaceFolder}", - "stopAtEntry": true, "preLaunchTask": "QEMU (gdb)", - "setupCommands": [ - { - "description": "Enable pretty-printing for gdb", - "text": "-enable-pretty-printing", - "ignoreFailures": true - }, - { - "description": "Load file", - "text": "-file-exec-and-symbols ${workspaceFolder}/build/bin/${command:cmake.buildType}/_kernel" - }, - { - "description": "Set breakpoint on _start", - "text": "-break-insert _start" - } + "executable": "${command:cmake.buildDirectory}/bin/${command:cmake.buildType}/_kernel", + "autorun": [ + "-enable-pretty-printing", + "-break-insert _start" ] } ] diff --git a/.vscode/settings.json b/.vscode/settings.json index f0f6745..6178035 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,10 +2,10 @@ "cmake.useCMakePresets": "always", "cmake.options.statusBarVisibility": "visible", - "C_Cpp.default.cppStandard": "c++20", - "C_Cpp.autoAddFileAssociations": false, - "C_Cpp.default.configurationProvider": "ms-vscode.cmake-tools", - "C_Cpp.formatting": "clangFormat", + "clangd.arguments": [ + "--compile-commands-dir=${workspaceFolder}/build", + "--query-driver=/opt/toolchain/bin/x86_64-pc-elf-g++" + ], "[cpp]": { "editor.formatOnSave": true, diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 5e8c23f..3b5ae9f 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -17,7 +17,7 @@ "-d", "int,cpu_reset", "-cdrom", - "${workspaceFolder}/build/teachos-${command:cmake.buildType}.iso" + "${command:cmake.buildDirectory}/teachos-${command:cmake.buildType}.iso" ], "isBackground": true, "presentation": { @@ -52,7 +52,7 @@ "-display", "curses", "-cdrom", - "${workspaceFolder}/build/teachos-${command:cmake.buildType}.iso" + "${command:cmake.buildDirectory}/teachos-${command:cmake.buildType}.iso" ], "isBackground": true, "presentation": { diff --git a/CMakeLists.txt b/CMakeLists.txt index 35cfd65..c0e45f8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -75,7 +75,6 @@ add_compile_options( "$<$<CXX_COMPILER_ID:GNU>:-Wextra>" "$<$<CXX_COMPILER_ID:GNU>:-Werror>" "$<$<CXX_COMPILER_ID:GNU>:-pedantic-errors>" - "$<$<CXX_COMPILER_ID:GNU>:-fsanitize=address,leak,bounds,alignment,return,integer-divide-by-zero,vla-bound,null,enum,pointer-overflow>" ) #[============================================================================[ diff --git a/CMakePresets.json b/CMakePresets.json index ecac6fb..b01208a 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -5,9 +5,10 @@ "name": "default", "binaryDir": "${sourceDir}/build", "generator": "Ninja Multi-Config", + "toolchainFile": "${workspaceFolder}/cmake/Platforms/x86_64.cmake", "cacheVariables": { "CMAKE_CONFIGURATION_TYPES": "Debug;MinSizeRel", - "CMAKE_TOOLCHAIN_FILE": "cmake/Platforms/x86_64.cmake" + "CMAKE_EXPORT_COMPILE_COMMANDS": "YES" } } ], |
