瀏覽代碼

FindImageMagick: Allow including multiple times

This prevents attempting to create a duplicate target by adding an
`if(NOT TARGET ...)` check as in other modules.  The condition was
missed in commit 1bba218214 (FindImageMagick: Define targets for
specific components, 2023-01-20, v3.26.0-rc1~23^2).

Fixes: #25970
Josiah VanderZee 1 年之前
父節點
當前提交
63bb3fca54
共有 1 個文件被更改,包括 7 次插入5 次删除
  1. 7 5
      Modules/FindImageMagick.cmake

+ 7 - 5
Modules/FindImageMagick.cmake

@@ -185,11 +185,13 @@ function(FIND_IMAGEMAGICK_API component header)
       )
       )
     set(ImageMagick_COMPILE_OPTIONS ${ImageMagick_COMPILE_OPTIONS} PARENT_SCOPE)
     set(ImageMagick_COMPILE_OPTIONS ${ImageMagick_COMPILE_OPTIONS} PARENT_SCOPE)
 
 
-    add_library(ImageMagick::${component} UNKNOWN IMPORTED)
-    set_target_properties(ImageMagick::${component} PROPERTIES
-      INTERFACE_INCLUDE_DIRECTORIES "${ImageMagick_${component}_INCLUDE_DIRS}"
-      INTERFACE_COMPILE_OPTIONS "${ImageMagick_${component}_COMPILE_OPTIONS}"
-      IMPORTED_LOCATION "${ImageMagick_${component}_LIBRARY}")
+    if(NOT TARGET ImageMagick::${component})
+      add_library(ImageMagick::${component} UNKNOWN IMPORTED)
+      set_target_properties(ImageMagick::${component} PROPERTIES
+        INTERFACE_INCLUDE_DIRECTORIES "${ImageMagick_${component}_INCLUDE_DIRS}"
+        INTERFACE_COMPILE_OPTIONS "${ImageMagick_${component}_COMPILE_OPTIONS}"
+        IMPORTED_LOCATION "${ImageMagick_${component}_LIBRARY}")
+    endif()
   endif()
   endif()
 endfunction()
 endfunction()