2017-06-11 2 views
2

Je suis en train de suivre avec Programmation C++ moderne avec le développement piloté par les tests et pour ce faire le livre indique aux lecteurs d'installer Google Mock 1.6. Essayer de faire, j'ai téléchargé la source de here. Puis selon le livre que je fais: mkdir build cd build cmake .. makeMise en place de Google Mock 1.6

myComputer:build me$ cmake .. 
-- The CXX compiler identification is AppleClang 8.0.0.8000042 
-- The C compiler identification is AppleClang 8.0.0.8000042 
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ 
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ -- works 
-- Detecting CXX compiler ABI info 
-- Detecting CXX compiler ABI info - done 
-- Detecting CXX compile features 
-- Detecting CXX compile features - done 
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc 
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc -- works 
-- Detecting C compiler ABI info 
-- Detecting C compiler ABI info - done 
-- Detecting C compile features 
-- Detecting C compile features - done 
CMake Error at CMakeLists.txt:56 (add_subdirectory): 
    add_subdirectory given source "../gtest" which is not an existing 
    directory. 


CMake Error at CMakeLists.txt:61 (config_compiler_and_linker): 
    Unknown CMake command "config_compiler_and_linker". 


-- Configuring incomplete, errors occurred! 
See also "/Users/me/Downloads/googlemock-release-1.6.0 3/build/CMakeFiles/CMakeOutput.log". 

Le répertoire ../gtest manque en effet. Comme ce sont les répertoires:

CHANGES  COPYING  build  include  scripts 
CMakeLists.txt Makefile.am build-aux make  src 
CONTRIBUTORS README  configure.ac msvc  test 

Ajoutant à la confusion sont ces instructions:

You will also need to build Google Test, which is nested within Google Mock. 

cd $GMOCK_HOME/gtest 
mkdir mybuild 
cd mybuild 
cmake .. 
make 

Je regardais les README et je ne crois pas tout ce qui aide à résoudre ce problème. Toute aide/direction serait super!

Répondre

0

Comme vous pouvez le voir here, Google Mock a été absorbé dans le GoogleTest project.

Il existe différentes manières d'installer GoogleTest, décrites au . Puisque vous semblez être en utilisant CMake, je vous suggère de suivre les étapes sous

intégrer dans un projet existant CMake

Vous pouvez aussi mettre tout ce qui doit aller dans CMakeLists.txt dans CMakeLists.GTest et alors mettez seulement include(CmakeLists.GTest) dans CMakeLists.txt.

Si vous souhaitez déterminer une version fixe de GoogleTest qui doit être incorporée, vous pouvez utiliser le GIT_TAG par exemple release-1.8.0´ instead of master` dans votre CMakeLists.txt.in.

Après avoir intégré GoogleTest dans votre projet, vous pouvez ajouter gtests pour la classe Foo en créant par exemple FooTest.cpp qui comprend gtest/gtest.h et Foo.h. Par conséquent, vous devez également mettre add_executable(FooTarget FooTest.cpp) et target_link_libraries(FooTarget gtest) dans le CMakeLists.txt correspondant.

Vous pouvez également trouver une brève description de ceci, et comment intégrer GoogleTests dans ctest sur these slides).