Files
libcifpp/README.md
maarten ffd82dfee0 bouwen zonder versie
git-svn-id: svn+ssh://gitlab/srv/svn-repos/pdb-redo/trunk@441 a1961a4f-ab94-4bcc-80e8-33b5a54de466
2019-07-22 11:42:40 +00:00

2.3 KiB

libcif++ and pdb-redo tools

This is the README file for libcif++ and the suite of PDB-REDO tools using this library.

Requirements

The code for this library was written in C++14. You therefore need a recent compiler to build it. For the development gcc 7.4 and clang 6.0 have been used.

Other requirements are:

  • A recent CCP4 environment (with the clipper libraries that have electrion scattering support).
  • GNU make version 4.1 or higher.
  • Boost libraries, the current version was developed using version 1.65
  • mrc, a resource compiler that allows including data files into the executable making them easier to install. Strictly this is optional, but at the expense of a lot of functionality.
  • newuoa-cpp, required to calculate atom radii.
  • libzeep, a library that contains a full validating XML parser as well as a complete HTTP, SOAP and REST server implementation.
  • nlohmann/json, a header only library to parse and write JSON. This is only a requirement if you have a libzeep version older than version 4.

As stated, the nlohmann library is only needed if you use libzeep 3.0.x which is bundled with Debian and derivatives (apt-get install libzeep-dev). If you clone the version of libzeep on github the nlohmann json library will not be used.

Building

Make sure you install the libraries and tools in list above first before building. You don't have to install them in system locations, paths can be set as described in the next section.

There are two makefiles, one located in the directory libcif++ and one in tools.

Both makefiles will include a make.config file (which will be generated if it doesn't exist). This configuration file can be used to override local settings, e.g. the location of certain libraries.

Before running make, first source the ccp4 environment. This will take care of setting up the make.config file correctly. You then only have to edit the ZEEP_DIR variable to point to the correct directory in case you did not install libzeep, and if you use libzeep version 4, you will have to change ZEEP_INCL and ZEEP_LIB to be $(ZEEP_DIR)/include and $(ZEEP_DIR)/lib respectively.