【发布时间】:2017-11-08 15:22:51
【问题描述】:
我想弄清楚如何在我的项目中包含 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?
【问题讨论】:
-
不是你问的,但 Qt 确实支持 CMake 作为构建系统。
标签: c++ cmake googletest qmake