IMP Manual
develop.63b38c487d,2024/12/21
|
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 ctest
doc
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/name
lib
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.so
doc
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.