Age | Commit message (Collapse) | Author |
|
REVIEW: 128780
|
|
|
|
This reverts commit 959c374c022394a116e8ceb2b1fce2df11752068.
I merged and pushed the wrong branch.
|
|
SameMajorVersionWithPreleases is intended implement the versioning
scheme followed by many KDE projects: minor releases after some high
number (eg: 90) are considered to be pre-releases of the next major
version, and are not compatible with the current major version. This
allows alpha and beta releases to be ordered correctly by
version-number-aware software like package managers (an alpha of version
2 should have a higher number than any release of version 1, but less
than version 2.0).
So a request for version 2.1.0 of a piece of software should not be
satisfied by 2.93.4, because that is actually a pre-release of version
3. On the other hand, a request for version 2.91.0 should be satisfied
by version 3.1.0.
Note that prereleases are not considered unless explicitly requested, so
2.93.4 will not satisfy requests for version 3 (or version 2) of a piece
of software.
|
|
|
|
Lots of libraries will want to use SameMajorVersion to make sure
searching for version 1 of a library doesn't give you version 2, for
example.
We may want to add another, custom compatibility mode for
KDE Frameworks-style versioning, where version x.90.z to x.99.z are
alpha/beta releases for version (x+1).
REVIEW: 121696
|
|
cmake_policy() does not allow you to reference policies that do not yet
exist, so include a version check.
|
|
When CMake policy CMP0048 (CMake 3.0) is set to NEW, the project()
command is meant to manage the project's version variables. We therefore
do not set the PROJECT_VERSION variables in this case.
To make sure projects do not have to specify their version in multiple
places, this also allows the keyword "PROJECT" to be passed to
ecm_setup_version instead of an actual version number. In this case, the
version passed to project() will be used.
REVIEW: 117619
|
|
This is deliberately modelled very closely on CMake's documentation
system. It's a hefty patch, because it involved changing all the
documentation to be in reStructuredText format. I also cleaned up the
copyright/license statements at the same time.
Note that the find modules contain the full license, due to the fact
that ecm_use_find_module() copies them out of the ECM distribution.
|
|
This makes it easier for other functions to access the project version,
for instance my upcoming ECM_GENERATE_PRI_FILE()
|
|
version
This is all internal, doesn't change the API or effects of ecm_setup_version.
|
|
|
|
Accept a single version argument instead of three. The old signature
will be an error in a few days.
|
|
Alex
|
|
This commit
-adds the macro ecm_setup_version(), as proposed on the kde-frameworks list
-sets CMAKE_INSTALL_DEFAULT_COMPONENT_NAME to ${PROJECT_NAME} if a project has been set
-makes e-c-m require cmake 2.8.10.1
Alex
|