> -----Original Message-----
> From: Eric Noulard [mailto:[email protected]]
> Sent: Sunday, November 14, 2010 9:43 PM
> To: Vladislav Vaintroub
> Cc: CMake ML
> Subject: Re: [CMake] CPACK_MONOLITHIC_INSTALL not handled at runtime?
>
> 2010/11/14 Vladislav Vaintroub <[email protected]>:
> >
> > [skip]
> >> 1) Shall we step back and may be setup a CMake policy for
> >> enabling component installer?
> >> If we go for a policy may be someone can help me with this
> >> because I did never add a new policy mayself.
> >
> > Sounds like a good idea. On the other hand, just assuming
> > CPACK_MONOLITHIC_INSTALL=1 by default for
> > archives (ZIP, TGZ) and produce
> > components only if explicitly requested with CPACK_MONOLITHIC_INSTALL=0
> > would be fine with me.
> > I imagine, this is what many users would want, but I might be mistaken.
>
> Ok I think the idea is good but I propose some slightly more elaborate scheme.
>
> Each CPackGenerator may support or not component install.
> Now it's not because a generator is able to produce "componentized" package
> that
> it should be it's default behavior (even if the user specified
> COMPONENT in its CMakeLists.txt)
>
> Thus for each generator which support component install there is an associated
> default behavior which is to go either way.
>
> If a user wants to enforce the non default behavior (either way) it may do so
> by setting
>
> CPACK_<GENERATOR>_MONOLITHIC_INSTALL
> CPACK_<GENERATOR>_COMPONENT_INSTALL
> or
> CPACK_<GENERATOR>_INSTALL_BEHAVIOR=MONOLITHIC
> CPACK_<GENERATOR>_INSTALL_BEHAVIOR=COMPONENT
>
> we need both because default behavior for existing installer are
> or will be differents (NSIS vs ZIP).
>
>
> if ones want to GLOBALLY enforce either way then:
>
> CPACK_MONOLITHIC_INSTALL
> CPACK_COMPONENT_INSTALL
> or
> CPACK_INSTALL_BEHAVIOR=MONOLITHIC
> CPACK_INSTALL_BEHAVIOR=COMPONENT
> could be set.
>
> Non component-aware generator will ignore those
> (as of today).
>
> Those vars may be set at CMake-time or at CPack-time.
>
> What do you think?
Yes, sounds like a good idea, it allows the most flexibility. Re. variables ,
I guess CPACK_MONOLITHIC_INSTALL={ON|OFF} and
CPACK_<GENERATOR>_MONOLITHIC_INSTALL ={ON|OFF} would already cover all possible
scenarios. I.e MONOLITHIC_INSTALL=OFF is the same
as component install = ON, right?
> I personnally think this scheme is relatively simple and robust
> and it would be easy to maintain backward compatibility without
> even have to introduce a new cmake policy.
>
> --
> Erk
> Membre de l'April - « promouvoir et défendre le logiciel libre » -
> http://www.april.org
_______________________________________________
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://www.cmake.org/mailman/listinfo/cmake