update docs for CMake 3.16 requirement

This commit is contained in:
Axel Kohlmeyer
2023-07-01 03:01:37 -04:00
parent 4a46083e88
commit ef40448df6
4 changed files with 31 additions and 24 deletions

View File

@ -16,8 +16,7 @@ environments is on a :doc:`separate page <Howto_cmake>`.
.. note:: .. note::
LAMMPS currently requires that CMake version 3.10 or later is available; LAMMPS currently requires that CMake version 3.16 or later is available.
version 3.12 or later is preferred.
.. warning:: .. warning::
@ -34,19 +33,18 @@ Advantages of using CMake
^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^
CMake is an alternative to compiling LAMMPS in the traditional way CMake is an alternative to compiling LAMMPS in the traditional way
through :doc:`(manually customized) makefiles <Build_make>` and a recent through :doc:`(manually customized) makefiles <Build_make>`. Using
addition to LAMMPS thanks to the efforts of Christoph Junghans (LANL) CMake has multiple advantages that are specifically helpful for
and Richard Berger (Temple U). Using CMake has multiple advantages that people with limited experience in compiling software or for people
are specifically helpful for people with limited experience in compiling that want to modify or extend LAMMPS.
software or for people that want to modify or extend LAMMPS.
- CMake can detect available hardware, tools, features, and libraries - CMake can detect available hardware, tools, features, and libraries
and adapt the LAMMPS default build configuration accordingly. and adapt the LAMMPS default build configuration accordingly.
- CMake can generate files for different build tools and integrated - CMake can generate files for different build tools and integrated
development environments (IDE). development environments (IDE).
- CMake supports customization of settings with a command line, text - CMake supports customization of settings with a command line, text
mode, or graphical user interface. No knowledge of file formats or mode, or graphical user interface. No manual editing of files,
complex command line syntax is required. knowledge of file formats or complex command line syntax is required.
- All enabled components are compiled in a single build operation. - All enabled components are compiled in a single build operation.
- Automated dependency tracking for all files and configuration options. - Automated dependency tracking for all files and configuration options.
- Support for true out-of-source compilation. Multiple configurations - Support for true out-of-source compilation. Multiple configurations

View File

@ -3,9 +3,9 @@ Using CMake with LAMMPS tutorial
The support for building LAMMPS with CMake is a recent addition to The support for building LAMMPS with CMake is a recent addition to
LAMMPS thanks to the efforts of Christoph Junghans (LANL) and Richard LAMMPS thanks to the efforts of Christoph Junghans (LANL) and Richard
Berger (Temple U). One of the key strengths of CMake is that it is not Berger (LANL). One of the key strengths of CMake is that it is not
tied to a specific platform or build system and thus generate the files tied to a specific platform or build system and thus it generates the
necessary to build and develop for different build systems and on files necessary to build and develop for different build systems and on
different platforms. Note, that this applies to the build system itself different platforms. Note, that this applies to the build system itself
not the LAMMPS code. In other words, without additional porting effort, not the LAMMPS code. In other words, without additional porting effort,
it is not possible - for example - to compile LAMMPS with Visual C++ on it is not possible - for example - to compile LAMMPS with Visual C++ on
@ -14,7 +14,7 @@ necessary to program LAMMPS as a project in integrated development
environments (IDE) like Eclipse, Visual Studio, QtCreator, Xcode, environments (IDE) like Eclipse, Visual Studio, QtCreator, Xcode,
CodeBlocks, Kate and others. CodeBlocks, Kate and others.
A second important feature of CMake is, that it can detect and validate A second important feature of CMake is that it can detect and validate
available libraries, optimal settings, available support tools and so available libraries, optimal settings, available support tools and so
on, so that by default LAMMPS will take advantage of available tools on, so that by default LAMMPS will take advantage of available tools
without requiring to provide the details about how to enable/integrate without requiring to provide the details about how to enable/integrate
@ -32,8 +32,7 @@ program ``cmake`` (or ``cmake3``), a text mode interactive user
interface (TUI) program ``ccmake`` (or ``ccmake3``), or a graphical user interface (TUI) program ``ccmake`` (or ``ccmake3``), or a graphical user
interface (GUI) program ``cmake-gui``. All of them are portable interface (GUI) program ``cmake-gui``. All of them are portable
software available on all supported platforms and can be used software available on all supported platforms and can be used
interchangeably. The minimum supported CMake version is 3.10 (3.12 or interchangeably. The minimum required CMake version is 3.16.
later is recommended).
All details about features and settings for CMake are in the `CMake All details about features and settings for CMake are in the `CMake
online documentation <https://cmake.org/documentation/>`_. We focus online documentation <https://cmake.org/documentation/>`_. We focus
@ -43,11 +42,20 @@ Prerequisites
------------- -------------
This tutorial assumes that you are operating in a command-line environment This tutorial assumes that you are operating in a command-line environment
using a shell like Bash. using a shell like Bash or Zsh.
- Linux: any Terminal window will work - Linux: any Terminal window will work or text console
- macOS: launch the Terminal application. - macOS: launch the Terminal application
- Windows 10: install and run the :doc:`Windows Subsystem for Linux <Howto_wsl>` - Windows 10 or 11: install and run the :doc:`Windows Subsystem for Linux <Howto_wsl>`
- other Unix-like operating systems like FreeBSD
.. note::
It is also possible to use CMake on Windows 10 or 11 through either the Microsoft
Visual Studio IDE with the bundled CMake or from the Windows command prompt using
a separately installed CMake package, both using the native Microsoft Visual C++
compilers and (optionally) the Microsoft MPI SDK. This tutorial, however, only
covers unix-like command line interfaces.
We also assume that you have downloaded and unpacked a recent LAMMPS source code package We also assume that you have downloaded and unpacked a recent LAMMPS source code package
or used Git to create a clone of the LAMMPS sources on your compilation machine. or used Git to create a clone of the LAMMPS sources on your compilation machine.

View File

@ -13,7 +13,7 @@ Programming language standards
Most of the C++ code currently requires a compiler compatible with the Most of the C++ code currently requires a compiler compatible with the
C++11 standard, the KOKKOS package currently requires C++14. Most of C++11 standard, the KOKKOS package currently requires C++14. Most of
the Python code is written to be compatible with Python 3.5 or later or the Python code is written to be compatible with Python 3.6 or later or
Python 2.7. Some Python scripts *require* Python 3 and a few others Python 2.7. Some Python scripts *require* Python 3 and a few others
still need to be ported from Python 2 to Python 3. still need to be ported from Python 2 to Python 3.
@ -25,7 +25,7 @@ LAMMPS can be compiled from source code using a (traditional) build
system based on shell scripts, a few shell utilities (grep, sed, cat, system based on shell scripts, a few shell utilities (grep, sed, cat,
tr) and the GNU make program. This requires running within a Bourne tr) and the GNU make program. This requires running within a Bourne
shell (``/bin/sh``). Alternatively, a build system with different back ends shell (``/bin/sh``). Alternatively, a build system with different back ends
can be created using CMake. CMake must be at least version 3.10. can be created using CMake. CMake must be at least version 3.16.
Operating systems Operating systems
^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^
@ -62,9 +62,9 @@ regularly tested.
Portability compliance Portability compliance
^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^
Only a subset of the LAMMPS source code is fully compliant to all of the Only a subset of the LAMMPS source code is *fully* compliant to *all*
above mentioned standards. This is rather typical for projects like of the above mentioned standards. This is rather typical for projects
LAMMPS that largely depend on contributions from the user community. like LAMMPS that largely depend on contributions from the user community.
Not all contributors are trained as programmers and not all of them have Not all contributors are trained as programmers and not all of them have
access to multiple platforms for testing. As part of the continuous access to multiple platforms for testing. As part of the continuous
integration process, however, all contributions are automatically tested integration process, however, all contributions are automatically tested

View File

@ -4089,6 +4089,7 @@ zmq
zN zN
zs zs
zsc zsc
Zsh
zst zst
Zstandard Zstandard
zstd zstd