[prev in list] [next in list] [prev in thread] [next in thread] 

List:       cmake
Subject:    Re: [CMake] [cmake-developers] How should config packages handle components?
From:       Alex Turbov <i.zaufi () gmail ! com>
Date:       2017-09-01 18:40:39
Message-ID: CANktQtvJaAxmNaLfChG05KRdzT-n0DAogXY6cOwMUD=VyuOKTw () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Hi Robert,


On Fri, Sep 1, 2017 at 9:21 PM, Robert Dailey <rcdailey.lists@gmail.com>
wrote:

>
> One problem I thought of with the former (one big target.cmake with
> all import targets in there) is that if you only ask for a subset of
> components in find_package(), you will still get all of them since all
> imports are defined in a single file.


In my project I have a bunch of components and do one exported target per
component
exactly by the mentioned reason -- user didn't ask for others...


> Does this go against any design
> principles?


As far as I know, there are no clear design principles :) (yet, at least
nowadays) -- at least doing
a lot of CMake projects since 2009, I've never seen an explicit list of
them %)
IMHO, there is a lack of "official guildelines" (or it is really hard to
search for 'em)

Assuming this really happens, are there any negative side
> effects?
>

I could see the impact on build time only in this case... and for me the
most obvious is increasing
time to process the lists (which is for some reasons really slow on
Windows, at least in our
build farm which uses vargant and VirtualBox images)
(but I don't have any particular numbers, cuz never implemented the first
approach)




--
>
> Powered by www.kitware.com
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Kitware offers various services to support the CMake community. For more
> information on each offering, please visit:
>
> CMake Support: http://cmake.org/cmake/help/support.html
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
>
> Visit other Kitware open-source projects at http://www.kitware.com/
> opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/cmake-developers
>

[Attachment #5 (text/html)]

<div dir="ltr">Hi Robert,<br><br><div class="gmail_extra"><br><div \
class="gmail_quote">On Fri, Sep 1, 2017 at 9:21 PM, Robert Dailey <span \
dir="ltr">&lt;<a href="mailto:rcdailey.lists@gmail.com" \
target="_blank">rcdailey.lists@gmail.com</a>&gt;</span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><br> One problem I thought of with the former (one big \
target.cmake with<br> all import targets in there) is that if you only ask for a \
subset of<br> components in find_package(), you will still get all of them since \
all<br> imports are defined in a single file. </blockquote><div><br></div><div>In my \
project I have a bunch of components and do one exported target per \
component</div><div>exactly by the mentioned reason -- user didn&#39;t ask for \
others...<br></div><div>  </div><blockquote class="gmail_quote" style="margin:0 0 0 \
.8ex;border-left:1px #ccc solid;padding-left:1ex">Does this go against any design<br> \
principles? </blockquote><div><br></div><div>As far as I know, there are no clear \
design principles :) (yet, at least nowadays) -- at least doing</div><div>a lot of \
CMake projects since 2009, I&#39;ve never seen an explicit list of them \
%)<br></div><div>IMHO, there is a lack of &quot;official guildelines&quot; (or it is \
really hard to search for &#39;em)<br></div><div> <br></div><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex">Assuming this really happens, are there any negative side<br> \
effects?<br></blockquote><div><br></div><div>I could see the impact on build time \
only in this case... and for me the most obvious is increasing</div><div>time to \
process the lists (which is for some reasons really slow on Windows, at least in \
our</div><div>build farm which uses vargant and VirtualBox images)</div><div>(but I \
don&#39;t have any particular numbers, cuz never implemented the first \
approach)<br></div><div>  \
</div><div><br></div><div><br></div><div><br></div><blockquote class="gmail_quote" \
                style="margin:0 0 0 .8ex;border-left:1px #ccc \
                solid;padding-left:1ex">
--<br>
<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" \
target="_blank">www.kitware.com</a><br> <br>
Please keep messages on-topic and check the CMake FAQ at: <a \
href="http://www.cmake.org/Wiki/CMake_FAQ" rel="noreferrer" \
target="_blank">http://www.cmake.org/Wiki/<wbr>CMake_FAQ</a><br> <br>
Kitware offers various services to support the CMake community. For more information \
on each offering, please visit:<br> <br>
CMake Support: <a href="http://cmake.org/cmake/help/support.html" rel="noreferrer" \
target="_blank">http://cmake.org/cmake/help/<wbr>support.html</a><br> CMake \
Consulting: <a href="http://cmake.org/cmake/help/consulting.html" rel="noreferrer" \
target="_blank">http://cmake.org/cmake/help/<wbr>consulting.html</a><br> CMake \
Training Courses: <a href="http://cmake.org/cmake/help/training.html" \
rel="noreferrer" target="_blank">http://cmake.org/cmake/help/<wbr>training.html</a><br>
 <br>
Visit other Kitware open-source projects at <a \
href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" \
target="_blank">http://www.kitware.com/<wbr>opensource/opensource.html</a><br> <br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/cmake-developers" \
rel="noreferrer" target="_blank">http://public.kitware.com/<wbr>mailman/listinfo/cmake-<wbr>developers</a><br>
 </blockquote></div><br></div></div>



-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more information \
on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic