From 3cd0686ad5649064694be3efa4f8780fa361cef3 Mon Sep 17 00:00:00 2001
From: Ben Boeckel <ben.boeckel@kitware.com>
Date: Tue, 1 Jul 2014 16:53:01 -0400
Subject: [PATCH] linking: wrap tll() with a module-aware function

This will allow kits to gather all of the required libraries to link
since the modules themselves won't "exist" to link anything when kits
are enabled.

Change-Id: Ic73220c7b97e17a5fbc0aa6c0f7a5e5a61dc6bef
---
 Accelerators/Dax/CMakeLists.txt             |  4 ++--
 Accelerators/Piston/CMakeLists.txt          |  4 ++--
 CMake/vtkMPI.cmake                          |  4 ++--
 CMake/vtkModuleMacros.cmake                 | 14 ++++++++++++--
 Common/Core/CMakeLists.txt                  |  2 +-
 Filters/StatisticsGnuR/CMakeLists.txt       |  2 +-
 GUISupport/MFC/CMakeLists.txt               |  2 +-
 GUISupport/Qt/CMakeLists.txt                |  8 ++++----
 GUISupport/QtOpenGL/CMakeLists.txt          |  2 +-
 GUISupport/QtSQL/CMakeLists.txt             |  2 +-
 GUISupport/QtWebkit/CMakeLists.txt          |  2 +-
 IO/FFMPEG/CMakeLists.txt                    |  2 +-
 IO/GDAL/CMakeLists.txt                      |  2 +-
 IO/Movie/CMakeLists.txt                     |  2 +-
 IO/MySQL/CMakeLists.txt                     |  2 +-
 IO/ODBC/CMakeLists.txt                      |  2 +-
 IO/PostgreSQL/CMakeLists.txt                |  2 +-
 IO/Video/CMakeLists.txt                     |  2 +-
 Infovis/Boost/Testing/Cxx/CMakeLists.txt    |  2 +-
 Infovis/Parallel/CMakeLists.txt             |  2 +-
 Rendering/ContextOpenGL2/CMakeLists.txt     |  2 +-
 Rendering/FreeTypeFontConfig/CMakeLists.txt |  2 +-
 Rendering/OpenGL/CMakeLists.txt             | 10 +++++-----
 Rendering/OpenGL2/CMakeLists.txt            |  4 ++--
 Rendering/Qt/CMakeLists.txt                 |  2 +-
 Rendering/Tk/CMakeLists.txt                 |  4 ++--
 26 files changed, 49 insertions(+), 39 deletions(-)

diff --git a/Accelerators/Dax/CMakeLists.txt b/Accelerators/Dax/CMakeLists.txt
index 21486894da1..430ec8e60ab 100644
--- a/Accelerators/Dax/CMakeLists.txt
+++ b/Accelerators/Dax/CMakeLists.txt
@@ -174,12 +174,12 @@ if(${VTK_DAX_PICKED_CUDA})
 
   vtk_module_library(vtkAcceleratorsDax ${vtk_srcs} ${cuda_compiled_srcs}
                                         ${headers})
-  target_link_libraries(vtkAcceleratorsDax LINK_PRIVATE ${CUDA_LIBRARIES})
+  vtk_module_link_libraries(vtkAcceleratorsDax LINK_PRIVATE ${CUDA_LIBRARIES})
 
 elseif(${VTK_DAX_PICKED_TBB})
   vtk_module_library(vtkAcceleratorsDax ${vtk_srcs}
                                         ${cpu_accelerator_srcs} ${headers})
