diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 00000000..e68b9f7e --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,30 @@ +FROM mcr.microsoft.com/devcontainers/base:jammy + +RUN apt update && apt install -y \ + build-essential \ + pkg-config \ + cmake \ + libboost-dev \ + libboost-program-options-dev \ + lsb-release \ + software-properties-common \ + gnupg \ + apt-transport-https \ + bear + +# Install dkp-pacman +RUN mkdir -p /usr/local/share/keyring/ && \ + wget -O /usr/local/share/keyring/devkitpro-pub.gpg https://apt.devkitpro.org/devkitpro-pub.gpg && \ + echo "deb [signed-by=/usr/local/share/keyring/devkitpro-pub.gpg] https://apt.devkitpro.org stable main" \ + > /etc/apt/sources.list.d/devkitpro.list && \ + apt update && \ + apt install -y devkitpro-pacman + +# Install devkitPPC +RUN bash -c '[[ ! -f /etc/mtab ]] && ln -s /proc/mounts /etc/mtab || true' && \ + dkp-pacman -S gamecube-dev --noconfirm +ENV DEVKITPPC=/opt/devkitpro/devkitPPC + +# Install latest clangd +RUN bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" && \ + ln -s /usr/bin/clangd-* /usr/local/bin/clangd diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000..03c33d3a --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,17 @@ +{ + "name": "SMB2WorkshopMod", + "build": { + "dockerfile": "Dockerfile" + }, + "postCreateCommand": "script/configure-clion-project.sh", + + // Configure tool-specific properties. + "customizations": { + "vscode": { + "extensions": [ + "ms-vscode.cpptools", + "llvm-vs-code-extensions.vscode-clangd" + ] + } + } +} diff --git a/.gitignore b/.gitignore index 5f18d979..1721f097 100644 --- a/.gitignore +++ b/.gitignore @@ -287,3 +287,4 @@ __pycache__/ /ApeSphere.* /.qtc_clangd /out +/.cache \ No newline at end of file