C

CircuitGen_Graph

Генератор комбинационных схем

pipeline status coverage report Latest Release

Оглавление:

Главный репозиторий проекта: https://hub.mos.ru/circuitgen/CircuitGen

Сборка и запуск производятся из операционной системы Linux.

Программа запускалась на Ubuntu 22.04 с использованием WSL (Windows Subsystem for Linux).

В проект добавлена система логирования. Для корректной работы библиотеки необходимо инициализировать библиотеку командой: #include "easyloggingpp/easylogging++.h" INITIALIZE_EASYLOGGINGPP

Установка необходимых пакетов

Установка пакетов

С помощью apt

sudo apt install clang clang-tidy clang-format-15 g++ gcc make openssl cmake lcov ninja-build

С помощью dnf (для rpm ветки)

sudo dnf install clang clang-tools-extra g++ gcc make openssl cmake lcov ninja-build

Так как в проекте используется clang-format-15, предлагается два возможных решения.

  1. Так как критических отличий между различными версиями clang нет, допустимо просто создать link с именем clang-format-15:
sudo link /usr/bin/clang-format /usr/bin/clang-format-15
  1. Допустимой является установка clang-format-15 посредством pip. Отметим, что в данном случае создание link может быть сопряжено с некоторыми трудностями.
sudo dnf install python python-pip

Далее требуется скачать конкретную версию clang-format.

pip install clang-format==15.0.7

Для проверки корректности кода на этапе компиляции используется clang-tidy. В случае, если clang-tidy не будет найден, в терминал выведется соответствующее сообщение и компиляция прервется.

Установка cmake 3.28.1

В случае проблем при установке cmake, попробуйте данный способ:

sudo apt install tar wget
cd ~/
wget https://cmake.org/files/v3.28/cmake-3.28.1.tar.gz
tar xzf cmake-3.28.1.tar.gz
rm -rf cmake-3.28.1.tar.gz
cd cmake-3.28.1
./bootstrap
make -j$(nproc)
sudo make install
cd ..
sudo rm -rf cmake-3.28.1

Установка Doxygen 1.13.2

Для сборки Doxygen необходимо предварительно установить bison и flex.

sudo apt-get install flex bison

Для установки Doxygen необходимо собрать программу из исходного кода.

wget https://www.doxygen.nl/files/doxygen-1.13.2.src.tar.gz 
tar xf doxygen-1.13.2.src.tar.gz
cd doxygen-1.13.2
mkdir build
cd build
cmake -G "Unix Makefiles" ..
make -j $(nproc)
sudo make install
cd ../..
rm -r doxygen-1.13.2

Режим разработчика

Несколько советов, которые помогут Вам создать и протестировать этот проект в качестве разработчика и потенциального участника представлены здесь.

↑ Contents

Сборка программы

Для сборки программы необходимо выполнить следующие команды из начальной директории:

chmod +x buildGraph.sh
./buildGraph.sh

Подробная схема сборка описана здесь.

↑ Contents

Стиль кода

Предварительные действия перед работой с кодом в VsCode, а также некоторую информацию касательно стиля кода и локальных файлов .json можно посмотреть здесь.

↑ Contents

СБорка документации

Для того, чтобы собрать документацию, вам потребуеутся скачать следущий набор пакетов для ОС Fedora:

sudo dnf install \
  doxygen \
  texlive-scheme-medium \
  texlive-xetex \
  texlive-collection-latex \
  texlive-collection-fontsrecommended \
  texlive-collection-langcyrillic \
  texlive-wrapfig \
  texlive-tabu \
  texlive-etoc \
  texlive-needspace \
  texlive-adjustbox \
  texlive-capt-of \
  texlive-zref \
  texlive-titlesec \
  texlive-fancyhdr \
  texlive-pdfpages \
  texlive-geometry \
  texlive-underscore \
  texlive-upquote \
  texlive-float \
  texlive-listings \
  texlive-xcolor \
  texlive-graphics \
  texlive-enumitem \
  texlive-amsmath \
  texlive-amsfonts \
  texlive-amssymb \
  texlive-courier \
  texlive-helvetic \
  texlive-lm \
  texlive-inconsolata \
  python3 \
  unzip \
  curl

Или для Ubuntu:

sudo apt update && sudo apt install -y \
  doxygen \
  texlive-xetex \
  texlive-lang-cyrillic \
  texlive-latex-recommended \
  texlive-latex-extra \
  texlive-fonts-recommended \
  texlive-fonts-extra \
  texlive-science \
  fonts-lmodern \
  fonts-inconsolata \
  curl \
  unzip \
  python3

После этого вам потребуется собрать проект с флагами для сборки документации

cmake -DBUILD_MCSS_DOCS=ON --preset=dev
cmake --build build/ --preset=dev -j $(nproc) --target docs

После этого вы можете собрать файл с документацией в формате pdf. Скопируем файл в директорию, где находится текущая рабочая директория проекта:

./get_pdf.sh build/dev/docs/Doxygen_output/latex/
cp ./build/dev/docs/Doxygen_output/latex/refman.pdf .

Лицензия

Смотрите файл с лицензией.

↑ Contents