我想在我正在使用的C++库中进行一些基于属性的测试,并且正在考虑与RapidCheck一起使用,除非有人有更好的主意。 (例如,我将需要生成任意的std::set<int>
,并且如果我可以对集合中int
的范围和集合的大小进行限制,那就更好了。)
话虽这么说,我还是有点cmake newb。 RapidCheck中似乎没有任何说明,只是将其包括在源代码中(尽管下载会更好)。我已经到了可以在代码中包含RapidCheck header 的地步,但是当我尝试使用RapidCheck构建任何应用程序时,都被告知RapidRapid缺少符号或Rapidcheck库丢失了。
我假设必须将RapidCheck本身作为生成库的项目的一部分进行构建,但是我不确定如何做到这一点,而且很难找到完成此过程的任何示例。
是否有人对完成此类操作的示例有任何建议,以便在构建可执行文件时我可以看到构建第三方API并包含库所需的命令字符串,或者甚至更好的是,使用RapidCheck的项目示例到底是这个吗?令人沮丧的是缺少有关如何进行设置的文档。
我希望这不要太含糊。总结一下,我想从cmake做些什么:
${PROJECT_SOURCE_DIR}/test
中)能够访问RapidTest header 。 预先感谢您可能提供的任何帮助!
最佳答案
这可能不是正确的方法,但也许会有所帮助:
通过执行以下操作,我可以使此工作正常进行:
# from within the root of the rapidcheck repo:
$ cmake -DBUILD_SHARED_LIBS=true -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug .
# Leave off the BUILD_SHARED_LIBS flag if you don't need an SO.
$ make
内置:
librapidcheck.so
和librapidcheck.a
,您可以根据需要复制/安装它们。您还需要带有 header 的
include
目录,以进行快速检查,但这仅在源代码树中。使用所需的任何构建工具将include路径添加到编译命令中,并链接到已编译的库(
.so
和.a
)
关于c++ - 如何使用cmake进行C++快速检查(基于属性的测试)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56668990/