]> git.ipfire.org Git - thirdparty/xz.git/commitdiff
CMake: Fix tuklib_use_system_extensions
authorLasse Collin <lasse.collin@tukaani.org>
Mon, 10 Mar 2025 11:13:30 +0000 (13:13 +0200)
committerLasse Collin <lasse.collin@tukaani.org>
Mon, 10 Mar 2025 11:41:50 +0000 (13:41 +0200)
Revert back to a macro so that list(APPEND CMAKE_REQUIRED_DEFINITIONS)
will affect the calling scope. I had forgotten that while CMake
functions inherit the variables from the parent scope, the changes
to them are local unless using set(... PARENT_SCOPE).

This also means that the commit message in 5bb77d0920dc is wrong. The
commit itself is still fine, making it clearer that -DHAVE_SYS_PARAM_H
is only needed for specific check_c_source_compiles() calls.

Fixes: c1ea7bd0b60eed6ebcdf9a713ca69034f6f07179
cmake/tuklib_common.cmake

index b575506aecbcfcc68fdbf66b11eb38d7a213d7f0..9762e245f7bdd684a5062e6eb445e9e6ea76bf5e 100644 (file)
@@ -26,7 +26,10 @@ endfunction()
 
 # This is an over-simplified version of AC_USE_SYSTEM_EXTENSIONS in Autoconf
 # or gl_USE_SYSTEM_EXTENSIONS in gnulib.
-function(tuklib_use_system_extensions)
+#
+# NOTE: This is a macro because the changes to CMAKE_REQUIRED_DEFINITIONS
+# must be visible in the calling scope.
+macro(tuklib_use_system_extensions)
     if(NOT MSVC)
         add_compile_definitions(
             _GNU_SOURCE        # glibc, musl, mingw-w64
@@ -50,4 +53,4 @@ function(tuklib_use_system_extensions)
             -D_ALL_SOURCE
         )
     endif()
-endfunction()
+endmacro()