Catch2 v3.4.0在一个名为d:/Libraries/Catch2-3.4.0
的文件夹中。
我有一个测试项目,它应该在一个名为d:/work/test_project
的文件夹中使用Catch2。
我想使用CMake集成,而不是合并文件(catch_amalgamated.hpp
和catch_amalgamated.cpp
)。
测试项目的CMakeList.txt包含以下内容(如here所述):
find_package(Catch2 3 REQUIRED)
add_executable(test_project main.cpp)
target_link_libraries(test_project PRIVATE Catch2::Catch2WithMain)
字符串
我得到的是:
CMake Error at test_project/CMakeLists.txt:2 (find_package):
By not providing "FindCatch2.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Catch2", but
CMake did not find one.
Could not find a package configuration file provided by "Catch2" (requested
version 3) with any of the following names:
Catch2Config.cmake
catch2-config.cmake
Add the installation prefix of "Catch2" to CMAKE_PREFIX_PATH or set
"Catch2_DIR" to a directory containing one of the above files. If "Catch2"
provides a separate development package or SDK, be sure it has been
installed.
型
我试探着:
- 将
Catch2_DIR
设置为d:/Libraries/Catch2-3.4.0
或d:/Libraries/Catch2-3.4.0/CMake
,但错误相同。 - 将
Catch2_CHECK_PATHS
设置为两个文件夹中的任何一个,结果相同。
我到底该如何包含这个新的Catch2 v3?
1条答案
按热度按时间4c8rllxm1#
您在
Catch2_DIR
或CMAKE_PREFIX_PATH
中使用的目录必须是您 * 安装 * Catch 2版本的目录。您不能使用您克隆Catch 2 git repo的目录,除非该目录也是您选择安装Catch 2版本的目录。这在文档中说明。如果您想要了解构建和安装Catch 2的基本说明,请参阅文档,但是你所知道的关于使用CMake进行构建和安装的所有内容都适用-这些文档只是给那些不知道该怎么做的人的建议。