File tree 3 files changed +26
-1
lines changed
3 files changed +26
-1
lines changed Original file line number Diff line number Diff line change @@ -8,6 +8,8 @@ project("Libmultiprocess" CXX)
8
8
set (CMAKE_CXX_STANDARD 17)
9
9
set (CMAKE_CXX_STANDARD_REQUIRED YES )
10
10
11
+ include ("cmake/compat_find.cmake" )
12
+
11
13
find_package (CapnProto REQUIRED)
12
14
find_package (Threads REQUIRED)
13
15
@@ -20,7 +22,7 @@ if(Libmultiprocess_ENABLE_CLANG_TIDY)
20
22
set (CMAKE_CXX_CLANG_TIDY "${CLANG_TIDY_EXECUTABLE} " )
21
23
endif ()
22
24
23
- include ("cmake/capnp_compat .cmake" )
25
+ include ("cmake/compat_config .cmake" )
24
26
include ("cmake/pthread_checks.cmake" )
25
27
include (GNUInstallDirs)
26
28
Original file line number Diff line number Diff line change 2
2
# Distributed under the MIT software license, see the accompanying
3
3
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
4
5
+ # compat_config.cmake -- compatibility workarounds meant to be included after
6
+ # cmake find_package() calls are made, before configuring the ebuild
7
+
5
8
# Define capnp_PREFIX if not defined to avoid issue on macos
6
9
# https://github.com/chaincodelabs/libmultiprocess/issues/26
7
10
Original file line number Diff line number Diff line change
1
+ # Copyright (c) 2024 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 happpen 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 instrinsic as described
13
+ # https://github.com/chaincodelabs/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 )
You can’t perform that action at this time.
0 commit comments