|
IMP Manual
develop.169ea894ba,2025/11/02
|
The input files in the IMP repository are structured as follows:
tools contains various command line utilities for use by developers. They are documented below.doc contains inputs for general IMP overview documentation (such as this page), as well as configuration scripts for doxygen.modules/ defines a module; they all have the same structure. The directory for module name has the following structure:README.md contains a module overviewinclude contains the C++ header filessrc contains the C++ source filesbin contains C++ source files each of which is built into an executable, and/or Python scripts. These programs will be installed for IMP users to useutility is like bin but the programs are not installed - they are only for use during the build procedurepyext contains files defining the Python interface to the module as well as Python source files (in pyext/src)test contains test files that can be run with ctestdoc contains additional documentation that is provided via .dox or .md filesexamples contains examples in Python and C++, as well as any data needed for examplesdata contains any data files needed by the moduleWhen IMP is built, a number of directories are created in the build directory. They are
include which includes all the headers. The headers for module name are placed in include/IMP/namelib where the C++ and Python libraries are placed. Module name is built into a C++ library lib/libimp_name.so (or .dylib on a Mac) and a Python library with Python files located in lib/IMP/name and the binary part in lib/_IMP_name.sodoc containing the manual in doc/html and the examples in doc/examples with a subdirectory for each moduledata where each module gets a subdirectory for its data.When IMP is installed, the structure from the build directory is moved over more or less intact except that the C++ and Python libraries are put in the (different) appropriate locations.