Browse Source

FindGTK2: Use targets in GTK2_LIBRARIES if GTK2_USE_IMPORTED_TARGETS is ON

Also add GTK2_TARGETS variable containing all imported targets.

Previously, the GTK2_LIBRARIES variable was filled with the paths to the
libraries, and only the GTK2_XXX_LIBRARY variables contained the imported
targets.
Daniele E. Domenichelli 10 years ago
parent
commit
5d79b9563f
2 changed files with 18 additions and 0 deletions
  1. 7 0
      Help/release/dev/FindGTK2_GTK2_TARGETS.rst
  2. 11 0
      Modules/FindGTK2.cmake

+ 7 - 0
Help/release/dev/FindGTK2_GTK2_TARGETS.rst

@@ -0,0 +1,7 @@
+FindGTK2_GTK2_TARGETS
+---------------------
+
+* The :module:`FindGTK2` module, when ``GTK2_USE_IMPORTED_TARGETS`` is
+  enabled, now sets ``GTK2_LIBRARIES`` to contain the list of imported
+  targets instead of the paths to the libraries.  Moreover it now sets
+  a new ``GTK2_TARGETS`` variable containing all the targets imported.

+ 11 - 0
Modules/FindGTK2.cmake

@@ -34,6 +34,7 @@
 #    GTK2_FOUND - Were all of your specified components found?
 #    GTK2_INCLUDE_DIRS - All include directories
 #    GTK2_LIBRARIES - All libraries
+#    GTK2_TARGETS - All imported targets
 #    GTK2_DEFINITIONS - Additional compiler flags
 #
 #
@@ -550,6 +551,9 @@ function(_GTK2_ADD_TARGET _var)
 
         add_library(GTK2::${_basename} UNKNOWN IMPORTED)
 
+        set(GTK2_TARGETS ${GTK2_TARGETS} GTK2::${_basename})
+        set(GTK2_TARGETS ${GTK2_TARGETS} PARENT_SCOPE)
+
         if(GTK2_${_var}_LIBRARY_RELEASE)
             set_property(TARGET GTK2::${_basename} APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
             set_property(TARGET GTK2::${_basename}        PROPERTY IMPORTED_LOCATION_RELEASE "${GTK2_${_var}_LIBRARY_RELEASE}" )
@@ -602,6 +606,7 @@ endfunction()
 set(GTK2_FOUND)
 set(GTK2_INCLUDE_DIRS)
 set(GTK2_LIBRARIES)
+set(GTK2_TARGETS)
 set(GTK2_DEFINITIONS)
 
 if(NOT GTK2_FIND_COMPONENTS)
@@ -940,6 +945,11 @@ foreach(_GTK2_component ${GTK2_FIND_COMPONENTS})
     endif()
 endforeach()
 
+if(GTK2_USE_IMPORTED_TARGETS)
+    set(GTK2_LIBRARIES ${GTK2_TARGETS})
+endif()
+
+
 if(_GTK2_did_we_find_everything AND NOT GTK2_VERSION_CHECK_FAILED)
     set(GTK2_FOUND true)
 else()
@@ -951,6 +961,7 @@ else()
     set(GTK2_VERSION_PATCH)
     set(GTK2_INCLUDE_DIRS)
     set(GTK2_LIBRARIES)
+    set(GTK2_TARGETS)
     set(GTK2_DEFINITIONS)
 endif()