@@ -38,13 +38,13 @@ If you installed the NeuroML_API in a non-standard location, you may need
3838to set the ` CMAKE_PREFIX_PATH ` CMake variable to that location in order to
3939find 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```
5050mkdir 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
6464The 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
6887You may wish to change the ` CMAKE_INSTALL_PREFIX ` to specify where the API
6988will be installed. The generated library will be placed in a ` lib ` subfolder,
7089and all necessary headers in an ` include/neuroml ` subfolder.
7190
7291If 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- ```
91102Once the bindings have been regenerated, you can run ` make copy_wrappers `
92103to copy the new versions back into the source tree, for committing to the
93104repository.
0 commit comments