-  target_link_libraries(vtkAcceleratorsDax LINK_PRIVATE ${TBB_LIBRARIES})
+  vtk_module_link_libraries(vtkAcceleratorsDax LINK_PRIVATE ${TBB_LIBRARIES})
 else()
 
   vtk_module_library(vtkAcceleratorsDax ${vtk_srcs}
diff --git a/Accelerators/Piston/CMakeLists.txt b/Accelerators/Piston/CMakeLists.txt
index 66caaa3a7c6..f214744ee19 100644
--- a/Accelerators/Piston/CMakeLists.txt
+++ b/Accelerators/Piston/CMakeLists.txt
@@ -42,7 +42,7 @@ set_source_files_properties(
 list(APPEND Module_SRCS ${Module_CUDA_C_SRCS})
 
 vtk_module_library(vtkAcceleratorsPiston ${Module_SRCS})
-target_link_libraries(vtkAcceleratorsPiston LINK_PRIVATE ${CUDA_LIBRARIES})
+vtk_module_link_libraries(vtkAcceleratorsPiston LINK_PRIVATE ${CUDA_LIBRARIES})
 if(APPLE)
-  target_link_libraries(vtkAcceleratorsPiston LINK_PRIVATE /usr/local/cuda/lib/libtlshook.dylib)
+  vtk_module_link_libraries(vtkAcceleratorsPiston LINK_PRIVATE /usr/local/cuda/lib/libtlshook.dylib)
 endif()
diff --git a/CMake/vtkMPI.cmake b/CMake/vtkMPI.cmake
index d5e5905a978..82d2f0ed397 100644
--- a/CMake/vtkMPI.cmake
+++ b/CMake/vtkMPI.cmake
@@ -8,8 +8,8 @@ add_definitions("-DMPICH_IGNORE_CXX_SEEK")
 
 # Function to link a VTK target to the necessary MPI libraries.
 function(vtk_mpi_link target)
-  target_link_libraries(${target} LINK_PRIVATE ${MPI_C_LIBRARIES})
+  vtk_module_link_libraries(${target} LINK_PRIVATE ${MPI_C_LIBRARIES})
   if(MPI_CXX_LIBRARIES)
-    target_link_libraries(${target} LINK_PRIVATE ${MPI_CXX_LIBRARIES})
+    vtk_module_link_libraries(${target} LINK_PRIVATE ${MPI_CXX_LIBRARIES})
   endif()
 endfunction()
diff --git a/CMake/vtkModuleMacros.cmake b/CMake/vtkModuleMacros.cmake
index faca1a48973..0770ea0d205 100644
--- a/CMake/vtkModuleMacros.cmake
+++ b/CMake/vtkModuleMacros.cmake
@@ -601,7 +601,7 @@ function(vtk_module_library name)
 
   vtk_add_library(${vtk-module} ${ARGN} ${_hdrs} ${_instantiator_SRCS} ${_hierarchy})
   foreach(dep IN LISTS ${vtk-module}_LINK_DEPENDS)
-    target_link_libraries(${vtk-module} LINK_PUBLIC ${${dep}_LIBRARIES})
+    vtk_module_link_libraries(${vtk-module} LINK_PUBLIC ${${dep}_LIBRARIES})
     if(_help_vs7 AND ${dep}_LIBRARIES)
       add_dependencies(${vtk-module} ${${dep}_LIBRARIES})
     endif()
@@ -615,7 +615,7 @@ function(vtk_module_library name)
     if(${dep}_LIBRARY_DIRS)
       link_directories(${${dep}_LIBRARY_DIRS})
     endif()
-    target_link_libraries(${vtk-module} LINK_PRIVATE ${${dep}_LIBRARIES})
+    vtk_module_link_libraries(${vtk-module} LINK_PRIVATE ${${dep}_LIBRARIES})
     if(_help_vs7 AND ${dep}_LIBRARIES)
       add_dependencies(${vtk-module} ${${dep}_LIBRARIES})
     endif()
@@ -716,6 +716,16 @@ VTK_AUTOINIT(${vtk-module})
   endif()
 endfunction()
 
+function(vtk_module_link_libraries module)
+  if(VTK_ENABLE_KITS AND ${module}_KIT)
+    set_property(GLOBAL APPEND
+      PROPERTY
+        ${${module}_KIT}_LIBS ${ARGN})
+  else()
+    target_link_libraries(${module} ${ARGN})
+  endif()
+endfunction()
+
 macro(vtk_module_third_party _pkg)
   string(TOLOWER "${_pkg}" _lower)
   string(TOUPPER "${_pkg}" _upper)
diff --git a/Common/Core/CMakeLists.txt b/Common/Core/CMakeLists.txt
index d9bb619c6c2..70a573d5c44 100644
--- a/Common/Core/CMakeLists.txt
+++ b/Common/Core/CMakeLists.txt
@@ -594,4 +594,4 @@ endif()
 
 vtk_module_library(vtkCommonCore ${Module_SRCS})
 
-target_link_libraries(vtkCommonCore LINK_PRIVATE ${CMAKE_THREAD_LIBS_INIT} LINK_PUBLIC ${VTK_SMP_IMPLEMENTATION_LIBRARIES})
+vtk_module_link_libraries(vtkCommonCore LINK_PRIVATE ${CMAKE_THREAD_LIBS_INIT} LINK_PUBLIC ${VTK_SMP_IMPLEMENTATION_LIBRARIES})
diff --git a/Filters/StatisticsGnuR/CMakeLists.txt b/Filters/StatisticsGnuR/CMakeLists.txt
index 9670bb7be12..d8789b16e3e 100644
--- a/Filters/StatisticsGnuR/CMakeLists.txt
+++ b/Filters/StatisticsGnuR/CMakeLists.txt
@@ -62,4 +62,4 @@ configure_file(${VTK_CMAKE_DIR}/vtkObjectFactory.cxx.in
 
 vtk_module_library(vtkFiltersStatisticsGnuR ${Module_SRCS})
 
-target_link_libraries(vtkFiltersStatisticsGnuR LINK_PRIVATE ${R_LIBRARIES})
+vtk_module_link_libraries(vtkFiltersStatisticsGnuR LINK_PRIVATE ${R_LIBRARIES})
diff --git a/GUISupport/MFC/CMakeLists.txt b/GUISupport/MFC/CMakeLists.txt
index 05a55165f1e..15ea9f5dbe3 100644
--- a/GUISupport/MFC/CMakeLists.txt
+++ b/GUISupport/MFC/CMakeLists.txt
@@ -20,7 +20,7 @@ set(MFC_SRCS
 vtk_module_library(${vtk-module} ${VTK_MFC_LIB_TYPE} ${MFC_SRCS})
 
 if(VTK_MFC_EXTRA_LIBS)
-  target_link_libraries(${vtk-module} LINK_PRIVATE ${VTK_MFC_EXTRA_LIBS})
+  vtk_module_link_libraries(${vtk-module} LINK_PRIVATE ${VTK_MFC_EXTRA_LIBS})
 endif(VTK_MFC_EXTRA_LIBS)
 
 if(WIN32)
diff --git a/GUISupport/Qt/CMakeLists.txt b/GUISupport/Qt/CMakeLists.txt
index 692499966a6..41457d053cd 100644
--- a/GUISupport/Qt/CMakeLists.txt
+++ b/GUISupport/Qt/CMakeLists.txt
@@ -91,15 +91,15 @@ vtk_module_library(${vtk-module}
   ${QVTKNonMocHeaders} ${QVTKMocHeaders}
   )
 
-target_link_libraries(${vtk-module} LINK_PUBLIC ${QT_LIBRARIES})
+vtk_module_link_libraries(${vtk-module} LINK_PUBLIC ${QT_LIBRARIES})
 
 if(VTK_USE_X)
-  target_link_libraries(${vtk-module} LINK_PRIVATE ${X11_LIBRARIES})
+  vtk_module_link_libraries(${vtk-module} LINK_PRIVATE ${X11_LIBRARIES})
 endif()
 
 if(APPLE)
   if(VTK_USE_CARBON)
-    target_link_libraries(${vtk-module} LINK_PRIVATE "-framework Carbon" )
+    vtk_module_link_libraries(${vtk-module} LINK_PRIVATE "-framework Carbon" )
   endif()
 endif()
 
@@ -133,7 +133,7 @@ if(BUILD_SHARED_LIBS)
   set_target_properties(QVTKWidgetPlugin PROPERTIES COMPILE_DEFINITIONS QT_NO_DEBUG)
 
   # link with Qt libs
-  target_link_libraries(QVTKWidgetPlugin ${QT_LIBRARIES})
+  vtk_module_link_libraries(QVTKWidgetPlugin ${QT_LIBRARIES})
 
   # install rules
 
diff --git a/GUISupport/QtOpenGL/CMakeLists.txt b/GUISupport/QtOpenGL/CMakeLists.txt
index 38959c91533..d6d4bc6e01b 100644
--- a/GUISupport/QtOpenGL/CMakeLists.txt
+++ b/GUISupport/QtOpenGL/CMakeLists.txt
@@ -30,4 +30,4 @@ endif()
 
 set(${vtk-module}_NO_HeaderTest 1)
 vtk_module_library(${vtk-module} ${LibSrcs} ${LibMocSrcs})
-target_link_libraries(${vtk-module} LINK_PRIVATE ${QT_LIBRARIES})
+vtk_module_link_libraries(${vtk-module} LINK_PRIVATE ${QT_LIBRARIES})
diff --git a/GUISupport/QtSQL/CMakeLists.txt b/GUISupport/QtSQL/CMakeLists.txt
index 6d43977af8d..06337fb14b7 100644
--- a/GUISupport/QtSQL/CMakeLists.txt
+++ b/GUISupport/QtSQL/CMakeLists.txt
@@ -41,4 +41,4 @@ if(VTK_LIBRARY_PROPERTIES)
   set_target_properties(${vtk-module} PROPERTIES ${VTK_LIBRARY_PROPERTIES})
 endif()
 
-target_link_libraries(${vtk-module} LINK_PRIVATE ${QT_LIBRARIES})
+vtk_module_link_libraries(${vtk-module} LINK_PRIVATE ${QT_LIBRARIES})
diff --git a/GUISupport/QtWebkit/CMakeLists.txt b/GUISupport/QtWebkit/CMakeLists.txt
index c1652fc9833..6c6d072c86b 100644
--- a/GUISupport/QtWebkit/CMakeLists.txt
+++ b/GUISupport/QtWebkit/CMakeLists.txt
@@ -36,4 +36,4 @@ endif()
 set(${vtk-module}_NO_HeaderTest 1)
 vtk_module_library(${vtk-module} ${LibSrcs} ${UI_FILES} ${LibMocSrcs})
 
-target_link_libraries(${vtk-module} LINK_PRIVATE ${QT_LIBRARIES})
+vtk_module_link_libraries(${vtk-module} LINK_PRIVATE ${QT_LIBRARIES})
diff --git a/IO/FFMPEG/CMakeLists.txt b/IO/FFMPEG/CMakeLists.txt
index 264b24135a6..31145693a26 100644
--- a/IO/FFMPEG/CMakeLists.txt
+++ b/IO/FFMPEG/CMakeLists.txt
@@ -31,4 +31,4 @@ endif()
 
 vtk_module_library(vtkIOFFMPEG ${Module_SRCS})
 
-target_link_libraries(vtkIOFFMPEG LINK_PRIVATE ${_ffmpeg_libs})
+vtk_module_link_libraries(vtkIOFFMPEG LINK_PRIVATE ${_ffmpeg_libs})
diff --git a/IO/GDAL/CMakeLists.txt b/IO/GDAL/CMakeLists.txt
index 5d4d086ed39..f43c8b16c4e 100644
--- a/IO/GDAL/CMakeLists.txt
+++ b/IO/GDAL/CMakeLists.txt
@@ -7,4 +7,4 @@ include_directories(${GDAL_INCLUDE_DIRS})
 
 vtk_module_library(vtkIOGDAL ${GDAL_SRCS})
 
-target_link_libraries(vtkIOGDAL LINK_PRIVATE ${GDAL_LIBRARY})
+vtk_module_link_libraries(vtkIOGDAL LINK_PRIVATE ${GDAL_LIBRARY})
diff --git a/IO/Movie/CMakeLists.txt b/IO/Movie/CMakeLists.txt
index 5c946065f17..d64a32eaf24 100644
--- a/IO/Movie/CMakeLists.txt
+++ b/IO/Movie/CMakeLists.txt
@@ -37,5 +37,5 @@ set(vtkIOMovie_HDRS
 vtk_module_library(vtkIOMovie ${Module_SRCS})
 
 if(WIN32 AND VTK_USE_VIDEO_FOR_WINDOWS)
-  target_link_libraries(vtkIOMovie LINK_PRIVATE vfw32)
+  vtk_module_link_libraries(vtkIOMovie LINK_PRIVATE vfw32)
 endif()
diff --git a/IO/MySQL/CMakeLists.txt b/IO/MySQL/CMakeLists.txt
index 77ff445ecc4..b11c731ca6a 100644
--- a/IO/MySQL/CMakeLists.txt
+++ b/IO/MySQL/CMakeLists.txt
@@ -14,4 +14,4 @@ include_directories(${MYSQL_INCLUDE_DIRECTORIES})
 
 vtk_module_library(vtkIOMySQL ${MySQL_SRCS})
 
-target_link_libraries(vtkIOMySQL LINK_PRIVATE ${MYSQL_LIBRARY} ${MYSQL_EXTRA_LIBRARIES})
+vtk_module_link_libraries(vtkIOMySQL LINK_PRIVATE ${MYSQL_LIBRARY} ${MYSQL_EXTRA_LIBRARIES})
diff --git a/IO/ODBC/CMakeLists.txt b/IO/ODBC/CMakeLists.txt
index 6825b257b3b..2b5e47356cd 100644
--- a/IO/ODBC/CMakeLists.txt
+++ b/IO/ODBC/CMakeLists.txt
@@ -12,4 +12,4 @@ include_directories(${ODBC_INCLUDE_DIRECTORIES})
 
 vtk_module_library(vtkIOODBC ${ODBC_SRCS})
 
-target_link_libraries(vtkIOODBC LINK_PRIVATE ${ODBC_LIBRARIES})
+vtk_module_link_libraries(vtkIOODBC LINK_PRIVATE ${ODBC_LIBRARIES})
diff --git a/IO/PostgreSQL/CMakeLists.txt b/IO/PostgreSQL/CMakeLists.txt
index d554a7c3d44..f7612cd2bef 100644
--- a/IO/PostgreSQL/CMakeLists.txt
+++ b/IO/PostgreSQL/CMakeLists.txt
@@ -15,4 +15,4 @@ include_directories(${PostgreSQL_INCLUDE_DIRS})
 
 vtk_module_library(vtkIOPostgreSQL ${PostgreSQL_SRCS})
 
-target_link_libraries(vtkIOPostgreSQL LINK_PRIVATE ${PostgreSQL_LIBRARY})
+vtk_module_link_libraries(vtkIOPostgreSQL LINK_PRIVATE ${PostgreSQL_LIBRARY})
diff --git a/IO/Video/CMakeLists.txt b/IO/Video/CMakeLists.txt
index 4bec4d09542..662840922be 100644
--- a/IO/Video/CMakeLists.txt
+++ b/IO/Video/CMakeLists.txt
@@ -18,5 +18,5 @@ vtk_module_library(vtkIOVideo ${Module_SRCS})
 
 
 if(WIN32 AND VTK_USE_VIDEO_FOR_WINDOWS)
-  target_link_libraries(vtkIOVideo LINK_PRIVATE vfw32)
+  vtk_module_link_libraries(vtkIOVideo LINK_PRIVATE vfw32)
 endif()
diff --git a/Infovis/Boost/Testing/Cxx/CMakeLists.txt b/Infovis/Boost/Testing/Cxx/CMakeLists.txt
index 5a1993f708b..f3af0dcb029 100644
--- a/Infovis/Boost/Testing/Cxx/CMakeLists.txt
+++ b/Infovis/Boost/Testing/Cxx/CMakeLists.txt
@@ -9,4 +9,4 @@ vtk_add_test_cxx(${vtk-module}CxxTests tests
   )
 vtk_test_cxx_executable(${vtk-module}CxxTests tests)
 
-target_link_libraries(${vtk-module}CxxTests LINK_PRIVATE ${Boost_SERIALIZATION_LIBRARY})
+vtk_module_link_libraries(${vtk-module}CxxTests LINK_PRIVATE ${Boost_SERIALIZATION_LIBRARY})
diff --git a/Infovis/Parallel/CMakeLists.txt b/Infovis/Parallel/CMakeLists.txt
index f31c6147eca..64c4f9d09ec 100644
--- a/Infovis/Parallel/CMakeLists.txt
+++ b/Infovis/Parallel/CMakeLists.txt
@@ -20,5 +20,5 @@ set(Module_SRCS
   )
 
 vtk_module_library(vtkInfovisParallel ${Module_SRCS})
-target_link_libraries(vtkInfovisParallel LINK_PUBLIC ${Boost_LIBRARIES})
+vtk_module_link_libraries(vtkInfovisParallel LINK_PUBLIC ${Boost_LIBRARIES})
 vtk_mpi_link(vtkInfovisParallel)
diff --git a/Rendering/ContextOpenGL2/CMakeLists.txt b/Rendering/ContextOpenGL2/CMakeLists.txt
index bb2c498fb17..73d0dd0a5b1 100644
--- a/Rendering/ContextOpenGL2/CMakeLists.txt
+++ b/Rendering/ContextOpenGL2/CMakeLists.txt
@@ -40,5 +40,5 @@ list(APPEND module_SRCS
 set_source_files_properties(${vtk-module}ObjectFactory WRAP_EXCLUDE)
 
 vtk_module_library(${vtk-module} ${module_SRCS})
-target_link_libraries(${vtk-module}
+vtk_module_link_libraries(${vtk-module}
   LINK_PRIVATE ${GLEW_LIBRARY} ${OPENGL_LIBRARIES})
diff --git a/Rendering/FreeTypeFontConfig/CMakeLists.txt b/Rendering/FreeTypeFontConfig/CMakeLists.txt
index 73f6d7f1af1..dbc1ad64aca 100644
--- a/Rendering/FreeTypeFontConfig/CMakeLists.txt
+++ b/Rendering/FreeTypeFontConfig/CMakeLists.txt
@@ -22,4 +22,4 @@ vtk_object_factory_configure("${vtk_module_overrides}")
 
 vtk_module_library(${vtk-module} ${Module_SRCS})
 
-target_link_libraries(${vtk-module} LINK_PRIVATE ${FONTCONFIG_LIBRARIES})
+vtk_module_link_libraries(${vtk-module} LINK_PRIVATE ${FONTCONFIG_LIBRARIES})
diff --git a/Rendering/OpenGL/CMakeLists.txt b/Rendering/OpenGL/CMakeLists.txt
index bd4792e1ef2..d148ef096ed 100644
--- a/Rendering/OpenGL/CMakeLists.txt
+++ b/Rendering/OpenGL/CMakeLists.txt
@@ -434,17 +434,17 @@ if (VTK_IGNORE_GLDRIVER_BUGS)
 endif()
 
 vtk_module_library(vtkRenderingOpenGL ${Module_SRCS})
-target_link_libraries(vtkRenderingOpenGL
+vtk_module_link_libraries(vtkRenderingOpenGL
   LINK_PUBLIC ${OPENGL_LIBRARIES} ${extra_libs})
 if(VTK_USE_X)
-  target_link_libraries(vtkRenderingOpenGL
+  vtk_module_link_libraries(vtkRenderingOpenGL
     LINK_PUBLIC ${X11_LIBRARIES} ${X11_Xt_LIB})
 elseif(VTK_USE_COCOA)
-  target_link_libraries(vtkRenderingOpenGL LINK_PUBLIC "-framework Cocoa")
+  vtk_module_link_libraries(vtkRenderingOpenGL LINK_PUBLIC "-framework Cocoa")
 elseif(VTK_USE_CARBON)
-  target_link_libraries(vtkRenderingOpenGL LINK_PUBLIC "-framework Carbon")
+  vtk_module_link_libraries(vtkRenderingOpenGL LINK_PUBLIC "-framework Carbon")
 endif()
 
 if(VTK_OPENGL_HAS_OSMESA)
-  target_link_libraries(vtkRenderingOpenGL LINK_PUBLIC ${OSMESA_LIBRARY})
+  vtk_module_link_libraries(vtkRenderingOpenGL LINK_PUBLIC ${OSMESA_LIBRARY})
 endif()
diff --git a/Rendering/OpenGL2/CMakeLists.txt b/Rendering/OpenGL2/CMakeLists.txt
index 6d65b31258c..50afa50e7fa 100644
--- a/Rendering/OpenGL2/CMakeLists.txt
+++ b/Rendering/OpenGL2/CMakeLists.txt
@@ -296,10 +296,10 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/vtkRenderingOpenGLConfigure.h.in
 set(${vtk-module}_EXPORT_CODE "#include \"vtkRenderingOpenGLConfigure.h\"")
 
 vtk_module_library(${vtk-module} ${Module_SRCS})
-target_link_libraries(${vtk-module}
+vtk_module_link_libraries(${vtk-module}
   LINK_PRIVATE ${GLEW_LIBRARY}
   LINK_PUBLIC  ${OPENGL_LIBRARIES})
 if(VTK_USE_X)
-  target_link_libraries(${vtk-module}
+  vtk_module_link_libraries(${vtk-module}
     LINK_PUBLIC ${X11_LIBRARIES} ${X11_Xt_LIB})
 endif()
diff --git a/Rendering/Qt/CMakeLists.txt b/Rendering/Qt/CMakeLists.txt
index bb9dc51731c..46be6a6ce59 100644
--- a/Rendering/Qt/CMakeLists.txt
+++ b/Rendering/Qt/CMakeLists.txt
@@ -23,4 +23,4 @@ else()
 endif()
 
 vtk_module_library(${vtk-module} ${LibSrcs})
-target_link_libraries(${vtk-module} LINK_PRIVATE ${QT_LIBRARIES})
+vtk_module_link_libraries(${vtk-module} LINK_PRIVATE ${QT_LIBRARIES})
diff --git a/Rendering/Tk/CMakeLists.txt b/Rendering/Tk/CMakeLists.txt
index ca89504e655..3894cf806e2 100644
--- a/Rendering/Tk/CMakeLists.txt
+++ b/Rendering/Tk/CMakeLists.txt
@@ -91,7 +91,7 @@ if(TK_FOUND AND VTK_USE_TK)
 
     vtk_add_library(vtkRenderingTkTCL ${Module_TCL_SRCS})
 
-    target_link_libraries(vtkRenderingTkTCL
+    vtk_module_link_libraries(vtkRenderingTkTCL
           vtkRenderingCore vtkCommonDataModel vtkCommonCoreTCL
           vtkInteractionImage
           ${Module_TCL_LIBS})
@@ -134,7 +134,7 @@ if(TK_FOUND AND VTK_USE_TK)
       set(Module_PYTHON_LIBS ${Module_PYTHON_LIBS} "-framework Carbon")
     endif()
 
-    target_link_libraries(vtkRenderingPythonTkWidgets
+    vtk_module_link_libraries(vtkRenderingPythonTkWidgets
                           vtkRenderingCore vtkCommonDataModel
                           vtkInteractionImage
                           ${Module_PYTHON_LIBS})
-- 
GitLab