Skip to content
Snippets Groups Projects
Commit d570ab3d authored by Christoph Grüninger's avatar Christoph Grüninger
Browse files

Reorganize changelog for Dune 2.7

Add subsections for deprecations/removals, build system.
Add removal of Python 2 support
parent 50e3083b
Branches
Tags
1 merge request!730Feature/update author reorg changelog
Pipeline #22793 passed
......@@ -2,20 +2,6 @@
- Added fallback implementation to C++20 feature: `std::identity`.
- Dune no longer applies architecture flags detected by the Vc library
automatically. This applies to all targets that link to Vc explicitly (with
`add_dune_vc_flags()`) or implicitly (with `dune_enable_all_packages()`).
If you do want to make use of extended architecture features, set the
architecture explicitly in the compiler options, e.g. by specifying
```sh
CMAKE_FLAGS="-DCMAKE_CXX_FLAGS=-march=native"
```
in your opts-file. Vc also sets compiler options to select a particular C++
abi (`-fabi-version` and `-fabi-compat-version`), these continue to be
applied automatically.
See core/dune-common!677
- A helper class `TransformedRangeView` was added representing a
transformed version of a given range using an unary transformation
function. The transformation is done on the fly leaving the wrapped
......@@ -52,53 +38,73 @@
powers with an integer exponent, and is usable in compile-time expressions.
The use of the old power methods in `power.hh` is henceforth discouraged.
- When run with an absolute build directory, `dunecontrol` now exposes the root build
directory to CMake in the variable `DUNE_BUILD_DIRECTORY_ROOT_PATH`.
- `FieldMatrix` and `FieldVector` are now [trivially copyable types]
if the underlying field type is trivially copyable.
See core/dune-common!542
As a consequence the copy assignment operator of the `DenseVector`
class can no longer be used; just avoid going through
`DenseVector` and use the real vector type instead
(e.g. `FieldVector`).
- LaTeX documents can now be built using `latexmk` with the help of UseLatexmk.cmake's
`add_latex_document`. `dune_add_latex_document` will use the new way of calling
LaTeX when the first argument is `SOURCE`. As a side effect, in-source builds are
supported, too. The old function call and UseLATEX.cmake are deprecated and will be
removed after 2.7.
[trivially copyable types]: https://en.cppreference.com/w/cpp/named_req/TriviallyCopyable
See core/dune-common!594
## Deprecations and removals
- The build system has learned some new tricks when creating or looking for the Python virtualenv:
When using an absolute build directory with `dunecontrol`, the virtualenv will now be placed
directly inside the root of the build directory hierarchy in the directory `dune-python-env`.
This should make it much easier to actually find the virtualenv and also avoids some corner
cases where the build system would create multiple virtualenvs that did not know about each
other. This behavior can be disabled by setting
`DUNE_PYTHON_EXTERNAL_VIRTUALENV_FOR_ABSOLUTE_BUILDDIR=0`.
If you need even more precise control about the location of the virtualenv, you can now also
directly set the CMake variable `DUNE_PYTHON_VIRTUALENV_PATH` to the directory in which to
create the virtualenv.
- The `VectorSize` helper has been deprecated. The `size()` method of
vectors should be called directly instead.
- The `dune_symlink_to_sources_files` cmake function now has a `DESTINATION` argument.
- Drop support for Python 2. Only Python 3 works with Dune 2.7.
- Support for older version than METIS 5.x and ParMETIS 4.x is deprecated and will be
removed after Dune 2.7.
## build-system
- When run with an absolute build directory, `dunecontrol` now exposes the root build
directory to CMake in the variable `DUNE_BUILD_DIRECTORY_ROOT_PATH`.
See core/dune-common!542
- The `dune_symlink_to_sources_files` CMake function now has a `DESTINATION` argument.
- Dune no longer applies architecture flags detected by the Vc library
automatically. This applies to all targets that link to Vc explicitly (with
`add_dune_vc_flags()`) or implicitly (with `dune_enable_all_packages()`).
If you do want to make use of extended architecture features, set the
architecture explicitly in the compiler options, e.g. by specifying
```sh
CMAKE_FLAGS="-DCMAKE_CXX_FLAGS=-march=native"
```
in your opts-file. Vc also sets compiler options to select a particular C++
abi (`-fabi-version` and `-fabi-compat-version`), these continue to be
applied automatically.
See core/dune-common!677
- `FindParMETIS.cmake` assumes METIS was found first using `FindMETIS.cmake` and does not
longer try to find METIS itself.
- The `inkscape_generate_png_from_svg` CMake function is deprecated and will be removed
after 2.7.
- The `VectorSize` helper has been deprecated. The `size()` method of
vectors should be called directly instead.
- `FieldMatrix` and `FieldVector` are now [trivially copyable types]
if the underlying field type is trivally copyable.
As a consequence the copy assignment operator of the `DenseVector`
class can no longer be used; just avoid going through
`DenseVector` and use the real vector type instead
(e.g. `FieldVector`).
[trivially copyable types]: https://en.cppreference.com/w/cpp/named_req/TriviallyCopyable
- LaTeX documents can now be built using `latexmk` with the help of UseLatexmk.cmake's
`add_latex_document`. `dune_add_latex_document` will use the new way of calling
LaTeX when the first argument is `SOURCE`. As a side effect, in-source builds are
supported, too. The old function call and UseLATEX.cmake are deprecated and will be
removed after 2.7.
See core/dune-common!594
- The build system has learned some new tricks when creating or looking for the Python virtualenv:
When using an absolute build directory with `dunecontrol`, the virtualenv will now be placed
directly inside the root of the build directory hierarchy in the directory `dune-python-env`.
This should make it much easier to actually find the virtualenv and also avoids some corner
cases where the build system would create multiple virtualenvs that did not know about each
other. This behavior can be disabled by setting
`DUNE_PYTHON_EXTERNAL_VIRTUALENV_FOR_ABSOLUTE_BUILDDIR=0`.
If you need even more precise control about the location of the virtualenv, you can now also
directly set the CMake variable `DUNE_PYTHON_VIRTUALENV_PATH` to the directory in which to
create the virtualenv.
# Release 2.6
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment