Re: [cmake-developers] Add property to get all linked libraries including transitive ones

2016-11-02 Thread Florent Castelli
One usage I would have had for this feature would have been to generate 
a pre-linked library.
Basically, merging a static library and its dependencies together (check 
ld -r) and output an object file for static linking (not a shared library).
This is required as merging static libraries may conflict on filenames 
in the archive (they could be renamed though) or generate huge archives 
(hey, here's 1000 copies of std::string and std::vector methods and 
their debug symbols).


Instead, I recursed on all the dependencies to generate an extra build 
step to merge everything. The file is small and can be cached.
We did that to save time for our iOS devs so they didn't have to rebuild 
our big C++ library all the time. We targeted iOS 7, so shared libraries 
were not available.


It's a bit more involved, but it would have been useful. Though, I 
understand it can be tricky to get the on-disk path to a library with 
all generators (we had 2 code paths, one for Xcode builds and another 
one for Ninja).


/Florent

On 02/11/2016 12:56, Brad King wrote:

On 11/01/2016 04:30 PM, maikel van den Hurk wrote:

obtain actually all transitive linked libraries of a specific target.

[snip]

this information is only fully available during generation time.

What is an example use case for this?  I don't think we can offer a
configure-time solution but perhaps there is a generate-time solution
to the use case.

-Brad



--

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


Re: [cmake-developers] Add property to get all linked libraries including transitive ones

2016-11-02 Thread maikel van den Hurk
We are trying to develop a proper C++ dependency management tool which will 
combine Ivy together with CMake. Our intention is to open source this this 
modules later for everyone.

As we need to keep track of all dependencies we would like to be able to get 
all transitive linked libraries to be able to write out properly ivy module 
descriptor. We could try to write some logic which will go over all the targets 
and get from them LINK_LIBRARIES and INTERFACE_LINK_LIBRARIES, but given the 
knowledge of all transitive is available internally in CMake already it would 
great if this could be exposed at generate-time.


Maikel

-- 

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

Re: [cmake-developers] Add CXX_STANDARD support for Intel C++ compilers

2016-11-02 Thread Brad King
On 11/02/2016 03:32 PM, Levi Morrison wrote:
> Brad, here it is a year later and thought I would get around to
> finishing this work. Then I discovered you had already completed it!
> Thank you so much!
> 
> I now have access to the 2017 Intel C++ compiler; is there anything in
> particular you'd like me to check with it?

No, thanks.  I have it installed and have tested on Linux and Windows.
Please proceed with normal usage.

-Brad

-- 

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


Re: [cmake-developers] Add CXX_STANDARD support for Intel C++ compilers

2016-11-02 Thread Levi Morrison
On Wed, Dec 2, 2015 at 8:40 AM, Brad King  wrote:
> On 12/02/2015 10:31 AM, Levi Morrison wrote:
>> Hmm. What is the purpose of this module? I verified that indeed my
>> changeset somehow breaks this test but I don't even understand what it
>> is trying to do. At a glance it looks like even *more* duplication of
>> feature detection. Please tell me I'm wrong.
>
> It re-uses the Modules/Compiler/--FeatureTests.cmake information
> to generate a header file that projects can include to check for the
> availability of features.  The header can then be installed and re-used
> by clients of such projects even if they do not use CMake.
>
> The test checks that those results are consistent with the features detected
> by CMake.
>
> -Brad
>

Brad, here it is a year later and thought I would get around to
finishing this work. Then I discovered you had already completed it!
Thank you so much!

I now have access to the 2017 Intel C++ compiler; is there anything in
particular you'd like me to check with it?
-- 

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


Re: [cmake-developers] Add property to get all linked libraries including transitive ones

2016-11-02 Thread Brad King
On 11/01/2016 04:30 PM, maikel van den Hurk wrote:
> obtain actually all transitive linked libraries of a specific target.
[snip]
> this information is only fully available during generation time.

What is an example use case for this?  I don't think we can offer a
configure-time solution but perhaps there is a generate-time solution
to the use case.

-Brad

-- 

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