You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
4.2 KiB
88 lines
4.2 KiB
TriBITS/tribits/ Directory Contents
|
|
+++++++++++++++++++++++++++++++++++
|
|
|
|
This directory contains the implementation for the various parts of TriBITS
|
|
that are used by TriBITS projects to implement TriBITS functionality. It also
|
|
contains basic documentation in the subdirectory doc/ that is very close to
|
|
the TriBITS implementation. Files and directories from here are what get
|
|
installed on the system or will be snapshotted into
|
|
``<projectDir>/cmake/tribits/``. Each TriBITS Project decides what parts of
|
|
TriBITS it wants to install or snapshot using the script
|
|
``tribits/snapshot_tribits.py`` (which takes arguments for what dirs to
|
|
snapshot). This directory contains no tests at all. All of the tests for
|
|
TriBITS are in the ``test/`` directory in the parent TriBITS repository.
|
|
|
|
The breakdown of the contents of this directory are described below:
|
|
|
|
**TriBITS.cmake**: The one file that needs to be included in order to use
|
|
TriBITS in a CMake project. This one file insulates clients from future
|
|
TriBITS refactorings of TriBITS.
|
|
|
|
**Version.cmake**: Version of TriBITS. This gets included by TriBITS.cmake
|
|
|
|
.. _TriBITS Core:
|
|
|
|
**core/**: Core TriBITS package-based architecture for CMake projects. This
|
|
only depends on raw CMake and contains just the minimal support for building,
|
|
testing, installing, and deployment. Only depends on CMake and nothing else.
|
|
|
|
**python_utils/**: Some basic Python utilities that are not specific to
|
|
TriBITS but are used in TriBITS CI and testing support software. There are
|
|
some very useful python scripts here like ``gitdist`` and ``snapshot-dir.py``.
|
|
|
|
**ci_support/**: Support code for pre-push continuous integration testing.
|
|
This contains the ``checkin-test.py`` script and its supporting Python
|
|
modules.
|
|
|
|
**ctest_driver/**: Support for package-by-package testing driven by CTest
|
|
submitting to CDash (to CDash project ``<Project>``). This contains the file
|
|
``TribitsCTestDriveCore.cmake`` and some supporting modules.
|
|
|
|
**dashboard_driver/**: TriBITS Dashboard Driver system which uses CTest to
|
|
drive individual project builds in parallel and submits results to a separate
|
|
``<Project>Driver`` CDash project. WARNING: This was written by a contractor
|
|
and is least well tested, more confusing, and least desirable part of TriBITS.
|
|
If you have a better way to manage multiple builds (e.g. Jenkins) then use
|
|
that instead.
|
|
|
|
**common_tpls/**: TPLs that are very common and are used by several different
|
|
TriBITS projects but are not built into the TriBITS system itself. Having some
|
|
of these common TPLs in a central location enhances uniformity, reuse, and
|
|
makes it easier to pull TriBITS packages out of a repo and build them
|
|
independently.
|
|
|
|
**doc/**: Basic TriBITS documentation built using docutils. The generated
|
|
documents are stored in the git repo but instead are built on command using
|
|
the ``doc/build_docs.sh`` script.
|
|
|
|
**examples/**: Example TriBITS projects and TPLs. These can be copied out and
|
|
used as examples
|
|
|
|
**devtools_install/**: Basic install scripts for tools like CMake, GCC,
|
|
OpenMPI, MPICH, Git, etc. By default, these all download tarballs from the
|
|
``github.com/TriBITSPub/`` site and the repos are named
|
|
``devtools-<toolname>-<version>-base``. This makes it easy to set up a new dev
|
|
environment for projects that uses TriBITS (or don't use TriBITS for that
|
|
matter).
|
|
|
|
**win_interface/**: Some non-Windows C header files ported to Windows to make
|
|
porting to Windows easier.
|
|
|
|
The script ``snapshot_tribits.py`` install the different pieces for of this
|
|
``tribits/`` directory into a project's ``<projectDir>/cmake/tribits/``
|
|
subdirectory. It supports the argument ``--components`` with values ``core``,
|
|
``python_utils``, ``ci_support``, ``ctest_driver``, ``dashboard_driver``,
|
|
``common_tpls``, ``doc``, ``examples``, ``win_interface``, and
|
|
``devtools_install``. These snapshot components have the dependencies:
|
|
|
|
* ``core`` => (external CMake)
|
|
* ``python_utils`` => (external Python 2.6)
|
|
* ``win_interface`` => (external C compiler)
|
|
* ``TriBITS.cmake`` => ``core``
|
|
* ``ci_support`` => ``core``, ``python_utils``
|
|
* ``ctest_driver`` => ``core``, ``ci_support``
|
|
* ``dashboard_driver`` => ``ctest_driver``
|
|
* ``common_tpls`` => ``core``
|
|
* ``examples`` => (external tribits installation)
|
|
* ``doc`` => ``core``, ``ci_support``, ``examples``
|
|
* ``devtools_install`` => ``python_utils``
|
|
|