[Cmake] stripping repeated link directories and libraries from each makefile.

Bill Hoffman bill.hoffman at kitware.com
Fri Jul 27 12:24:45 EDT 2001


I don't think cmake should uniqify the libraries because there are many existing libraries
that are not designed like VXL, and it is quite common to have to repeat libraries.
However, your problem sounds more like mis-formed cmakelist files.   cmake only uses
duplicates if they are in the cmakelist files.

-Bill


At 04:50 PM 7/27/2001 +0100, Ian Scott wrote:
>> From: Bill Hoffman [mailto:bill.hoffman at kitware.com]
>> 2.  A twice repeated list is not enough in some cases.
>> In fact, to guarantee a static link, you have to repeat N libraries
>> N times.   So, some list files may repeat libraries intentionally.
>
>Actually I think it is worse than that in theory. If you have two libraries
>A and B, with functions A1, A2, .. Am B1, B2, ...Bm and A1 depends on B1
>which depends on A2, etc, you need to repeat the list m times.
>
>In practice however, these problems almost never arise. For instance VXL is
>designed with a guaranteed acyclic directed dependency graph for other
>reasons. This means that it is only necessary to include each library once,
>if you get the order right. Maybe I could put an option in, to turn
>filtering on or off?
>
>Ian.
>
>
>>
>>
>> -Bill
>> At 11:54 AM 7/27/2001 +0100, Ian Scott wrote:
>> >I am considering
>> >1) reducing the library link directories list in each
>> cmMakefile to a list
>> >of unique directories before output to the dsp file.
>> >2) reducing the library list in each cmMakefile to a twice
>> repeated list of
>> >unique libraries before output to the dsp file.
>> >A small experiment suggests that both the number of link
>> directories and
>> >number of linked libraries in each dsp file has a
>> significant effect on the
>> >project loading time in MSVC++.
>> >
>> >Whilst I can't see any problem with going ahead with 1,
>> other's may find the
>> >current full list of libraries to be useful.
>> >
>> >Any comments?
>> >
>> >Ian.
>> >
>> >
>> >
>> >
>> >
>> >_______________________________________________
>> >Cmake mailing list
>> >Cmake at public.kitware.com
>> >http://public.kitware.com/mailman/listinfo/cmake
>>
>
>
>_______________________________________________
>Cmake mailing list
>Cmake at public.kitware.com
>http://public.kitware.com/mailman/listinfo/cmake 





More information about the CMake mailing list