准备工做linux
为了在你的测试中使用GoogleTest, 你必须让你的编译系统 知道到哪里去寻找GoogleTest 的头文件和源文件。git
具体的方法只能依赖于你具体使用的哪一种编译系统了,通常来说这个很是容易直接的。github
编译windows
若是你的GoogleTest 放在${GTEST_DIR} 目录下面。(使用 Visual Studio 和 Xcode)编译它产生一个库。xcode
${GTEST_DIR}/src/gtest-all.cc
下面是对通用的编译方法解释,直接略过,参看https://github.com/google/googletest/blob/master/googletest/README.md测试
重点翻译ui
CMake方法google
下载下来的Google Test 里面包含 CMake 编译脚本,只要是支持C标准的平台均可以使用。spa
若是没有安装CMake的话,戳下面连接下载并安装: http://www.cmake.org/.翻译
CMake 会根据你代码所在的平台的编译器等环境 生成native的makefile 文件,固然若是你的平台安装多个编译器,你也能够在Cmake 脚本里面指定。
你既能够把Google Test 编译成一个 独立的平台(Standalone CMake Project),也能够和你要测的代码合并成一个平台。[原文:it can be incorporated into an existing CMake build for another project.]
独立的CMake Project
若是想把Google Test编译成一个独立的Project,典型的workflow以下:
mkdir mybuild # Create a directory to hold the build output. cd mybuild cmake ${GTEST_DIR} # Generate native build scripts.
若是想编译Google Test 的Samples,你应该把上面的最后一句话换成以下:
cmake -Dgtest_build_samples=ON ${GTEST_DIR}
若是你使用的是 *nix (各类linux系统),你应当会在当前目录下面看到一个Makefile文件生成,Just do it, 没错输入 make.
若是你是用的是微软的Visual Studio 而且在windows 上面,gtest.sln 和几个.vcproj 文件生成。而后用visual studio 编译它。
若是你是有钱人,用的是乔布斯的 MAC OS X 上面的 Xcode,建议你把它砸了,不.... .xcodeproj 文件生成了。
和已有CMake Project 合并
若是你想在一个已有的CMake Project中使用 gtest(如下都叫gtest了,打字太累了),那么就给你介绍一个更强大和灵活的方法啦。
首先呢,你得在你的CMakefile 文件里面加点东西咯。固然是 add_subdirectory(). 这样 cmake 在读到这句话的时候,就会说"卧槽"还有gtest 那么大一坨没有编译呢,继续工做吧。这种方法在windows 上面很是有用。想让 main build 用上 gtest这个灵丹妙药,有如下几种不一样的方法:
1. 手动从github上面下载下来,把他放到某个已知的位置,但这种方法太不灵活了,你想持续集成你的系统,就GG了
2. 把gtest目录嵌入到 main project's source tree里面。这一般是一个简单有效的方法,可是若是 gtest也更新了呢?你又想用gtest里面最新的功能。有些组织也不推荐用这种方法。
3. 加一个git 子模块到gtest里。这一般也是不合适的。
4. 使用 CMake 下载 gtest 做为 编译的准备步骤。这有点复杂可是没有其余方法太多的限制。
方法就不介绍了,反正已经实现了看原文:https://github.com/google/googletest/blob/master/googletest/README.md
推荐另外一个代码:https://github.com/bast/gtest-demo, 对于理解 cmake 比较有帮助
略
略