2015-05-23 10:57:25 +02:00
2015-05-22 15:57:23 +02:00
2015-05-22 14:14:15 +02:00
2015-05-22 15:39:43 +02:00
2015-05-22 15:41:36 +02:00
2015-05-22 15:49:46 +02:00
2015-05-22 14:14:15 +02:00
2015-05-22 16:02:59 +02:00

Autocmake

A CMake plugin composer.

Projects using Autocmake

Bootstrapping a new project

Bootstrap a Autocmake infrastructure out of "nothing":

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 --init

This downloads and creates the following files:

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 path specified (here ".."):

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.

Description
No description provided
Readme 837 KiB
Languages
CMake 61.5%
Python 34.5%
Fortran 2.8%
C++ 1.2%