To use googletest on OpenBSD
, I need to install CMake
firstly:
# pkg_add cmake
Then Download googletest
and create build
directory:
# git clone https://github.com/google/googletest.git
# cd googletest
# mkdir build
# cd build
If use default gcc
compiler, the compilation will generate following errors:
# make
[ 2%] Building CXX object googlemock/CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.o
cc1plus: warnings being treated as errors
In file included from /usr/include/g++/tr1/tuple:159,
from /root/Project/googletest/googletest/include/gtest/internal/gtest-port.h:746,
from /root/Project/googletest/googletest/include/gtest/internal/gtest-internal.h:40,
from /root/Project/googletest/googletest/include/gtest/gtest.h:58,
from /root/Project/googletest/googletest/src/gtest-all.cc:39:
/usr/include/g++/tr1/functional: In constructor 'std::tr1::_Mem_fn<_Res _Class::*>::_Mem_fn(_Res _Class::*)':
/usr/include/g++/tr1/functional:470: warning: declaration of '__pm' shadows a member of 'this'
In file included from /usr/include/g++/tr1/tuple:159,
from /root/Project/googletest/googletest/include/gtest/internal/gtest-port.h:746,
from /root/Project/googletest/googletest/include/gtest/internal/gtest-internal.h:40,
from /root/Project/googletest/googletest/include/gtest/gtest.h:58,
from /root/Project/googletest/googletest/src/gtest-all.cc:39:
/usr/include/g++/tr1/functional: In constructor 'std::tr1::_Simple_type_wrapper<_Tp>::_Simple_type_wrapper(_Tp)':
/usr/include/g++/tr1/functional:804: warning: declaration of '__value' shadows a member of 'this'
*** Error 1 in . (googlemock/CMakeFiles/gmock.dir/build.make:63 'googlemock/CMakeFiles/gmock.dir/__/googletest/src/gtest-all.cc.o': cd /root...)
*** Error 1 in . (CMakeFiles/Makefile2:90 'googlemock/CMakeFiles/gmock.dir/all')
*** Error 1 in /root/Project/googletest/build (Makefile:139 'all')
So I switch to clang
, and all build is OK:
# CC=clang cmake ..
# make
# make install