|
DryChem 1.0.0
A generic, compile-time C++ toolbox with no dependencies for the modern computational chemistry project.
|
Directories | |
| include | |
| libs | |
Welcome to the Common-Utilities project! This project is a compilation of a number of unrelated programs and scripts I've written over the years, providing a single source of utilities for their use in other repositories.
To build the common-utilities libraries and scripts there are a few options that can be specified when building with cmake, these are discussed here:
utils_build_all
Libraries, unit tests, and code samples will all be built. This option should be used if you don't want to install the cpp-units portion of the larger drychem repository. Otherwise, use the chem_build_all option.
utils_build_tests
If you're interested in building the unit tests but don't care about the examples that accompany the project, this option will build the common-utilities library and the tests.
Note: Only the libraries will be installed.
utils_build_samples
If you're interested in building the examples but don't care about the unit tests that accompany the project, this option will build the common-utilities library and the samples.
Note: Only the libraries will be installed.
utils_exclude_scripts
This option won't include or install the bash scripts that go with the repository. This is useful if you're just interested in the C++ libraries. The bash scripts, while useful, may not find much use outside of my own development or research processes.
utils_install_applications
Enable the installation of the applications associated with the project. These applications are similar to the samples but provide more useful features and/or utilize a number of the libraries.
The libraries included in this project include the following, and more information can be found in the specific libraries documentation:
The following tree diagram shows how a sample library, library1, would be organized in the API:
The libs directory contains information about the specific library, such as the documentation, example code samples, and unit tests. The include/common-utils directory is where the header files for the library are stored. Note that the libraryName.hpp file serves as the public API of the library and should be #include'd in a user's project. The files in the libraryName directory contain the internal implementation details and are subject to change without notice.
Consisting of a number of bash scripts for mainly automating some of my most common tasks, the files located in the [root/common-utilities/scripts](scripts) directory are simple scripts and programs that don't really belong in any other repository, so they have been collected here.
For the programs that support command-line argument parsing, the -h flag will print the help message associated with the program. Scripts like errorHandling.sh, showOpts.sh, and typeParsing.sh are designed to either be incorporated in other bash programs or are so simple, no help option is needed.
When the repository is installed, all shell scripts will be installed without the .sh extension and will be made executable. If the ${CMAKE_INSTALL_PREFIX}/bin directory is in the system's path, these programs can be called as follows: