我正在尝试将Google Test集成到我的Qt项目中。我已经在Google Test上运行了基本的(EXPECT_EQ(1, 1))
测试,但是对于如何将自己的Qt项目(使用qmake
)集成到测试的CMake构建中感到困惑。
当前使用推荐的README中的推荐CMakeLists.txt
添加了Google测试。我想将我的本地src添加到测试版本中。我的src位于(相对于测试文件夹)../src/
,并且我已经将src内置于(相对于测试文件夹)build/project-build/
,但是我相信它不会集成,因为该项目具有{{ 1}}。当我尝试将其集成为子目录时出现错误:
.pro
这是我将其作为子目录添加到我的CMake Error at CMakeLists.txt:31 (add_subdirectory):
The source directory
/home/project/src
does not contain a CMakeLists.txt file.
中的方式:
CMakeLists.txt
在单独的add_subdirectory(${CMAKE_CURRENT_BINARY_DIR}/../../src
${CMAKE_CURRENT_BINARY_DIR}/project-build
EXCLUDE_FROM_ALL)
中(类似于Google测试的方式):
CMakeLists.txt.in
另外,请告诉我这是否是测试项目的困难方法。我本来希望使用Google测试,但如果这样不起作用,则可能会使用Qt测试。我对C ++相当陌生,对C ++单元测试也很陌生(熟悉Java和JUnit)。感谢您的帮助,谢谢!
答案 0 :(得分:0)
使用add_subdirectory()
时,添加的源子目录(调用的第一个参数)中必须有一个CMakeLists.txt
文件。该目录通常包含要构建的代码文件,但是它们将由CMake而不是qmake
构建。因为您尝试混合使用两种构建方法,所以有一些方法可以简化操作: