我想知道如何在我的项目中包含googletest。因此,我阅读了README的安装说明。就像我理解的那样,如何添加库总是有三种选择:
我想
这是通过将GoogleTest源代码提供给 主构建并使用CMake的add_subdirectory()命令添加它。“
表示直接将源代码包含在项目中,因此选项3。
他们提到实施选项3的最佳方法是:
使用CMake下载GoogleTest作为构建配置的一部分 步。这只是有点复杂,但没有 其他方法的局限性。
他们通过使用名为 ExternalProject 的cmake功能来实现这一目的:
cmake_minimum_required(VERSION 2.8.2)
project(googletest-download NONE)
include(ExternalProject)
ExternalProject_Add(googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG master
SOURCE_DIR "${CMAKE_BINARY_DIR}/googletest-src"
BINARY_DIR "${CMAKE_BINARY_DIR}/googletest-build"
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
TEST_COMMAND ""
)
据我所知,其好处是它可以在构建项目时自动搜索更新。不幸的是我对cmake一无所知。与qmake相比,cmake的语法很糟糕。所以我问:
是否有与cmake的ExternalProject相当的qmake?
答案 0 :(得分:0)
是的,它是SUBDIRS
有关详细信息,请参阅documentation。
在子目录中,您可以创建* .pro文件,该文件将构建gtest
作为库。
如果我没记错的话,你只需要构建两个文件gtest-all.cc
和gmock-all.cc
并添加相应的包含目录。
gtest
很棒,但对于使用信号和插槽的Qt,QT Test Lib也可以完成这项工作。