[cmake-developers] Preparing for CMake 3.0.0-rc1
Stephen Kelly
steveire at gmail.com
Mon Jan 27 16:58:49 EST 2014
Brad King wrote:
> * AddVersionToProjectCommand at commit 73019d66
Commit 44013262 seems to set the version variables to "0", instead of
leaving them unset, if not defined. If this is deliberate and considered,
the reason for it is not in the commit message. I think that particular
logic should be reconsidered anyway.
The test should be extended to cover a case like:
project(Xyz VERSION "7.8.9")
project(Abc "3.2.1")
and I guess
project(Xyz VERSION "7.8.9")
set(CMAKE_PROJECT_VERSION_SET_BY_PROJECT_COMMAND FALSE)
project(Abc "3.2.1")
Though I still don't like the behavior in the topic with project() commands
without a specified VERSION and the
CMAKE_PROJECT_VERSION_SET_BY_PROJECT_COMMAND variable etc. I don't see why
all the complexity is needed.
>From what I understand, the reason it was added is related to using
add_subdirectory to add a self-contained/standalone project to host
buildsystem. These VERSION variables are not alone in 'conflict
possibilities' in that case. The 'sub-project' already may not use
CMAKE_SOURCE_DIR and there are other constraints which we don't have
listed/documented anywhere. There are existing reasons why ExternalProject
should be used instead of add_subdirectory in such cases. These VERSION
variables can just be another reason. The 'host' buildsystem would itself
have to set the VERSION, so it can ensure that that actually works with its
sub-directory projects.
There should not be special behavior with these VERSION variables. Or if
there really should be, the reason should be in the commit message.
Thanks,
Steve.
More information about the cmake-developers
mailing list