Radovan Bast f1c39ebca4 rename
2015-05-22 15:39:43 +02:00
2015-05-22 14:34:24 +02:00
2015-05-22 14:14:15 +02:00
2015-05-22 15:39:43 +02:00
2015-05-22 14:14:15 +02:00
2015-05-22 14:14:15 +02:00
2015-05-22 14:14:15 +02:00
2015-05-22 14:14:15 +02:00
2015-05-22 14:14:15 +02:00

Autocmake

A CMake plugin composer.

Bootstrapping a new project

Bootstrap a CFrame 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
├── cframe.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 cframe.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 cframe.cfg to a directory called modules/:

cmake/
├── bootstrap.py
├── cframe.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 cframe.cfg.

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