move doc to sphinx
This commit is contained in:
parent
bc77fd8963
commit
1563ce13e3
62
README.md
62
README.md
@ -16,65 +16,3 @@ Licensed under [BSD-3](../master/LICENSE).
|
|||||||
|
|
||||||
- [Numgrid](https://github.com/bast/numgrid/)
|
- [Numgrid](https://github.com/bast/numgrid/)
|
||||||
- [DIRAC](http://diracprogram.org)
|
- [DIRAC](http://diracprogram.org)
|
||||||
|
|
||||||
|
|
||||||
## Bootstrapping a new project
|
|
||||||
|
|
||||||
Download the ``bootstrap.py`` and execute it to fetch other infrastructure files
|
|
||||||
which will be needed to build the project:
|
|
||||||
|
|
||||||
mkdir cmake # does not have to be called "cmake" - take the name you prefer
|
|
||||||
cd cmake
|
|
||||||
wget https://github.com/scisoft/autocmake/raw/master/bootstrap.py
|
|
||||||
python bootstrap.py --update
|
|
||||||
|
|
||||||
This creates (or updates) the following files (an existing ``autocmake.cfg`` is
|
|
||||||
not overwritten by the script):
|
|
||||||
|
|
||||||
cmake/
|
|
||||||
├── bootstrap.py # no need to edit
|
|
||||||
├── autocmake.cfg # edit this file
|
|
||||||
└── lib/
|
|
||||||
├── config.py # no need to edit
|
|
||||||
└── docopt.py # no need to edit
|
|
||||||
|
|
||||||
If you use version control, then now is a good moment to status/diff/add
|
|
||||||
the newly created files.
|
|
||||||
|
|
||||||
|
|
||||||
## Creating the CMake infrastructure
|
|
||||||
|
|
||||||
Then edit ``autocmake.cfg`` and run the ``bootstrap.py`` script which
|
|
||||||
creates ``CMakeLists.txt`` and ``setup.py`` in the build path:
|
|
||||||
|
|
||||||
python bootstrap.py ..
|
|
||||||
|
|
||||||
The script also copies or downloads CMake modules specified in ``autocmake.cfg`` to a directory
|
|
||||||
called ``modules/``:
|
|
||||||
|
|
||||||
cmake/
|
|
||||||
├── bootstrap.py
|
|
||||||
├── autocmake.cfg
|
|
||||||
└── lib/
|
|
||||||
├── config.py
|
|
||||||
└── docopt.py
|
|
||||||
└── modules/ # CMakeLists.txt includes CMake modules from this directory
|
|
||||||
|
|
||||||
Now you have ``CMakeLists.txt`` and ``setup.py`` in the project root and you can build
|
|
||||||
the project:
|
|
||||||
|
|
||||||
cd ..
|
|
||||||
python setup.py [-h]
|
|
||||||
cd build
|
|
||||||
make
|
|
||||||
|
|
||||||
|
|
||||||
## Customizing the CMake modules
|
|
||||||
|
|
||||||
The CMake modules can be customized directly inside ``modules/`` but this is
|
|
||||||
not very convenient as the customizations may be overwritten by the
|
|
||||||
``boostrap.py`` script.
|
|
||||||
|
|
||||||
A better solution is to download the CMake modules that you wish you customize
|
|
||||||
to a separate directory and source the customized CMake modules in
|
|
||||||
``autocmake.cfg``.
|
|
||||||
|
25
doc/bootstrap.rst
Normal file
25
doc/bootstrap.rst
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
|
||||||
|
|
||||||
|
Bootstrapping a new project
|
||||||
|
===========================
|
||||||
|
|
||||||
|
Download the ``bootstrap.py`` and execute it to fetch other infrastructure files
|
||||||
|
which will be needed to build the project::
|
||||||
|
|
||||||
|
mkdir cmake # does not have to be called "cmake" - take the name you prefer
|
||||||
|
cd cmake
|
||||||
|
wget https://github.com/scisoft/autocmake/raw/master/bootstrap.py
|
||||||
|
python bootstrap.py --update
|
||||||
|
|
||||||
|
This creates (or updates) the following files (an existing ``autocmake.cfg`` is
|
||||||
|
not overwritten by the script)::
|
||||||
|
|
||||||
|
cmake/
|
||||||
|
├── bootstrap.py # no need to edit
|
||||||
|
├── autocmake.cfg # edit this file
|
||||||
|
└── lib/
|
||||||
|
├── config.py # no need to edit
|
||||||
|
└── docopt.py # no need to edit
|
||||||
|
|
||||||
|
If you use version control, then now is a good moment to status/diff/add
|
||||||
|
the newly created files.
|
28
doc/cmakelists.rst
Normal file
28
doc/cmakelists.rst
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
|
||||||
|
|
||||||
|
Generating the CMake infrastructure
|
||||||
|
===================================
|
||||||
|
|
||||||
|
Edit ``autocmake.cfg`` and run the ``bootstrap.py`` script which
|
||||||
|
creates ``CMakeLists.txt`` and ``setup.py`` in the build path::
|
||||||
|
|
||||||
|
python bootstrap.py ..
|
||||||
|
|
||||||
|
The script also copies or downloads CMake modules specified in ``autocmake.cfg`` to a directory
|
||||||
|
called ``modules/``::
|
||||||
|
|
||||||
|
cmake/
|
||||||
|
├── bootstrap.py
|
||||||
|
├── autocmake.cfg
|
||||||
|
└── lib/
|
||||||
|
├── config.py
|
||||||
|
└── docopt.py
|
||||||
|
└── modules/ # CMakeLists.txt includes CMake modules from this directory
|
||||||
|
|
||||||
|
Now you have ``CMakeLists.txt`` and ``setup.py`` in the project root and you can build
|
||||||
|
the project::
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
python setup.py [-h]
|
||||||
|
cd build
|
||||||
|
make
|
12
doc/customization.rst
Normal file
12
doc/customization.rst
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
|
||||||
|
|
||||||
|
Customizing the CMake modules
|
||||||
|
=============================
|
||||||
|
|
||||||
|
The CMake modules can be customized directly inside ``modules/`` but this is
|
||||||
|
not very convenient as the customizations may be overwritten by the
|
||||||
|
``boostrap.py`` script.
|
||||||
|
|
||||||
|
A better solution is to download the CMake modules that you wish you customize
|
||||||
|
to a separate directory and source the customized CMake modules in
|
||||||
|
``autocmake.cfg``.
|
@ -1,6 +1,11 @@
|
|||||||
|
|
||||||
|
|
||||||
Autocmake
|
Autocmake
|
||||||
---------
|
=========
|
||||||
|
|
||||||
Write me ...
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
|
||||||
|
bootstrap.rst
|
||||||
|
cmakelists.rst
|
||||||
|
customization.rst
|
||||||
|
Loading…
x
Reference in New Issue
Block a user