Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .clang-format
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
---
Language: Cpp
# BasedOnStyle: LLVM
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
Expand Down
2 changes: 1 addition & 1 deletion .clang-tidy
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
Checks: '*,-fuchsia-*,-google-*,-zircon-*,-abseil-*,-altera-*,-llvm*,-modernize-use-trailing-return-type,-misc-include-cleaner'
Checks: '*,-fuchsia-*,-google-*,-zircon-*,-abseil-*,-altera-*,-llvm*,-modernize-use-trailing-return-type,-misc-include-cleaner,-readability-else-after-return'
WarningsAsErrors: ''
HeaderFilterRegex: ''
FormatStyle: none
82 changes: 0 additions & 82 deletions .cmake-format.yaml
Original file line number Diff line number Diff line change
@@ -1,92 +1,10 @@
---
parse:
additional_commands:
_add_layer_library:
pargs: 2+
kwargs:
FORBIDDEN: '*'
LINK_LIBS:
kwargs:
PUBLIC: '*'
PRIVATE: '*'
INCLUDE_DIRS:
kwargs:
PUBLIC: '*'
PRIVATE: '*'
add_infrastructure_library:
pargs: 2+
kwargs:
LINK_LIBS:
kwargs:
PUBLIC: '*'
PRIVATE: '*'
INCLUDE_DIRS:
kwargs:
PUBLIC: '*'
PRIVATE: '*'
add_application_library:
pargs: 2+
kwargs:
LINK_LIBS:
kwargs:
PUBLIC: '*'
PRIVATE: '*'
INCLUDE_DIRS:
kwargs:
PUBLIC: '*'
PRIVATE: '*'
add_domain_library:
pargs: 2+
kwargs:
LINK_LIBS:
kwargs:
PUBLIC: '*'
PRIVATE: '*'
INCLUDE_DIRS:
kwargs:
PUBLIC: '*'
PRIVATE: '*'
add_libs_library:
pargs: 2+
kwargs:
LINK_LIBS:
kwargs:
PUBLIC: '*'
PRIVATE: '*'
INCLUDE_DIRS:
kwargs:
PUBLIC: '*'
PRIVATE: '*'
add_utils_library:
pargs: 2+
kwargs:
LINK_LIBS:
kwargs:
PUBLIC: '*'
PRIVATE: '*'
INCLUDE_DIRS:
kwargs:
PUBLIC: '*'
PRIVATE: '*'
add_mock_library:
pargs: 2+
kwargs:
MOCKS: '*'
add_interface_library:
pargs: 2
enable_coverage:
pargs: 1
enable_doxygen:
pargs: 1
generate_arc42_documentation:
pargs: 1
add_unit_test:
pargs: 2+
kwargs:
LINK_LIBS:
kwargs:
PUBLIC: '*'
PRIVATE: '*'
enable_sanitizers:
pargs: 1
enable_static_analysis:
Expand Down
31 changes: 20 additions & 11 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,30 +1,25 @@
FROM mcr.microsoft.com/devcontainers/base:dev-ubuntu24.04

LABEL maintainer="Michel Estermann <estermann.michel@gmail.com>"
ARG BASE_IMAGE=mcr.microsoft.com/devcontainers/base:ubuntu

FROM $BASE_IMAGE

LABEL maintainer="Michel Estermann <estermann.michel@gmail.com>"
ARG CLANG_VERSION=18
ARG GCC_VERSION=14

RUN apt-get update \
&& apt-get clean \
&& apt-get -qq install -y --no-install-recommends \
make \
build-essential \
ninja-build \
cmake \
ccache \
clang-18 \
clang-tidy-18 \
clang-format-18 \
clangd-18 \
dpkg \
pkg-config \
doxygen \
lcov \
git \
python3-full \
gcc-14 \
file \
ssh-client \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

# Install locales package and generate en_US.UTF-8 locale
Expand Down Expand Up @@ -132,3 +127,17 @@ RUN update-alternatives --install /usr/bin/cc cc /usr/bin/clang-${CLANG_VERSION}
RUN update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-${CLANG_VERSION} 100
RUN update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-${CLANG_VERSION} 100
RUN update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-${CLANG_VERSION} 100

