View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0015222CMakeCMakepublic2014-10-28 08:082016-06-10 14:31
ReporterCharles Karney 
Assigned ToKitware Robot 
PrioritynormalSeverityfeatureReproducibilityalways
StatusclosedResolutionmoved 
PlatformOSOS Version
Product VersionCMake 3.0.2 
Target VersionFixed in Version 
Summary0015222: Need a way to determine when features were introduced into cmake
DescriptionAuthors of cmake scripts face a challenge ensuring that their scripts
are portable. This is exacerbated by

* cmake is constantly evolving (which is good!);

* their cmake scripts are run by a diverse set of users (also good!);

* authors have little control over the version of cmake that end-users
  have installed;

* the relationship with end-users is even more tenuous with the
  package-config scripts (which are not read by the builder of the
  package but by a developer using the package).

There is cmake_minimum_required, but authors would normally not want to
set this to too recent a version.

The problem is that it's difficult to know when a particular feature
appeared in cmake. There's no single changelog (and the format of the
changelog doesn't make it easy to search in). Frequently I'm left doing
a binary search in the documentation! Sometimes I need install old
versions to check their behavior.

For example I just noticed that install (TARGET ...) also an INCLUDES
DESTINATION option. This seemed like a feature I should be using until
I noticed that it only appeared in 2.8.12 (or thereabouts).

Suggestions:

* Have a developer mode where cmake behaves as though it were at the
  version given by cmake_minimum_required. (Probably this is
  unfeasible?)

* In the documentation, specify when each command, command option,
  variable, etc., was introduced. (Might junk up the documentation.)

* Split this information off into a separate document. (My favored
  solution.)
Steps To ReproduceN/A
Additional InformationN/A
TagsNo tags attached.
Attached Files

 Relationships
has duplicate 0015517closed documentation should give introducing version 

  Notes
(0037079)
Brad King (manager)
2014-10-28 08:40

The documentation page has links to the docs of CMake for every version going back for years:

 http://www.cmake.org/documentation/ [^]

Just use the documentation for whatever your cmake_minimum_required(VERSION) is and you won't see new features.

Also since 3.0 we are writing formal release notes for every new version covering all new features. See here for example:

 http://www.cmake.org/cmake/help/v3.1/release/index.html [^]
(0037092)
Stephen Kelly (developer)
2014-10-28 17:17

There is

 http://www.cmake.org/Wiki/CMake_Version_Compatibility_Matrix [^]

but it is not updated for CMake 3.0 or 3.1 yet.
(0037093)
Charles Karney (reporter)
2014-10-28 18:16

Thanks the compatibility matrix is handy.
(0042652)
Kitware Robot (administrator)
2016-06-10 14:29

Resolving issue as `moved`.

This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page.

 Issue History
Date Modified Username Field Change
2014-10-28 08:08 Charles Karney New Issue
2014-10-28 08:40 Brad King Note Added: 0037079
2014-10-28 17:17 Stephen Kelly Note Added: 0037092
2014-10-28 18:16 Charles Karney Note Added: 0037093
2015-04-16 12:31 Brad King Relationship added has duplicate 0015517
2016-06-10 14:29 Kitware Robot Note Added: 0042652
2016-06-10 14:29 Kitware Robot Status new => resolved
2016-06-10 14:29 Kitware Robot Resolution open => moved
2016-06-10 14:29 Kitware Robot Assigned To => Kitware Robot
2016-06-10 14:31 Kitware Robot Status resolved => closed


Copyright © 2000 - 2018 MantisBT Team