compat_find.cmake raw

   1  # Copyright (c) The Bitcoin Core developers
   2  # Distributed under the MIT software license, see the accompanying
   3  # file COPYING or http://www.opensource.org/licenses/mit-license.php.
   4  
   5  # compat_find.cmake -- compatibility workarounds meant to be included before
   6  # cmake find_package() calls are made
   7  
   8  # Set FOUND_LIBATOMIC to work around bug in Debian capnproto package that is
   9  # Debian-specific and does not happen upstream. Debian includes a patch
  10  # https://sources.debian.org/patches/capnproto/1.0.1-4/07_libatomic.patch/ which
  11  # uses check_library_exists(atomic __atomic_load_8 ...) and it fails because the
  12  # symbol name conflicts with a compiler intrinsic as described
  13  # https://github.com/bitcoin-core/libmultiprocess/issues/68#issuecomment-1135150171.
  14  # This could be fixed by improving the check_library_exists function as
  15  # described in the github comment, or by changing the Debian patch to check for
  16  # the symbol a different way, but simplest thing to do is work around the
  17  # problem by setting FOUND_LIBATOMIC. This problem has probably not
  18  # been noticed upstream because it only affects CMake packages depending on
  19  # capnproto, not autoconf packages.
  20  set(FOUND_LIBATOMIC TRUE)
  21