Difference between revisions of "Compiling GEOS-Chem"
From Geos-chem
(→Which versions can use GNU Make and which can use CMake?) |
|||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
__FORCETOC__ | __FORCETOC__ | ||
'''''[[HISTORY.rc_and_other_configuration_files|Previous]] | [[Compiling with CMake|Next]] | [[Getting Started with GEOS-Chem]]''''' | '''''[[HISTORY.rc_and_other_configuration_files|Previous]] | [[Compiling with CMake|Next]] | [[Getting Started with GEOS-Chem]]''''' | ||
− | #[[Minimum system requirements for GEOS-Chem|Minimum system requirements | + | #[[Minimum system requirements for GEOS-Chem|Minimum system requirements (and software installation)]] |
− | + | ||
#[[Configuring your computational environment]] | #[[Configuring your computational environment]] | ||
#[[Downloading GEOS-Chem source code|Downloading source code]] | #[[Downloading GEOS-Chem source code|Downloading source code]] | ||
Line 13: | Line 12: | ||
#[[Running GEOS-Chem|Running]] | #[[Running GEOS-Chem|Running]] | ||
#[[GEOS-Chem output files|Output files]] | #[[GEOS-Chem output files|Output files]] | ||
− | #[[ | + | #[[Python tools for use with GEOS-Chem]] |
#[[GEOS-Chem_coding_and_debugging|Coding and debugging]] | #[[GEOS-Chem_coding_and_debugging|Coding and debugging]] | ||
#[[GEOS-Chem_overview#Further_reading|Further reading]] | #[[GEOS-Chem_overview#Further_reading|Further reading]] | ||
Line 25: | Line 24: | ||
#[[Compiling with CMake|CMake]] | #[[Compiling with CMake|CMake]] | ||
− | + | Starting in 13.0.0 both GEOS-Chem "Classic" and GCHP use CMake exclusively. | |
− | + | ||
− | + | ||
== Which versions can use GNU Make and which can use CMake? == | == Which versions can use GNU Make and which can use CMake? == | ||
Line 67: | Line 64: | ||
|-valign="top" align="center" | |-valign="top" align="center" | ||
− | |13.0.0 | + | |13.0.0 and later |
|bgcolor="#FF0000"|'''NO''' | |bgcolor="#FF0000"|'''NO''' | ||
|bgcolor="#00FF00"|'''YES''' | |bgcolor="#00FF00"|'''YES''' | ||
Line 75: | Line 72: | ||
=== GCHP compatibility matrix === | === GCHP compatibility matrix === | ||
− | Unlike GEOS-Chem "Classic", GCHP | + | Unlike GEOS-Chem "Classic", GCHP had a "hard" transition from GNU Make to CMake in 13.0.0: |
{| border=1 cellpadding=5 cellspacing=0 | {| border=1 cellpadding=5 cellspacing=0 | ||
Line 109: | Line 106: | ||
|-valign="top" align="center" | |-valign="top" align="center" | ||
− | |13.0.0 | + | |13.0.0 and later |
|bgcolor="#FF0000"|'''NO''' | |bgcolor="#FF0000"|'''NO''' | ||
|bgcolor="#00FF00"|'''YES''' | |bgcolor="#00FF00"|'''YES''' |
Latest revision as of 15:22, 4 August 2022
Previous | Next | Getting Started with GEOS-Chem
- Minimum system requirements (and software installation)
- Configuring your computational environment
- Downloading source code
- Downloading data directories
- Creating run directories
- Configuring runs
- Compiling
- Running
- Output files
- Python tools for use with GEOS-Chem
- Coding and debugging
- Further reading
Contents
Overview
GEOS-Chem and GCHP use two build systems to compile source code files into an executable file:
Starting in 13.0.0 both GEOS-Chem "Classic" and GCHP use CMake exclusively.
Which versions can use GNU Make and which can use CMake?
GEOS-Chem "Classic" compatibility matrix
Some GEOS-Chem "Classic" versions are compatible with both CMake and GNU Make, as shown below.
GEOS-Chem "Classic" version | Uses GNU Make? | Uses CMake? |
---|---|---|
12.5.0 and prior | YES | NO |
12.6.* | YES | YES |
12.7.* | YES | YES |
12.8.* | YES | YES |
12.9.* | YES | YES |
13.0.0 and later | NO | YES |
GCHP compatibility matrix
Unlike GEOS-Chem "Classic", GCHP had a "hard" transition from GNU Make to CMake in 13.0.0:
GCHP version | Uses GNU Make? | Uses CMake? |
---|---|---|
12.5.0 and prior | YES | NO |
12.6.* | YES | NO |
12.7.* | YES | NO |
12.8.* | YES | NO |
12.9.* | YES | NO |
13.0.0 and later | NO | YES |
References
- GNU Make Manual
- Mecklenburg, Robert, Managing Projects with GNU Make, Third Edition,, O'Reilly and Associates, 2004.
- CMake FAQ by Liam Bindle
- CMake tutorial (cmake.org)
- Learn X in Y minutes (where X is CMake)