# Install packages
RUN apt-get update \
&& apt-get -qq install -y --no-install-recommends \
ubuntu-desktop \
tightvncserver \
novnc \
websockify \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

EXPOSE 5901 6080

CMD ["sh", "-c", "/usr/share/novnc/utils/launch.sh --vnc localhost:5901 & vncserver :1 -geometry 1400x1000 -depth 24 && tail -f /dev/null"]
96 changes: 58 additions & 38 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,40 +1,60 @@
{
"name": "C++",
"build": {
"context": "..",
"dockerfile": "Dockerfile",
"args": {
"CLANG_VERSION": "18",
"GCC_VERSION": "14"
}
},
"mounts": [
"source=${localEnv:HOME}/.ssh,target=/home/vscode/.ssh,type=bind",
"source=${localEnv:HOME}/.conan2,target=/home/vscode/.conan2,type=bind",
"source=native-ccache,target=/opt/.native-ccache,type=volume"
],
"updateRemoteUserUID": true,
"postStartCommand": "git config --global --add safe.directory ${containerWorkspaceFolder}",

"postAttachCommand": "pre-commit install -f --hook-type pre-commit && conan profile detect --force && conan install . --build=missing --settings=build_type=Debug && conan install . --build=missing --settings=build_type=Release",
"customizations": {
"vscode": {
"extensions": [
"ms-vscode.cpptools",
"ms-vscode.cpptools-extension-pack",
"xaver.clang-format",
"llvm-vs-code-extensions.vscode-clangd",
"twxs.cmake",
"ms-vscode.cmake-tools",
"mhutchie.git-graph",
"donjayamanne.githistory",
"webfreak.debug",
"jnoortheen.nix-ide",
"ms-python.python",
"hbenl.vscode-test-explorer",
"ms-azuretools.vscode-docker",
"codacy-app.codacy"
]
}
}
"name": "C++ noVNC",
"build": {
"context": "..",
"dockerfile": "Dockerfile",
"args": {
"CLANG_VERSION": "19",
"GCC_VERSION": "14",
"BASE_IMAGE": "mcr.microsoft.com/devcontainers/base:ubuntu"
}
},
"mounts": [
"source=${localEnv:HOME}/.ssh,target=/home/vscode/.ssh,type=bind"
],
"workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/Coronan,type=bind",
"updateRemoteUserUID": true,
"postStartCommand": "git config --global --add safe.directory ${containerWorkspaceFolder}",
"postAttachCommand": "pre-commit install -f --hook-type pre-commit && conan profile detect --force",
"containerEnv": {
"DISPLAY": ":0"
},
"customizations": {
"vscode": {
"extensions": [
"ms-vscode.cpptools",
"ms-vscode.cpptools-extension-pack",
"ms-vscode.cmake-tools",
"xaver.clang-format",
"ms-python.python",
"ms-python.autopep8",
"jeff-hykin.better-cpp-syntax",
"matepek.vscode-catch2-test-adapter",
"mhutchie.git-graph",
"cs128.cs128-clang-tidy",
"donjayamanne.githistory",
"webfreak.debug",
"jnoortheen.nix-ide",
"hbenl.vscode-test-explorer",
"ms-azuretools.vscode-docker",
"actboy168.tasks",
"streetsidesoftware.code-spell-checker",
"github.vscode-pull-request-github"
]
}
},
"features": {
"ghcr.io/devcontainers/features/nix:1": {},
"ghcr.io/ChristopherMacGown/devcontainer-features/direnv:1": {}
},
"forwardPorts": [
5901,
6080
],
"portsAttributes": {
"6080": {
"label": "noVNC",
"onAutoForward": "openPreview"
}
}
}
4 changes: 2 additions & 2 deletions .envrc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# uncomment if you want to use a nix-shell to build
# use nix

