more doc
This commit is contained in:
41
doc/about.rst
Normal file
41
doc/about.rst
Normal file
@ -0,0 +1,41 @@
|
||||
|
||||
|
||||
About Autocmake
|
||||
===============
|
||||
|
||||
CMake typically generates Makefiles based on CMakeLists.txt files. Autocmake
|
||||
generates and assembles CMake files based on lightweight cfg-files.
|
||||
|
||||
|
||||
CMake cons
|
||||
----------
|
||||
|
||||
- Complexity
|
||||
- Yet another thing to learn: requires learning and training
|
||||
- Typically many files instead of one file
|
||||
- Documentation ("Which file do I need to edit to achieve X?")
|
||||
|
||||
|
||||
CMake pros
|
||||
----------
|
||||
|
||||
- Makes it possible and relatively easy to download, configure, build, install, and link external modules
|
||||
- Cross-platform system- and library-discovery
|
||||
- CTest uses a Makefile (possible to run tests with -jN)
|
||||
|
||||
|
||||
Motivation to create a CMake framework library
|
||||
----------------------------------------------
|
||||
|
||||
- Simplify CMake code transfer (scientific projects typically have very similar requirements)
|
||||
- FC, CC, CXX
|
||||
- Compiler flags
|
||||
- Front-end script (setup.py)
|
||||
- MPI, OMP, CUDA
|
||||
- Math libraries
|
||||
- Make it easy for people who know CMake well to create well defined configurations
|
||||
- Make it easy for people who do not know CMake to get started in minutes
|
||||
- Philosophy
|
||||
- Explicit is better than implicit
|
||||
- Convention over configuration
|
||||
- Well documented set of plug-ins
|
Reference in New Issue
Block a user