Skip to content

Commit 383d06e

Browse files
Changed README to rst format
1 parent e5f4109 commit 383d06e

2 files changed

Lines changed: 104 additions & 120 deletions

File tree

README.rst

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
=========================
2+
Installation Instructions
3+
=========================
4+
5+
Requirements
6+
============
7+
8+
In order to build the Nexus C API the following software has to be installed on
9+
the build system
10+
11+
* C compiler
12+
* CMake >= 2.8.8
13+
* HDF5 libraries and header files
14+
* Optional: HDF4 libraries and header files
15+
* Optional: MXML libraries and header files
16+
* doxygen: for building the API documentation
17+
18+
19+
Building the code on Linux
20+
==========================
21+
22+
Enabling a physical file formats
23+
--------------------------------
24+
25+
By default the NAPI is only built with HDF5 support. You can explicit switch on
26+
a particular file format by defining the appropriate CMake variable during
27+
configuration
28+
29+
* ``-DENABLE_HDF5=1`` for HDF5
30+
* ``-DENABLE_HDF4=1`` for HDF4
31+
* and ``-DENABLE_MXML=1`` for MXML
32+
33+
CMake tries then to figure out the locations of the required library binaries
34+
and header files. This should work if the library provides a ``pkg-config`` file
35+
and/or is installed in one of the systems default locations.
36+
37+
If your library is not in a default location you have basically two options.
38+
39+
1. if the library is installed with a ``pkg-config`` file you can add the path
40+
to this file to your ``PKG_CONFIG_PATH`` environment variable.
41+
2. define CMake variables during configuration that point to the
42+
appropriate location.
43+
44+
For the second option the following CMake variables are available
45+
46+
================= ========================================
47+
CMake variable Content
48+
================= ========================================
49+
HDF5_INCLUDE_DIRS location of HDF5 header files
50+
HDF5_LIBRARY_DIRS location of HDF5 runtime libraries
51+
HDF4_INCLUDE_DIRS location of the HDF4 header files
52+
HDF4_LIBRARY_DIRS location of the HDF4 runtime libraries
53+
MXML_INCLUDE_DIRS location of the MXML header files
54+
MXML_LIBRARY_DIRS location of the MXML runtime libraries
55+
================= =======================================
56+
57+
58+
Enable language bindings
59+
------------------------
60+
61+
The library provides bindings for C++, Fortran 77, and Fortran 90. To enable
62+
them set the following variables to one during code configuration
63+
64+
================ ===============================
65+
CMAKE variable language bindings
66+
================ ===============================
67+
ENABLE_CXX build with C++ bindings
68+
ENABLE_FORTRAN77 build with Fortran 77 bindings
69+
ENABLE_FORTRAN90 build with Fortran 90 bindings
70+
================ ===============================
71+
72+
Enable applications
73+
-------------------
74+
75+
Aside with the C-library the NAPI source distribution ships a couple of command
76+
line programs to work with NeXus files. These programs are not built by
77+
default. In order to include them in the build the ``ENABLE_APPS`` variable
78+
must be set to ``ON``.
79+
80+
=============== =======================================================
81+
Program Description
82+
=============== =======================================================
83+
``nxbrowse`` browse a NeXus file
84+
``nxdir`` list the contents of a NeXus file
85+
``nxconvert`` convert a NeXus file to whatever?
86+
``nxtraverse`` no idea what this is good for
87+
``nxdump``
88+
``nxingest``
89+
``nxsummary``
90+
``nxtranslate``
91+
``nxtraverse``
92+
=============== =======================================================
93+
94+
Building the distribution with these utility applications pulls in some
95+
additional build requirements. These are
96+
97+
* ``libreadline``
98+
* ``libtermcap``
99+
* ``libhistory`` (most probably provided by the ``libreadline`` package)
100+
* ``libxml2``
101+
102+
As one cannot select an individual program to be included in the build, all
103+
these build dependencies must be satisified when ``ENABLE_APPS`` is set to
104+
``ON`` in order for the build to succeed.

svn2cl_nexus_authors.xml

Lines changed: 0 additions & 120 deletions
This file was deleted.

0 commit comments

Comments
 (0)