Skip to content

cmake: searching across directories for config files #32938

@fanquake

Description

@fanquake

This can be recreated on at least macOS, due to #32707.

If there are two checkouts of the source, the build in one directory, can fail to configure, because of files in the other directory:

git clone https://github.com/bitcoin/bitcoin/ bitcoin_a
git clone https://github.com/bitcoin/bitcoin/ bitcoin_b

cd bitcoin_a
make -C depends HOST=x86_64-w64-mingw32
# fails to build libevent (#32707)
cd ../bitcoin_b
# fails to configure, because of the libevent config files (for a different target) in the other checkout
cmake -B build
<snip>
-- Performing Test NO_DIAGNOSTICS_BOOST_NO_CXX98_FUNCTION_BASE
-- Performing Test NO_DIAGNOSTICS_BOOST_NO_CXX98_FUNCTION_BASE - Failed
CMake Error at /Users/xxx/bitcoin_a/depends/work/build/x86_64-w64-mingw32/libevent/2.1.12-stable-f0fd46dc234/build/LibeventConfig.cmake:75 (message):
  Your libevent library does not contain a pthreads component!

  The valid components are core, extra, pthreads and openssl.
Call Stack (most recent call first):
  /Users/xxx/bitcoin_a/depends/work/build/x86_64-w64-mingw32/libevent/2.1.12-stable-f0fd46dc234/build/LibeventConfig.cmake:90 (no_component_msg)
  cmake/module/FindLibevent.cmake:54 (find_package)
  CMakeLists.txt:416 (find_package)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions