Генератор комбинационных схем
Главный репозиторий проекта: 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
, предлагается два возможных решения.
- Так как критических отличий между различными версиями clang нет,
допустимо просто создать link с именем
clang-format-15
:
sudo link /usr/bin/clang-format /usr/bin/clang-format-15
- Допустимой является установка
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
Режим разработчика
Несколько советов, которые помогут Вам создать и протестировать этот проект в качестве разработчика и потенциального участника представлены здесь.
Сборка программы
Для сборки программы необходимо выполнить следующие команды из начальной директории:
chmod +x buildGraph.sh
./buildGraph.sh
Подробная схема сборка описана здесь.
Стиль кода
Предварительные действия перед работой с кодом в VsCode, а также некоторую информацию касательно стиля кода и локальных файлов .json можно посмотреть здесь.
СБорка документации
Для того, чтобы собрать документацию, вам потребуеутся скачать следущий набор пакетов для ОС 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 .
Лицензия
Смотрите файл с лицензией.