[cmake-developers] User vs CMake include mismatch handling

Alexander Neundorf neundorf at kde.org
Wed Oct 13 15:30:37 EDT 2010


On Wednesday 13 October 2010, Alexander Neundorf wrote:
> On Wednesday 13 October 2010, Alexander Neundorf wrote:
> ...
>
> > Adding FPHSA2.cmake now in 2.8.3 is safe now, but not as soon as new
> > features are added to it in 2.8.4 or later versions.
> > Projects will have copies of it and it can break just the same way then.
>
> Example: assume projects will take a copy of FPHSA2.cmake now. KDE will
> have one.
> In cmake 2.8.4 FPHSA2 may have some new option for better handling of the
> COMPONENTS argument of find_package().
> -> same breakage again as we have now, if no full path is used.

In other words: by not using the full path and not preferring CMAKE_ROOT over 
CMAKE_MODULE_PATH when include()d from CMAKE_ROOT, we (the cmake developers) 
expect that projects only keep forward-compatible versions of cmake modules, 
because otherwise an upgrade of cmake might break their build.

Backward compatibility is ok, I think we're doing quite good with that in 
cmake and also in KDE, as the KDE buildsystem guy I don't know how to ensure 
forward compatibility.

Alex



More information about the cmake-developers mailing list