image: trainiteu/gitpod-cpp # List the start up tasks. Learn more https://www.gitpod.io/docs/config-start-tasks/ tasks: - name: vscode settings init: | mkdir -p "$PWD/.vscode"; cat << 'EOF' > "$PWD/.vscode/settings.json" { "cmake.buildDirectory": "${workspaceFolder}/build/${buildKitVendor}-${buildKitVersionMajor}", "cmake.configureArgs": [ "-DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake" ], "cmake.generator": "Ninja Multi-Config", "restructuredtext.preview.scrollEditorWithPreview": false, "restructuredtext.preview.scrollPreviewWithEditor": false } EOF exit - name: conan before: | sudo pip3 install -U conan conan config init conan profile update settings.compiler.libcxx=libstdc++11 default conan profile update settings.compiler.cppstd=20 default conan profile update conf.tools.cmake.cmaketoolchain:generator=Ninja default conan remote add -i 0 conan-mpusz https://mpusz.jfrog.io/artifactory/api/conan/conan-oss pushd /workspace/.conan/profiles cp default gcc10 cp default gcc11 cp default clang13 popd conan profile update settings.compiler.version=10 gcc10 conan profile update env.CXX=/usr/bin/g++-10 gcc10 conan profile update env.CC=/usr/bin/gcc-10 gcc10 conan profile update settings.compiler=clang clang13 conan profile update settings.compiler.version=13 clang13 conan profile update settings.compiler.libcxx=libc++ clang13 conan profile update env.CXX=/usr/bin/clang++-13 clang13 conan profile update env.CC=/usr/bin/clang-13 clang13 gp sync-done conan-init exit - name: gcc-10 init: | gp sync-await conan-init mkdir -p build/GCC-10 && cd build/GCC-10 conan install ../.. -pr gcc10 -e mp-units:CONAN_RUN_TESTS=True -o build_docs=False -b outdated conan install ../.. -pr gcc10 -e mp-units:CONAN_RUN_TESTS=True -o build_docs=False -b outdated -s build_type=Debug cmake ../.. --no-warn-unused-cli -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE -DCMAKE_C_COMPILER=/bin/x86_64-linux-gnu-gcc-10 -DCMAKE_CXX_COMPILER=/bin/x86_64-linux-gnu-g++-10 cmake --build . --config Release -j cmake --build . --config Debug -j ctest -C Release ctest -C Debug - name: gcc-11 init: | gp sync-await conan-init mkdir -p build/GCC-11 && cd build/GCC-11 conan install ../.. -pr gcc11 -e mp-units:CONAN_RUN_TESTS=True -o build_docs=False -b outdated conan install ../.. -pr gcc11 -e mp-units:CONAN_RUN_TESTS=True -o build_docs=False -b outdated -s build_type=Debug cmake ../.. --no-warn-unused-cli -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE -DCMAKE_C_COMPILER=/bin/x86_64-linux-gnu-gcc-11 -DCMAKE_CXX_COMPILER=/bin/x86_64-linux-gnu-g++-11 cmake --build . --config Release -j cmake --build . --config Debug -j ctest -C Release ctest -C Debug - name: clang-13 init: | gp sync-await conan-init mkdir -p build/Clang-13 && cd build/Clang-13 conan install ../.. -pr clang13 -e mp-units:CONAN_RUN_TESTS=True -o build_docs=False -b outdated conan install ../.. -pr clang13 -e mp-units:CONAN_RUN_TESTS=True -o build_docs=False -b outdated -s build_type=Debug cmake ../.. --no-warn-unused-cli -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE -DCMAKE_C_COMPILER=/bin/clang-13 -DCMAKE_CXX_COMPILER=/bin/clang++-13 cmake --build . --config Release -j cmake --build . --config Debug -j ctest -C Release ctest -C Debug vscode: extensions: - twxs.cmake - ms-vscode.cmake-tools - streetsidesoftware.code-spell-checker - vivaxy.vscode-conventional-commits - github.vscode-pull-request-github - lextudio.restructuredtext - matepek.vscode-catch2-test-adapter github: prebuilds: # enable for the default branch (defaults to true) master: true # enable for all branches in this repo (defaults to false) branches: true # enable for pull requests coming from this repo (defaults to true) pullRequests: true # enable for pull requests coming from forks (defaults to false) pullRequestsFromForks: true # add a check to pull requests (defaults to true) addCheck: true # add a "Review in Gitpod" button as a comment to pull requests (defaults to false) addComment: true # add a "Review in Gitpod" button to the pull request's description (defaults to false) addBadge: false