How to properly setup googleTest on OS X aside from XCode

后端 未结 3 583
别那么骄傲
别那么骄傲 2020-12-05 16:14

How do I setup gTest, so that I can link aganist the library? I will code in vim, so I just want to install the libraries, unlike the XCode setup. Goal is to be able to link

相关标签:
3条回答
  • 2020-12-05 16:30

    I think cmake is an easy way to setup and use gtest on OSX. It works without manually copying files. Unzip gooletest-release-1.8.0, then

    cd googletest-release-1.8.0
    
    # create a build directory
    mkdir build      
    cd build
    
    # build configuration
    cmake .. -DBUILD_GTEST=ON -DBUILD_SHARED_LIBS=ON
    
    # build it 
    make   
    
    # installation
    sudo make install
    

    Afterwards, you can easily incorporate gtest in your project with the cmake commands

    # sets GTEST_INCLUDE_DIRS and GTEST_LIBRARIES
    find_package( GTest REQUIRED )      
    
    # adds the gtest include directory
    include_directories( ${GTEST_INCLUDE_DIRS} )
    
    # links gtest
    target_link_libraries( yourTestApp ${GTEST_LIBRARIES} )
    
    0 讨论(0)
  • 2020-12-05 16:31

    Before you start make sure your have read and understood this note from Google! This tutorial makes using gtest easy, but may introduce nasty bugs.

    1. Get the googletest framework

    $ wget https://github.com/google/googletest/archive/release-1.8.0.zip
    

    Or get it by hand. I guess I won't manitain this little How-to, so if you stumbled upon it and the links are outdated, feel free to edit it.

    2. Unzip and build google test

    $ unzip gtest-1.8.0.zip
    $ cd gtest-1.8.0
    $ ./configure
    $ make
    

    3. "Install" the headers and libs on your system.

    $ sudo cp -a include/gtest /usr/include
    $ sudo cp -a lib/.libs/* /usr/lib/
    

    gTestframework is now ready to use. Just don't forget to link your project against the library by setting -lgtest as linker flag and optionally, if you did not write your own test mainroutine, the explicit -lgtest_main flag.

    From here on you might want to go to Googles documentation about the framework to learn how it works. Happy coding!

    0 讨论(0)
  • 2020-12-05 16:34

    It's adviced that you link statically. There's no secret. Being a bit offtopic, I use CMake in my projects, which I recommend, and here (https://github.com/oblitum/operations) I have setup a very basic skeleton project that links to gmock and gtest (it's also adviced by google that you use the same gtest from gmock, when you use gmock). In the external folder reside the external CMake files that actually import gtest and gmock through ExternalProject_Add. In the sample, I'm setting the URL as a file path in my system where gmock and gtest are downloaded, but, if you check CMake ExternalProject_Add docs you can see that download urls, online repository urls are also available, which can allow your build to download gtest and gmock, and cache it, automatically.

    0 讨论(0)
提交回复
热议问题