]> granicus.if.org Git - graphviz/commitdiff
CMake: only use 'gdlib-config' if libgd is found
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 26 Feb 2022 22:25:28 +0000 (14:25 -0800)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 5 Mar 2022 17:58:00 +0000 (09:58 -0800)
This is mostly just over-cautiousness to not accidentally define variables like
`HAVE_GD_PNG` if we not have libgd. But it will also ease some upcoming
macOS-specific changes.

Gitlab: #1786

cmake/FindGD.cmake

index d2de4e71ffa091b646c84411c1655c6f79627d20..fddbbb1bf7abade6a60d7c0b6e78bf56c53e743b 100644 (file)
@@ -18,36 +18,38 @@ set(GD_INCLUDE_DIRS ${GD_INCLUDE_DIR})
 set(GD_LIBRARIES ${GD_LIBRARY})
 set(GD_RUNTIME_LIBRARIES ${GD_RUNTIME_LIBRARY})
 
-find_program(GDLIB_CONFIG gdlib-config)
-if(GDLIB_CONFIG)
-  message(STATUS "Found gdlib-config: ${GDLIB_CONFIG}")
-  execute_process(COMMAND ${GDLIB_CONFIG} --features
-                  RESULT_VARIABLE GDLIB_CONFIG_EXIT_STATUS
-                  OUTPUT_VARIABLE GD_FEATURES
-                  OUTPUT_STRIP_TRAILING_WHITESPACE)
-  if(NOT GDLIB_CONFIG_EXIT_STATUS EQUAL 0)
-    message(FATAL_ERROR "Failed to query GD features")
+if(GD_LIBRARY)
+  find_program(GDLIB_CONFIG gdlib-config)
+  if(GDLIB_CONFIG)
+    message(STATUS "Found gdlib-config: ${GDLIB_CONFIG}")
+    execute_process(COMMAND ${GDLIB_CONFIG} --features
+                    RESULT_VARIABLE GDLIB_CONFIG_EXIT_STATUS
+                    OUTPUT_VARIABLE GD_FEATURES
+                    OUTPUT_STRIP_TRAILING_WHITESPACE)
+    if(NOT GDLIB_CONFIG_EXIT_STATUS EQUAL 0)
+      message(FATAL_ERROR "Failed to query GD features")
+    endif()
+    message(STATUS "Detected GD features: ${GD_FEATURES}")
+    string(REPLACE " " ";" GD_FEATURES_LIST ${GD_FEATURES})
+    if("GD_PNG" IN_LIST GD_FEATURES_LIST)
+      set(HAVE_GD_PNG 1)
+    endif()
+    if("GD_JPEG" IN_LIST GD_FEATURES_LIST)
+      set(HAVE_GD_JPEG 1)
+    endif()
+    if("GD_XPM" IN_LIST GD_FEATURES_LIST)
+      set(HAVE_GD_XPM 1)
+    endif()
+    if("GD_FONTCONFIG" IN_LIST GD_FEATURES_LIST)
+      set(HAVE_GD_FONTCONFIG 1)
+    endif()
+    if("GD_FREETYPE" IN_LIST GD_FEATURES_LIST)
+      set(HAVE_GD_FREETYPE 1)
+    endif()
+    if("GD_GIF" IN_LIST GD_FEATURES_LIST)
+      set(HAVE_GD_GIF 1)
+    endif()
+  else()
+    message(WARNING "gdlib-config not found; skipping feature checks")
   endif()
-  message(STATUS "Detected GD features: ${GD_FEATURES}")
-  string(REPLACE " " ";" GD_FEATURES_LIST ${GD_FEATURES})
-  if("GD_PNG" IN_LIST GD_FEATURES_LIST)
-    set(HAVE_GD_PNG 1)
-  endif()
-  if("GD_JPEG" IN_LIST GD_FEATURES_LIST)
-    set(HAVE_GD_JPEG 1)
-  endif()
-  if("GD_XPM" IN_LIST GD_FEATURES_LIST)
-    set(HAVE_GD_XPM 1)
-  endif()
-  if("GD_FONTCONFIG" IN_LIST GD_FEATURES_LIST)
-    set(HAVE_GD_FONTCONFIG 1)
-  endif()
-  if("GD_FREETYPE" IN_LIST GD_FEATURES_LIST)
-    set(HAVE_GD_FREETYPE 1)
-  endif()
-  if("GD_GIF" IN_LIST GD_FEATURES_LIST)
-    set(HAVE_GD_GIF 1)
-  endif()
-else()
-  message(WARNING "gdlib-config not found; skipping feature checks")
 endif()