7

I'm trying to add a new dependency to my Bitcoin Core fork. The dependency is Rapidcheck, a property based testing framework.

I've added a file called rapidcheck.mk inside of depends/packages with the following content

package=rapidcheck

$(package)_version:1.0

$(package)_download_path:https://github.com/Christewart/rapidcheck/releases/download/1.0

$(package)_file_name:rapidcheck-1.0.tar.gz

$(package)_sha256_hash:c228dc21ec24618bfb6afa31d622d1f4ea71168f04ee499e1ffcfc63cd5833f4

define $(package)_preprocess_cmds
  mkdir build
endef

define $(package)_config_cmds
  cmake -DCMAKE_INSTALL_PREFIX:PATH=$(build_prefix)/bin ..
endef

define $(package)_build_cmds
  $(MAKE)
endef

I've also modified the depends/packages/packages.mk file to add rapidcheck

Now it looks like this

packages:=boost openssl libevent rapidcheck
darwin_packages:=zeromq
linux_packages:=zeromq
native_packages := native_ccache native_comparisontool

qt_native_packages = native_protobuf
qt_packages = qrencode protobuf

qt_x86_64_linux_packages:=qt expat dbus libxcb xcb_proto libXau xproto freetype fontconfig libX11 xextproto libXext xtrans
qt_i686_linux_packages:=$(qt_x86_64_linux_packages)

qt_darwin_packages=qt
qt_mingw32_packages=qt


wallet_packages=bdb

upnp_packages=miniupnpc

darwin_native_packages = native_biplist native_ds_store native_mac_alias

ifneq ($(build_os),darwin)
darwin_native_packages += native_cctools native_cdrkit native_libdmg-hfsplus
endif

I've run make clean && make after doing all this and added the include <rapidcheck.h> to a file in the test/ dir. I get an error saying that the file could not be found. What step(s) am I missing?

You can see my commit for these changes on my bitcoin core fork here

1 Answer 1

5

Make sure to build the dependency:

cd ./depends/
make

And then tell bitcoin where to find the dependency:

cd ../
./configure --prefix=`pwd`/depends/x86_whatever_your_current_arch_is

Further information:

https://github.com/bitcoin/bitcoin/blob/master/depends/README.md#usage

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.