diff --git a/.devcontainer/graphical/Dockerfile b/.devcontainer/graphical/Dockerfile new file mode 100644 index 0000000000000..bb29bfd376cbc --- /dev/null +++ b/.devcontainer/graphical/Dockerfile @@ -0,0 +1,9 @@ +FROM mcr.microsoft.com/devcontainers/cpp:0-ubuntu-22.04 + +RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ + && apt-get -y install --no-install-recommends libsdl2-dev libsdl2-ttf-dev libharfbuzz-dev \ + libsdl2-image-dev libjpeg-turbo8-dev libtiff-dev libwebp-dev libzip-dev libzstd-dev \ + libsdl2-mixer-dev libflac-dev libasound2-dev libfreetype6-dev build-essential astyle ccache + +# [Optional] comment out this section unless you want to compile the Object Creator. Install some QT libraries +RUN apt-get -y install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools diff --git a/.devcontainer/graphical/devcontainer.json b/.devcontainer/graphical/devcontainer.json new file mode 100644 index 0000000000000..09943e758f9d9 --- /dev/null +++ b/.devcontainer/graphical/devcontainer.json @@ -0,0 +1,34 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/cpp +{ + "name": "Standard + Qt5", + "build": { + "dockerfile": "Dockerfile" + }, + "customizations": { + "vscode": { + "extensions": [ + "github.vscode-github-actions", + "ms-vscode.makefile-tools", + "ms-vscode.cpptools-extension-pack", + "EditorConfig.EditorConfig", + "chiehyu.vscode-astyle" + ] + } + } + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "gcc -v", + + // Configure tool-specific properties. + // "customizations": {}, + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bb87f34eed786..0ee426ddc90ed 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -281,8 +281,9 @@ jobs: if: matrix.artifact == 'windows-objectcreator-x64' uses: devcontainers/ci@v0.3 with: - imageName: ghcr.io/cleverraven/cataclysm-dda/cataclysm-dda-devcontainer - cacheFrom: ghcr.io/cleverraven/cataclysm-dda/cataclysm-dda-devcontainer + imageName: ghcr.io/cleverraven/cataclysm-dda/cataclysm-dda-devcontainer-cross-compile + cacheFrom: ghcr.io/cleverraven/cataclysm-dda/cataclysm-dda-devcontainer-cross-compile + configFile: ./.devcontainer/cross-compile/devcontainer.json push: always runCmd: | git config --global --add safe.directory /workspaces/Cataclysm-DDA @@ -291,9 +292,10 @@ jobs: if: matrix.artifact == 'linux-objectcreator-x64' uses: devcontainers/ci@v0.3 with: - imageName: ghcr.io/cleverraven/cataclysm-dda/cataclysm-dda-devcontainer - cacheFrom: ghcr.io/cleverraven/cataclysm-dda/cataclysm-dda-devcontainer - push: never + imageName: ghcr.io/cleverraven/cataclysm-dda/cataclysm-dda-devcontainer-graphical + cacheFrom: ghcr.io/cleverraven/cataclysm-dda/cataclysm-dda-devcontainer-graphical + configFile: ./.devcontainer/graphical/devcontainer.json + push: always runCmd: | git config --global --add safe.directory /workspaces/Cataclysm-DDA make -j$((`nproc`+0)) TILES=1 LINTJSON=0 RELEASE=1 object_creator