From 758f483c912ba44cfa8418dce8d7a6fbdeb60373 Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Thu, 8 Oct 2020 18:39:25 -0400 Subject: [PATCH 1/3] DEV: Add a devcontainer to allow codespaces development --- .devcontainer/Dockerfile | 7 +++++++ .devcontainer/base.Dockerfile | 12 ++++++++++++ .devcontainer/devcontainer.json | 29 +++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 .devcontainer/Dockerfile create mode 100644 .devcontainer/base.Dockerfile create mode 100644 .devcontainer/devcontainer.json diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..60fc6ab --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,7 @@ +# [Choice] Debian / Ubuntu version: debian-10, debian-9 +ARG VARIANT=buster +FROM mcr.microsoft.com/vscode/devcontainers/cpp:dev-${VARIANT} + +# [Optional] Uncomment this section to install additional packages. +RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ + && apt-get -y install --no-install-recommends libsparsehash-dev doxygen diff --git a/.devcontainer/base.Dockerfile b/.devcontainer/base.Dockerfile new file mode 100644 index 0000000..a41a815 --- /dev/null +++ b/.devcontainer/base.Dockerfile @@ -0,0 +1,12 @@ +# [Choice] Debian / Ubuntu version: debian-10, debian-9 +ARG VARIANT=buster +FROM mcr.microsoft.com/vscode/devcontainers/base:${VARIANT} + +# Install needed packages. Use a separate RUN statement to add your own dependencies. +RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ + && apt-get -y install build-essential cmake cppcheck valgrind clang lldb llvm \ + && apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/* + +# [Optional] Uncomment this section to install additional OS packages. +# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ +# && apt-get -y install --no-install-recommends diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..d3b3d81 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,29 @@ +{ + "name": "C++", + "build": { + "dockerfile": "Dockerfile", + // Update 'VARIANT' to pick an Debian / Ubuntu OS version: debian-10, debian-9, ubuntu-20.04, ubuntu-18.04 + "args": { "VARIANT": "ubuntu-20.04" } + }, + "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined"], + + // Set *default* container specific settings.json values on container create. + "settings": { + "terminal.integrated.shell.linux": "/bin/bash" + }, + + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "ms-vscode.cpptools" + ] + + // 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", + + // Uncomment to connect as a non-root user. See https://aka.ms/vscode-remote/containers/non-root. + // "remoteUser": "vscode" + +} From dffb0f90c728a16c8d2ab546c2f359ef889aaa9e Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Thu, 8 Oct 2020 19:06:18 -0400 Subject: [PATCH 2/3] updates --- .devcontainer/Dockerfile | 6 +++++- .devcontainer/devcontainer.json | 4 ++-- .gitmodules | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 60fc6ab..1b5736e 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -4,4 +4,8 @@ FROM mcr.microsoft.com/vscode/devcontainers/cpp:dev-${VARIANT} # [Optional] Uncomment this section to install additional packages. RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ - && apt-get -y install --no-install-recommends libsparsehash-dev doxygen + && apt-get -y install --no-install-recommends libsparsehash-dev doxygen python3-pip + +ENV CC=gcc-9 +ENV CXX=g++-9 +ENV PYTHON=python3 diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index d3b3d81..7f28aaa 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -15,13 +15,13 @@ // Add the IDs of extensions you want installed when the container is created. "extensions": [ "ms-vscode.cpptools" - ] + ], // 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", + "postCreateCommand": "git submodule update --recursive --init && pip3 install numpy pytest sphinx sphinx_rtd_theme breathe ipython", // Uncomment to connect as a non-root user. See https://aka.ms/vscode-remote/containers/non-root. // "remoteUser": "vscode" diff --git a/.gitmodules b/.gitmodules index e123acf..8a9d107 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "submodules/googletest"] path = submodules/googletest - url = git@github.com:google/googletest + url = https://github.com/google/googletest.git From b260d52cef415b87ccf26fdff59f8770ad7c001e Mon Sep 17 00:00:00 2001 From: Gerry Manoim Date: Thu, 8 Oct 2020 19:16:46 -0400 Subject: [PATCH 3/3] also install dev headers --- .devcontainer/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 1b5736e..58b61f8 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -4,7 +4,7 @@ FROM mcr.microsoft.com/vscode/devcontainers/cpp:dev-${VARIANT} # [Optional] Uncomment this section to install additional packages. RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ - && apt-get -y install --no-install-recommends libsparsehash-dev doxygen python3-pip + && apt-get -y install --no-install-recommends libsparsehash-dev doxygen python3-dev python3-pip ENV CC=gcc-9 ENV CXX=g++-9