Linux下CMake工程中gtest&gmock的安装与使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/handsome_for_kill/article/details/60967974

Linux下CMake工程中gtest&gmock的安装与使用

gtest和gmock是什么和功能以及用法可参考以下两篇文章,都相当给力!

gtest

《玩转Google开源C++单元测试框架Google Test系列(gtest)(总)》
http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html

gmock

《Google Mock 入门概述》
http://www.cnblogs.com/welkinwalker/archive/2011/11/29/2267225.html

这篇文章主要想讲的就是如何在Linux下编译gtest&gmock的代码,并且在cmake工程中配置它。

编译gtest&gmock

首先,下载代码,地址如下:
https://github.com/google/googletest
第二步,下载完成后用unzip命令解压代码;
第三步,解压完成后,进入目录,利用g++来编译代码,命令如下:
gtest

    g++ -isystem ${GTEST_DIR}/include -I${GTEST_DIR} \
        -pthread -c ${GTEST_DIR}/src/gtest-all.cc
    ar -rv libgtest.a gtest-all.o
Note that (We need `-pthread` as Google Test uses threads.)

gmock

    g++ -isystem ${GTEST_DIR}/include -I${GTEST_DIR} \
        -isystem ${GMOCK_DIR}/include -I${GMOCK_DIR} \
        -pthread -c ${GTEST_DIR}/src/gtest-all.cc
    g++ -isystem ${GTEST_DIR}/include -I${GTEST_DIR} \
        -isystem ${GMOCK_DIR}/include -I${GMOCK_DIR} \
        -pthread -c ${GMOCK_DIR}/src/gmock-all.cc
    ar -rv libgmock.a gtest-all.o gmock-all.o

其中,GTEST_DIR、GMOCK_DIR就是代码的位置。

配置Cmake工程

第一步,在工程目录下创建lib文件夹和include文件夹;
第二步,把GTEST_DIR和GMOCK_DIR目录下的include文件夹复制到工程的include中,以及把之前编译的libgmock.a和libgtest.a复制到lib下;
第三步,在CMakeLists.txt中添加相应代码,例如:

cmake_minimum_required(VERSION 3.2)
project(gtest_test)
LINK_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib )
INCLUDE_DIRECTORIES(  ${PROJECT_SOURCE_DIR}/include )
add_executable(gtest_test Foomain.cpp)
#下面这条语句中,链接了gmock、gtest以及pthread
#pthread是必要的,因为前两者会用到
TARGET_LINK_LIBRARIES(gtest_test gmock gtest pthread)
install(TARGETS gtest_test RUNTIME DESTINATION bin)

这样就成功配置好了一个CMake工程!

猜你喜欢

转载自blog.csdn.net/handsome_for_kill/article/details/60967974