Browse Source

FindPkgConfig: Fix preservation of ENV{PKG_CONFIG_ALLOW_SYSTEM_LIBS}

Fix the ENV save/restore added by commit 36979f5b43 (FindPkgConfig:
Tolerate PKG_CONFIG_SYSTEM_LIBRARY_PATH in environment, 2021-07-13,
v3.22.0-rc1~407^2) to unset the variable if it was originally not set.

While at it, clarify the value to which we temporarily set it. The
`pkg-config` and `pkgconf` tools only check that the variable is set,
and do not care about the value.  Set it to a more true-looking value.

Issue: #22148
Brad King 3 years ago
parent
commit
11c8da94d4
1 changed files with 3 additions and 1 deletions
  1. 3 1
      Modules/FindPkgConfig.cmake

+ 3 - 1
Modules/FindPkgConfig.cmake

@@ -429,7 +429,7 @@ macro(_pkg_set_path_internal)
   else()
     unset(_pkgconfig_allow_system_libs_old)
   endif()
-  set(ENV{PKG_CONFIG_ALLOW_SYSTEM_LIBS} 0)
+  set(ENV{PKG_CONFIG_ALLOW_SYSTEM_LIBS} 1)
 endmacro()
 
 macro(_pkg_restore_path_internal)
@@ -440,6 +440,8 @@ macro(_pkg_restore_path_internal)
   if(DEFINED _pkgconfig_allow_system_libs_old)
     set(ENV{PKG_CONFIG_ALLOW_SYSTEM_LIBS} "${_pkgconfig_allow_system_libs_old}")
     unset(_pkgconfig_allow_system_libs_old)
+  else()
+    unset(ENV{PKG_CONFIG_ALLOW_SYSTEM_LIBS})
   endif()
 
   unset(_extra_paths)