Skip to content

Commit dd857a3

Browse files
committed
fix: correct instructions in Readme
1 parent c919dcf commit dd857a3

File tree

1 file changed

+32
-21
lines changed

1 file changed

+32
-21
lines changed

README.md

Lines changed: 32 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,13 @@ If you installed the NeuroML_API in a non-standard location, you may need
3838
to set the `CMAKE_PREFIX_PATH` CMake variable to that location in order to
3939
find the package.
4040

41-
## Building the API yourself
41+
## Building the API
4242

43-
The NeuroML API is built using CMake, and the process works best with
44-
'out of source' builds, where you build the API in a folder separate
45-
from the source tree. Having cloned the repository, we therefore suggest
46-
you create a separate 'NeuroML_API_build' folder adjacent to the source,
47-
change into it, and then run the build configuration commands:
43+
The NeuroML API is built using CMake (versions >= 3.14), and the process works
44+
best with 'out of source' builds, where you build the API in a folder separate
45+
from the source tree. Having cloned the repository, we therefore suggest you
46+
create a separate 'NeuroML_API_build' folder adjacent to the source, change
47+
into it, and then run the build configuration commands:
4848

4949
```
5050
mkdir NeuroML_API_build
@@ -62,32 +62,43 @@ You may then run
6262
* `cpack` to generate an installable package (see [cpack documentation](https://cmake.org/cmake/help/latest/manual/cpack.1.html)).
6363

6464
The default CMake options should be appropriate for most cases. The only
65-
essential external dependency is [Xerces C++](http://xerces.apache.org/xerces-c/) which should be found
66-
automatically if installed.
65+
essential external dependencies are [Xerces
66+
C++](http://xerces.apache.org/xerces-c/) and [CodeSynthesis
67+
XSD](https://www.codesynthesis.com/products/xsd/).
68+
69+
On Ubuntu based systems, you can install Xerces and xsd from the standard
70+
repositories using `apt`:
71+
72+
```
73+
sudo apt-get install xsdcxx libxerces-c-dev
74+
```
75+
76+
On Fedora and other RPM based distributions, you can install Xerces and xsd
77+
from the standard repositories using `dnf` or `yum`:
78+
79+
```
80+
sudo dnf install xsd xerces-c-devel
81+
```
82+
83+
If you install xsd in a non-standard location, please set the `XSD_ROOT`
84+
_environment_ variable to the root folder for the software (i.e. the folder
85+
containing `bin` and `libxsd` folders).
6786

6887
You may wish to change the `CMAKE_INSTALL_PREFIX` to specify where the API
6988
will be installed. The generated library will be placed in a `lib` subfolder,
7089
and all necessary headers in an `include/neuroml` subfolder.
7190

7291
If you wish to regenerate the C++ bindings (because you have changed the
73-
XML Schema or xsdcxx options) you will need [CodeSynthesis XSD](https://www.codesynthesis.com/products/xsd/) installed on
74-
your system and findable by CMake. The build will search standard install
75-
locations, but you can also set the `XSD_ROOT` _environment_ variable to the
76-
root folder for the software (i.e. the folder containing `bin` and `libxsd`
77-
folders). You can also change the schema file to use by setting the variable
78-
`NeuroML_SCHEMA_PATH` in CMake.
79-
80-
On Ubuntu based systems, you can install xsd using `apt`:
92+
XML Schema or xsdcxx options) you will need to pass `REGENERATE_BINDINGS=ON` to
93+
the CMake command:
8194

8295
```
83-
sudo apt-get install xsdcxx
96+
cmake -DREGENERATE_BINDINGS=ON ...
8497
```
8598

86-
On Fedora and other RPM based distributions, you can install xsd using `dnf` or `yum`:
99+
You can also change the path to the schema file to use by setting the variable
100+
`NeuroML_SCHEMA_PATH` in CMake.
87101

88-
```
89-
sudo dnf install xsd
90-
```
91102
Once the bindings have been regenerated, you can run `make copy_wrappers`
92103
to copy the new versions back into the source tree, for committing to the
93104
repository.

0 commit comments

Comments
 (0)