Skip to content

Instantly share code, notes, and snippets.

@cevaris
Forked from massenz/gtest-install.rst
Created December 18, 2016 17:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cevaris/a4c5295f52f2413446bcc27c852034fb to your computer and use it in GitHub Desktop.
Save cevaris/a4c5295f52f2413446bcc27c852034fb to your computer and use it in GitHub Desktop.
Describes how to install and run GTest, a Google framework to conduct unit testing in C++

Build and install Google Test

Download the latest (1.7.0) from Google Code (Q: where is it going to live, once GCode shuts down?)

Then follow the primer, but more to the point, the README (YMMV) Having installed CLion and cmake, this is how I built gtest:

brew install cmake
cd gtest-1.7.0
mkdir build
cd build
cmake -Dgtest_build_samples=ON -Dgtest_build_tests=ON /Users/marco/Downloads/gtest-1.7.0
make
make test
./sample1_unittest

NOTE you will need to install cmake on your Mac, I used CLion distribution in:

/Applications/CLion.app/Contents/bin/cmake/bin/cmake

Once this all works, you can "install" it, by putting the generated .a files in a place that can be easily found.

On a Mac OSX, I used the following:

sudo mkdir /usr/local/Cellar/gtest
sudo cp gtest-1.7.0/build/libgtest.a /usr/local/Cellar/gtest/
sudo ln -snf /usr/local/Cellar/gtest/libgtest.a /usr/local/lib/libgtest.a
sudo cp -r gtest-1.7.0/include /usr/local/Cellar/gtest/
ln -snf ../Cellar/gtest/include/gtest /usr/local/include/gtest

You will then need to make it so that gcc can find the includes and the libgtest - for example in CMakeLists.txt add the following:

include_directories(/usr/local/include)
target_link_libraries(test_inet /usr/local/lib/libgtest.a)

It currently appears that CLion gets mightly confused and can't find the includes, but it all compiles and run just fine (see CPP2932).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment