On Tuesday 13 March 2012, Brad King wrote:
> On 3/13/2012 1:12 PM, Alexander Neundorf wrote:
> > Setting CMP0018 to new would mean that the project supports only those
> > component-aware packages which follow that new convention.
> 
> Yes, that cannot be a requirement to use
> 
>    cmake_minimum_required(VERSION 2.8.8)
> 
> or whatever version of CMake introduces the policy as that would set
> it to NEW implicitly.  We cannot make this a special case because then
> it would simply not be a policy.  It introduces a requirement on the
> CMake version-awareness of a project's dependencies instead of just
> the project.
> 
>  > Some users/developers would prefer if there was a more strict definition
>  > of how the COMPONENTS arguments should be handled.
> 
> My proposal only requires the small change to CMake already under
> discussion and makes it possible for projects to provide package
> configuration files that handle components in a nice way.  It also
> does not preclude the possibility of a future convention.  However,
> any "strict definition" of behavior would *force* every project to
> adapt to it even if it doesn't make sense just because it made
> sense for a few *other* projects.

How about this:
* no policy
* new argument find_package( OPTIONAL_COMPONENTS), so we get two sets of 
components
* the components are still ignored by find_package() for setting Foo_FOUND
* I add some code to FPHSA so it handled COMPONENTS and REQUIRED_COMPONENTS as 
done in my branch (i.e. COMPONENTS are required, OPTIONAL_COMPONENTS not)
* I maybe add something to @PACKAGE_INIT@ to help Config files handle 
components as recommended

This way we could recommend to handle components in some way, and make it easy 
for developers to follow the recommendation.

Alex
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to