dockpack.base_boost

GalaxyBuild Status

base_boost ist eine Ansible-Rolle, die Bibliotheken für die GNU C++ Compiler-Tools installiert.

Anforderungen

RHEL-ähnliches System, oder Ubuntu, oder Windows.

Rollenvariablen

  • Unternehmensfunktion: schaltet den gewünschten Zustand um. compilers_present: present

  • Softwarekollektionen bieten die neuesten Versionen von Programmiersprachen an. Setzen Sie den Wert auf true, um auch das GCC-Toolkit auf CentOS 8 zu verwenden. collections_enabled: true

  • Genehmigte/Testversion der Softwarekollektionen 'devtoolset' cplusplus_devtoolset: devtoolset-7

Die meisten Boost-Bibliotheken sind Header-only: sie bestehen vollständig aus Header-Dateien, die Templates und Inline-Funktionen enthalten, und benötigen keine separat kompilierten Bibliotheks-Binärdateien oder besondere Behandlung beim Verlinken. Diese Rolle kompiliert jedoch Bibliotheken, aber Sie können dieses Verhalten überschreiben, wenn Sie möchten:

compile_boost: true

Die einzigen Boost-Bibliotheken, die separat gebaut werden müssen und keine zusätzliche Dokumentation zum Kompilieren haben, sind standardmäßig gesetzt (überschreiben Sie diese in group_vars oder Ihrem Playbook):

compile_boost_with:
  --with-chrono
  --with-context
  --with-filesystem
  --with-graph_parallel
  --with-iostreams
  --with-locale
  --with-program_options
  --with-regex
  --with-serialization
  --with-signals
  --with-system
  --with-thread
  --with-timer
  --with-wave

boost_cflags-Werte für Windows

/DFOO - definiert FOO im Präprozessor
/EHsc - fängt C++-Ausnahmen ab, geht davon aus, dass extern "C"-Funktionen niemals C++-Ausnahmen auslösen
/GR - aktiviert RTTI
/MD - erstellt eine multithreaded DLL
/MDd - erstellt eine Debug-multithreaded DLL
/O1 - für Größe optimieren
/O2 - für Geschwindigkeit optimieren
/Ob0 - kein automatisches Inlining
/Ob1 - nur Inline-Funktionen, die als inline markiert sind, und C++-Mitgliedsfunktionen, die in einer Klassendeklaration definiert sind
/Ob2 - dem Compiler freies Inlining erlauben
/Od - keine Optimierung
/RTC1 - Laufzeitprüfung: melden, wenn eine Variable verwendet wird, ohne initialisiert zu sein, und Laufzeitfehlerüberprüfung des Stackrahmens. Weitere Details finden Sie auf ihrer Website.
/W3 - verwenden Sie Warnstufe 3 (von 4), "Produktionsqualität"
/Zi - "vollständige Debugging-Informationen" generieren, wie -g für clang/gcc

Abhängigkeiten

https://www.softwarecollections.org/en/docs/

Beispielverwendung

Verweisen Sie auf einen vollständigen Build-Server https://github.com/bbaassssiiee/buildserver

Lizenz

MIT

Autor Informationen

Bas Meijer
@bbaassssiiee

Über das Projekt

Boost libraries for C++

Installieren
ansible-galaxy install dockpack.base_boost
GitHub Repository
Lizenz
mit
Downloads
323
Besitzer
CI/CD