[vtk-developers] Use LINK_INTERFACE_LIBRARIES for VTK libs

Mathieu Malaterre mathieu.malaterre at gmail.com
Fri Jul 31 10:55:08 EDT 2009



On Wed, Jul 29, 2009 at 8:17 PM, Brad King<brad.king at kitware.com> wrote:
> Mathieu Malaterre wrote:
>> On Fri, Jul 24, 2009 at 4:53 PM, Sebastien
>> BARRE<sebastien.barre at kitware.com> wrote:
>>> At 7/21/2009 09:14 AM, Brad King wrote:
>>>
>>>> In order to take advantage of this from outside VTK then the entire
>>>> VTKConfig.cmake generation and installation needs to be reworked.
>>> That's good news but a scary thought :)  A lot of work went there.
>>> Fortunately KWWidgets's dashboard builds itself against both VTK build and
>>> install trees, so we should see if something goes very wrong on the VTK
>>> side. On the other hand I predict some interesting time for projects like
>>> KWWidgets that will need to be compatible with both VTK 5.0 and VTK HEAD,
>>> i.e. twos way of exporting libs/packages...
>>
>> Brad could you further comment on your comment above Sebastien's ?
>> As far as I understand you meant to say, 'in order to take advantage',
>> which does not imply there will be backward compatible issue ?
>> Transitive linking will not be guarantee when using current
>> VTKConfig.cmake, that's all you meant, right ?
>
> Actually transitive linking (kind of) works currently.  It's file-level
> dependencies that don't currently work (vtkCommon changes => relink exe).
>
> Switching VTK to export its targets using the new approach should not
> require any changes to outside applications to keep them working as-is,
> at least for standard use cases.  When an outside project writes
>
>  find_package(VTK)
>  include(${VTK_USE_FILE})
>  add_executable(myexe myexe.cxx)
>  target_link_libraries(myexe vtkCommon)
>
> CMake currently generates a link line for myexe such as
>
>  ... -o myexe -L/path/to/VTK/lib -lvtkCommon
>
> With the new approach it will be
>
>  ... -o myexe /path/to/VTK/lib/libvtkCommon.so
>
> and the make rule will depend on the library file also.

Ok then I taking it as a gringo (green-go). 
Very big thanks to Denis Barbier for doing the hard work !

$ cvs ci -m"ENH: Applying patch transitive3.patch, see vtk-dev thread #Use LINK_INTERFACE_LIBRARIES for VTK libs" 
Committer: Mathieu Malaterre <mathieu.malaterre at gmail.com>
Committer: Mathieu Malaterre <mathieu.malaterre at gmail.com>
Committer: Mathieu Malaterre <mathieu.malaterre at gmail.com>
Committer: Mathieu Malaterre <mathieu.malaterre at gmail.com>
Committer: Mathieu Malaterre <mathieu.malaterre at gmail.com>
Committer: Mathieu Malaterre <mathieu.malaterre at gmail.com>
Committer: Mathieu Malaterre <mathieu.malaterre at gmail.com>
Committer: Mathieu Malaterre <mathieu.malaterre at gmail.com>
Committer: Mathieu Malaterre <mathieu.malaterre at gmail.com>
Committer: Mathieu Malaterre <mathieu.malaterre at gmail.com>
Committer: Mathieu Malaterre <mathieu.malaterre at gmail.com>
Committer: Mathieu Malaterre <mathieu.malaterre at gmail.com>
Committer: Mathieu Malaterre <mathieu.malaterre at gmail.com>
Committer: Mathieu Malaterre <mathieu.malaterre at gmail.com>
Committer: Mathieu Malaterre <mathieu.malaterre at gmail.com>
Committer: Mathieu Malaterre <mathieu.malaterre at gmail.com>
Committer: Mathieu Malaterre <mathieu.malaterre at gmail.com>
/cvsroot/VTK/VTK/CMake/KitCommonBlock.cmake,v  <--  CMake/KitCommonBlock.cmake
new revision: 1.12; previous revision: 1.11
/cvsroot/VTK/VTK/Common/CMakeLists.txt,v  <--  Common/CMakeLists.txt
new revision: 1.224; previous revision: 1.223
/cvsroot/VTK/VTK/Filtering/CMakeLists.txt,v  <--  Filtering/CMakeLists.txt
new revision: 1.177; previous revision: 1.176
/cvsroot/VTK/VTK/GUISupport/Qt/CMakeLists.txt,v  <--  GUISupport/Qt/CMakeLists.txt
new revision: 1.78; previous revision: 1.77
/cvsroot/VTK/VTK/GenericFiltering/CMakeLists.txt,v  <--  GenericFiltering/CMakeLists.txt
new revision: 1.14; previous revision: 1.13
/cvsroot/VTK/VTK/Geovis/CMakeLists.txt,v  <--  Geovis/CMakeLists.txt
new revision: 1.14; previous revision: 1.13
/cvsroot/VTK/VTK/Graphics/CMakeLists.txt,v  <--  Graphics/CMakeLists.txt
new revision: 1.211; previous revision: 1.210
/cvsroot/VTK/VTK/Hybrid/CMakeLists.txt,v  <--  Hybrid/CMakeLists.txt
new revision: 1.151; previous revision: 1.150
/cvsroot/VTK/VTK/IO/CMakeLists.txt,v  <--  IO/CMakeLists.txt
new revision: 1.179; previous revision: 1.178
/cvsroot/VTK/VTK/Imaging/CMakeLists.txt,v  <--  Imaging/CMakeLists.txt
new revision: 1.92; previous revision: 1.91
/cvsroot/VTK/VTK/Infovis/CMakeLists.txt,v  <--  Infovis/CMakeLists.txt
new revision: 1.93; previous revision: 1.92
/cvsroot/VTK/VTK/Parallel/CMakeLists.txt,v  <--  Parallel/CMakeLists.txt
new revision: 1.194; previous revision: 1.193
/cvsroot/VTK/VTK/Rendering/CMakeLists.txt,v  <--  Rendering/CMakeLists.txt
new revision: 1.302; previous revision: 1.301
/cvsroot/VTK/VTK/Utilities/vtksqlite/CMakeLists.txt,v  <--  Utilities/vtksqlite/CMakeLists.txt
new revision: 1.4; previous revision: 1.3
/cvsroot/VTK/VTK/Views/CMakeLists.txt,v  <--  Views/CMakeLists.txt
new revision: 1.15; previous revision: 1.14
/cvsroot/VTK/VTK/VolumeRendering/CMakeLists.txt,v  <--  VolumeRendering/CMakeLists.txt
new revision: 1.34; previous revision: 1.33
/cvsroot/VTK/VTK/Widgets/CMakeLists.txt,v  <--  Widgets/CMakeLists.txt
new revision: 1.37; previous revision: 1.36


-- 
Mathieu

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 270 bytes
Desc: OpenPGP digital signature
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20090731/9c394789/attachment.sig>


More information about the vtk-developers mailing list