1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/DISOGitee-FastCAE

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Описание

Структура папок с файлами исходного кода

  • cmake: скрипты для работы с CMake.
  • doc: шаблоны и конфигурационные файлы, необходимые для создания документации.
  • extlib: сторонние библиотеки (см. раздел «extlib»).
  • src: исходный код FastCAE.
  • test: код для модульного тестирования (требует организации).

Компиляция

Параметры сборки CMake для FastCAE

  • FASTCAE_AUTO_DOWNLOAD: будет ли автоматически клонироваться репозиторий зависимостей из Gitee, если папка extlib отсутствует.
  • FASTCAE_DOXYGEN_DOC: нужно ли создавать документацию Doxygen (требуется локальная установка Doxygen).
  • FASTCAE_ENABLE_DEV: следует ли копировать файлы зависимостей в папку отладки после завершения сборки (включение этой опции приведёт к увеличению времени сборки, так как каждый раз при компиляции будут копироваться файлы сторонних библиотек).
  • FASTCAE_ENABLE_MPI: поддержка MPI (не работает).
  • FASTCAE_ENABLE_OPENMP: поддержка OpenMP.
  • FASTCAE_ENABLE_TEST: создание модуля модульного тестирования (не работает).
  • FASTCAE_INSTALLATION_PACKAGE: создание установочного пакета (PACKAGE).

Предопределённые цели CMake

  • ALL_BUILD: сборка всего проекта.
  • INSTALL: установка FastCAE в каталог, определённый переменной CMAKE_INSTALL_PREFIX.
  • PACKAGE или package: цель для создания установочных пакетов (exe, deb, rpm). В Visual Studio эта цель пишется большими буквами, а в других системах сборки — маленькими.
  • DOXYGEN: генерация документации FastCAE в формате Doxygen HTML.

Видеоуроки по сборке

Windows

— cmake 3.24.1 + Visual Studio Community 2017. — Сборка с помощью QtCreator.

Linux

— CMake + GNU GCC + make. — Использование VSCode для сборки, компиляции, установки и упаковки.

Сборка

При использовании VSCode в качестве среды разработки на Windows в качестве инструмента сборки можно использовать только Visual Studio. Поддержка MinGW не предусмотрена.

Структура папки extlib

extlib
├─CGNS(version:4.3.0)

├─Gmsh(version:4.8.0)

├─HDF5(version:1.13.1)

├─OCC(version:7.6.0)

├─Python(version:3.7.0)

├─QuaZIP(version:0.7.3)

├─Qwt(version: Qwt:6.1.6 QwtPolar:1.1.1)

├─TecIO(version:1.4.2)

└─VTK(version:9.0.1)

Получение зависимостей extlib

Linux

git clone https://gitee.com/DISOGitee/FastCAELinuxExtlib.git extlib

Windows

git clone https://gitee.com/DISOGitee/FastCAEWinExtlib.git extlib

Компиляция и упаковка

Проект использует систему сборки CMake и может быть преобразован в проект Visual Studio 2017, сгенерирован Makefile или открыт в IDE, поддерживающей CMake (например, VSCode, CLion, Visual Studio, Qt Creator).

Файлы зависимостей будут автоматически клонированы в папку extlib во время сборки в соответствии с системой. Если требуется автономная установка, зависимости можно загрузить вручную через «Получение зависимостей extlib».

Сборка проекта:

cmake -DCMAKE_INSTALL_PREFIX:PATH=/path_to_install -DQt5_DIR:PATH=/pathofQt5Config.cmake  -B build -S . 

Если вы используете командную строку для сборки проекта в среде Windows, добавьте параметр -G "Visual Studio 15 2017 Win64". Конкретные параметры зависят от версии вашей Visual Studio.

Установка:

cmake --build build --target install

Упаковка исходного кода (.tar.gz and .zip):

cmake --build build --target package_source

Создание установочных пакетов (deb, rpm, exe):

cmake --build build --target package

Примечание:

  1. Если система сборки — Makefile, Ninja или Xcode, то будет создана цель package. Для систем сборки MVS используется цель PACKAGE.
cmake --build . --target package
make package
ninja package
  1. Системы сборки Makefile и Ninja также создают цель package_source для упаковки исходного кода.
cmake --build . --target package_source
make package_source
ninja package_source

Особые указания

  • В путях исходного кода не должно быть китайских символов, пробелов и специальных символов:(){}*/?|.
  • Минимальная версия CMake — 3.21.
  • Для создания установочного пакета в Windows требуется NSIS версии 3.03+.
  • Для создания пакетов Debian и RPM в Linux требуются команды dpkg-deb или rpmbuild.
  • В Linux для успешной сборки могут потребоваться пакеты OpenGL, fontconfig и xkbcommon.

Тестирование

Операционная система GLIBC Компилятор Qt Результат Примечание
1 Ubuntu 18.04 2.27 GNU GCC 7.5.0 Qt5.14.2 Прошёл
2 Ubuntu 20.04 2.31 GNU GCC 9.4.0 Qt5.14.2 Прошёл
3 Ubuntu 22.04 2.35 GNU GCC 11.2.0 Qt5.14.2 Прошёл Успешная упаковка deb
4 CentOS 7.0.1406 2.17 GNU GCC 8.3.1 Qt5.14.2 Прошёл Использовался devtoolset-8 для обновления GCC
5 CentOS 7.9.2009 2.17 GNU GCC 7.5.0 Qt5.14.2 Прошёл
6 CentOS 8.5.2111 2.28 GNU GCC 8.5.0 Qt5.14.2 Прошёл Удачная упаковка rpm
7 RedHat Server 7.0 Не тестировался
8 RedHat 8.1 2.28 GNU GCC 8.5.0 Qt5.14.2 Прошёл
9 RedHat 9.0 Не тестировался
10 Windows 7 X64 Visual Studio 2017 Community Qt5.14.2 Прошёл В комплекте с Visual Studio идёт Windows 8.1 SDK
11 Windows 10 X64 Visual Studio 2017 Community Qt5.14.2 Прошёл SDK 10.0.17763.0, успешная упаковка NSIS
12 Deepin 20.7 (Community Edition) Не тестировался
13 Ubuntukylin 22.04 Не тестировался

Связанные ссылки

Благодарим участников открытого исходного кода

Общение

Технический обмен в QQ группе: 671925863 Официальный аккаунт WeChat: FastCAE-DISO

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
BSD-3-Clause
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/DISOGitee-FastCAE.git
git@api.gitlife.ru:oschina-mirror/DISOGitee-FastCAE.git
oschina-mirror
DISOGitee-FastCAE
DISOGitee-FastCAE
master