CC=gcc
CXX=g++
export CC=gcc
export CXX=g++
2 changes: 1 addition & 1 deletion .github/workflows/api-doc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
- name: Set conan compiler env
run: conan profile detect
- name: conan install
run: conan install . --build=missing --settings=build_type=Debug
run: conan install . --build=missing --settings build_type=Debug
- name: cmake-configuration
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
- name: build-documentation
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: Linux Sanatizer Builds
name: Linux Sanitizer Builds

on:
push:
Expand Down Expand Up @@ -156,7 +156,7 @@ jobs:
- name: Set conan compiler env
run: conan profile detect
- name: conan install
run: conan install . --build=missing --settings=build_type=Debug --settings=compiler.cppstd=17
run: conan install . --build=missing --settings build_type=Debug --settings=compiler.cppstd=17
- name: CMake configure
run: |
cmake -S . --preset=${{ matrix.profile }}
Expand Down
37 changes: 32 additions & 5 deletions .github/workflows/ci-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,12 +79,21 @@ jobs:
generator: Ninja
coverage: OFF
download_qt: OFF
- name: ubuntu-24.04-clang-18-download-qt
- name: ubuntu-24.04-clang-19
os: ubuntu-24.04
build_type: Release
cppcompiler: clang++-18
ccompiler: clang-18
clang-tidy: clang-tidy-18
cppcompiler: clang++-19
ccompiler: clang-19
clang-tidy: clang-tidy-19
generator: Ninja
coverage: OFF
download_qt: OFF
- name: ubuntu-24.04-clang-19-download-qt
os: ubuntu-24.04
build_type: Release
cppcompiler: clang++-19
ccompiler: clang-19
clang-tidy: clang-tidy-19
generator: Ninja
coverage: OFF
download_qt: ON
Expand Down Expand Up @@ -124,6 +133,24 @@ jobs:
generator: Ninja
coverage: OFF
download_qt: OFF
- name: ubuntu-24.04-arm-clang
os: ubuntu-24.04-arm
build_type: Release
cppcompiler: clang++
ccompiler: clang
clang-tidy: clang-tidy
generator: Ninja
coverage: OFF
download_qt: OFF
- name: ubuntu-24.04-arm-gcc
os: ubuntu-24.04-arm
build_type: Release
cppcompiler: g++
ccompiler: gcc
clang-tidy: clang-tidy
generator: Ninja
coverage: OFF
download_qt: OFF

env:
CXX: ${{ matrix.cppcompiler }}
Expand Down Expand Up @@ -168,7 +195,7 @@ jobs:
- name: Set conan compiler env
run: conan profile detect
- name: conan install
run: conan install . --build=missing --settings=build_type=${{ matrix.build_type }} --settings=compiler.cppstd=17
run: conan install . --build=missing --settings build_type=${{ matrix.build_type }} --settings compiler.cppstd=17
- name: CMake configure
run: |
cmake -S . -B ./build -G "${{ matrix.generator }}" \
Expand Down
13 changes: 11 additions & 2 deletions .github/workflows/ci-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,29 @@ jobs:
build_type: Release
cppcompiler: clang++
ccompiler: clang
libcxx: libc++
generators: Ninja
- name: macOS-15-intel-clang
os: macos-15-intel
build_type: Release
cppcompiler: clang++
ccompiler: clang
libcxx: libc++
generators: Ninja
- name: macOS-14-clang
os: macOS-14
build_type: Release
cppcompiler: clang++
ccompiler: clang
libcxx: libc++
generators: Ninja
- name: macOS-15-clang
os: macOS-15
build_type: Release
cppcompiler: clang++
ccompiler: clang
libcxx: libc++
generators: Ninja

env:
CXX: ${{ matrix.cppcompiler }}
CC: ${{ matrix.ccompiler }}
Expand Down Expand Up @@ -63,7 +72,7 @@ jobs:
- name: Set conan compiler env
run: conan profile detect
- name: conan install
run: conan install . --build=missing --settings=build_type=${{ matrix.build_type }}
run: conan install . --build=missing --settings build_type=${{ matrix.build_type }} --settings compiler.libcxx=${{ matrix.libcxx }}
- name: CMake configure
run: |
cmake -S . -B ./build -G "${{ matrix.generators }}" \
Expand Down
Loading
Loading