I'll add Debian Bullseye : 3.18.4. Stretch is already oldstable, and
with the release of bullseye in the upcoming months, stretch is gonna
be eol soon. Not sure if it's worth supporting.
Regards,
Julien
I do not know if you'd like to have the following features "very much",
but these stand out to me:
* for 3.16:
* `target_precompile_headers()` command was added.
* `BUILD_RPATH` / `INSTALL_RPATH` target properties now support
generator expressions.
* `FindPython` and `FindPython3` modules gained options to control
which ABIs will be searched.
* CPack now supports multiple configurations.
* for 3.17:
* `cmake` gained the "Ninja Multi-Config" generator.
* However, this is nice for the user but irrelevant for determining
the minimum CMake version for Boost.
* `target_compile_options()` command now honors the `BEFORE` keyword
more consistently.
* The `DEPRECATION` target property was added.
* for 3.18:
* `add_library` / `add_executable` commands can now create `ALIAS`
targets referencing non-`GLOBAL` `IMPORTED` targets.
* Creation of an `ALIAS` target overwriting an existing target now
raises an error.
* `get_property()` / `set_property()` with `SOURCE` gained the
`DIRECTORY` and `TARGET_DIRECTORY` options to get/set property from the
provided directory scope.
* The same for `get_source_file_property()` /
`set_source_file_properties()`.
* The `FetchContent` module `FetchContent_Declare()` command now
supports a `SOURCE_SUBDIR` option.
* for 3.19:
* The `add_test` command now supports whitespace and other special
characters in the name for tests it creates.
* The `find_package()` command can now handle a version range.
* The `file()` command was extended with a lot of functionality.
* `file(GENERATE)` was fixed.
* The `string()` command gained a set of new `JSON` sub command that
provide JSON parsing capabilities.
* `FindPython` / `FindPython2` / `FindPython3` gained ability to
handle a version range.
* `INTERFACE` libraries may now have source files (*.cpp) added.
* Fixes error of `install(EXPORT)` in certain situations.
* Fix handling `OBJECT` libraries when using "Ninja Multi-Config"
generator.
* for 3.20:
* The `GENERATED` source-file property is now visible from any
directory scope.
* `add_custom_command()` / `add_custom_target()` now support
generator expression in their `OUTPUT` and `BYPRODUCTS` options.
* `add_library()` can now handle `IMPORTED` `OBJECT` libraries with
multi-architecture configurations. (Mostly affected: Xcode generator
when targeting iOS)
* `target_include_directories()` command gained `AFTER` keyword.
* `target_sources` now works with targets created by
`add_custom_target()`.
* Compile feature `cxx_std_23` was introduced.
* CPack `DEB` generator now has advanced support for the
`dpkg-shlibdeps` program.
* Source file extensions must now be explicit. (CMP0115)
Personally, I value the following features from (CMake 3.18 to 3.20)
quite high:
* from 3.18:
* `add_library` / `add_executable` commands can now create `ALIAS`
targets referencing non-`GLOBAL` `IMPORTED` targets.
* Creation of an `ALIAS` target overwriting an existing target now
raises an error.
* from 3.19:
* Fix handling `OBJECT` libraries when using "Ninja Multi-Config"
generator.
* The `add_test` command now supports whitespace and other special
characters in the name for tests it creates.
* `file(GENERATE)` was fixed.
* Fixes error of `install(EXPORT)` in certain situations.
* from 3.20:
* The `GENERATED` source-file property is now visible from any
directory scope.
* `add_library()` can now handle `IMPORTED` `OBJECT` libraries with
multi-architecture configurations. (Mostly affected: Xcode generator
when targeting iOS)
* `target_sources` now works with targets created by `add_custom_target()`.
* CPack `DEB` generator now has advanced support for the
`dpkg-shlibdeps` program.
> There are undocumented things fixed here and there, such as
> list(REMOVE_DUPLICATES failing on empty lists with a fatal
> error, but I don't remember which version fixed that.
>
Sorry, neither do I.
Deniz
--
BENOCS GmbH
Dipl.-Inform. Deniz Bahadir
Reuchlinstr. 10 D
10553 Berlin
Germany
Phone: +49 - 30 / 577 0004-22
Email: deniz....@benocs.com
www.benocs.com
Board of Management: Stephan Schroeder, Dr.-Ing. Ingmar Poese
Commercial Register: Amtsgericht Bonn HRB 19378