update docs for CMake 3.16 requirement
This commit is contained in:
@ -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
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -4089,6 +4089,7 @@ zmq
|
|||||||
zN
|
zN
|
||||||
zs
|
zs
|
||||||
zsc
|
zsc
|
||||||
|
Zsh
|
||||||
zst
|
zst
|
||||||
Zstandard
|
Zstandard
|
||||||
zstd
|
zstd
|
||||||
|
|||||||
Reference in New Issue
Block a user