diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..7f1f084 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,15 @@ +FROM ghcr.io/xboxdev/nxdk:latest + +# NOTE: curl-dev is require to workaround unknown option failure from libcurl (assumed is old version) +RUN apk add build-base ninja zip unzip curl-dev curl git + +# Initial env variable for vcpkg path +ENV VCPKG_ROOT="/usr/local/vcpkg" +ENV PATH="${PATH}:${VCPKG_ROOT}" + +# Install vcpkg +RUN git clone https://github.com/microsoft/vcpkg ${VCPKG_ROOT} \ + && ${VCPKG_ROOT}/bootstrap-vcpkg.sh + +# Include missing path to nxdk's bin directory. +ENV PATH="${NXDK_DIR}/bin:${PATH}" diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..c3f71b8 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,17 @@ +{ + "name": "Xbox Development", + + "build": { + "dockerfile": "Dockerfile" + }, + + // Configure tool-specific properties. + "customizations": { + "vscode": { + "extensions": [ + "ms-vscode.cpptools-extension-pack", + "ms-vscode.makefile-tools" + ] + } + } +} diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..2c43bb7 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,22 @@ +{ + "configurations": [ + { + "name": "nxdk", + "includePath": [ + "${default}", + "${NXDK_DIR}/lib", + "${NXDK_DIR}/lib/pdclib/include", + "${NXDK_DIR}/lib/pdclib/platform/xbox/include", + "${NXDK_DIR}/lib/winapi", + "${NXDK_DIR}/lib/xboxrt/libc_extensions", + "${NXDK_DIR}/lib/xboxrt/vcruntime" + ], + "compilerArgs": [ + "-fms-extensions" + ], + "compilerPath": "${NXDK_DIR}/bin/nxdk-cc", + "intelliSenseMode": "windows-clang-x86" + } + ], + "version": 4 +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..73bd481 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,10 @@ +{ + "C_Cpp.autoAddFileAssociations": false, + "C_Cpp.default.includePath": [ + "${workspaceFolder}/src" + ], + "files.exclude": { + "**/*.d": true, + "**/*.obj": true + } +}