Google Testのビルド方法


ソースからGoogle Testをビルドする手順の覚書。

追記

cmake/コンパイラ呼び出しのラッパーツール https://github.com/thombashi/cmakew でWindows/Linuxで簡単にビルドできるようにしてみた。

e.g. LinuxでGoogle Test 1.8.0をビルド

$ wget https://github.com/google/googletest/archive/release-1.8.0.tar.gz
$ tar xvf release-1.8.0.tar.gz
$ cmakew googletest-release-1.8.0/
... 色々出力 ...
$ find build/ -name "*.a"
build/googlemock/gtest/libgtest.a
build/googlemock/gtest/libgtest_main.a
build/googlemock/libgmock.a
build/googlemock/libgmock_main.a

別途コンパイラは必要(Linuxならgcc等、Windowsならmsbuild)


以下は cmakew を使わない手順。

前提

環境

  • Windows (64 bit)
  • Visual Studio Community 2015
  • cmake 3.6.2

ビルドが不要なケース

以下を満たす場合はVisual Studio 2015にGoogle Testを導入する覚書の手順でビルドせずにGoogle Testをインストールできる。

  • gtest_mainが不要
    • 自前でテスト用のmain関数を書く必要有り
  • Visual Studioを使用している
  • NuGetが使用できる環境

前準備

  1. https://github.com/google/googletest/releases を開く
  2. release-1.8.0の source を download
  3. 解凍して、gtest-1.8.0に rename
  4. Build作業用にgtest-1.8.0/buildを作ってcdする

Google Testのビルド手順

cmake

以下のcmakeコマンドを実行。

cmake .. -DBUILD_GTEST=ON -DBUILD_GMOCK=OFF -G "Visual Studio 14 Win64"

cmake出力
gtest-1.8.0\build>cmake .. -DBUILD_GTEST=ON -DBUILD_GMOCK=OFF -G "Visual Studio 14 Win64"
-- The C compiler identification is MSVC 19.0.24215.1
-- The CXX compiler identification is MSVC 19.0.24215.1
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PythonInterp: C:/Python27/python.exe (found version "2.7.12")
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: <working dir path>/gtest-1.8.0/build

googletest-distribution.slnbuild以下に作成される。

Build

googletest-distribution.slnをVisual Studio 2015で開いて
ALL_BUILD を build すると、Google Test ライブラリのバイナリファイルが出力される。
Debug build の場合の出力:

  • build\googletest\Debug
    • gtest.lib
    • gtest.pdb
    • gtest_main.lib
    • gtest_main.pdb