在 OS X (Sierra) 上安装 GoogleTest 时出现问题

Issue installing GoogleTest on OS X (Sierra)

我正在尝试安装 GoogleTest 以在 macOS 10.12 上测试 C++ 项目。

我已检索到最新源代码 release-1.8.0,但在构建库时遇到问题。我尝试了以下方法:

$ cd googletest-release-1.8.0 
$ mkdir build
$ cd build
$ cmake ..
$ make

没有错误,但是在我能找到的任何地方似乎都没有创建 lib 文件。

我在这里做错了什么?我对CMake不是很了解

我刚在 OS X 上试过这个;在您列出的步骤之后,build/ 下有一个名为 googlemock/ 的子目录,其中包含 libgmock.agtest/libgtest.a

headers 位于 googletest/include/gtest/ 下的主文件夹中。

或者,this older answer

中可能有一些指导

您可以像这样使用外部项目

<<CMakeLists.txt>>

cmake_minimum_required(VERSION 2.6)
project(myproject)

# Enable ExternalProject CMake module
include(ExternalProject)


# Download and install GoogleTest
ExternalProject_Add(
    gtest
    URL https://github.com/google/googletest/archive/release-1.8.0.zip
    PREFIX include/gtest
    # Disable install step
    INSTALL_COMMAND ""
)

# Create a libgtest target to be used as a dependency by test programs
add_library(libgtest IMPORTED STATIC GLOBAL)
add_dependencies(libgtest gtest)

# Set gtest properties
ExternalProject_Get_Property(gtest source_dir binary_dir)
set_target_properties(libgtest PROPERTIES
    IMPORTED_LOCATION "${binary_dir}/googlemock/gtest/libgtest.a"
    IMPORTED_LINK_INTERFACE_LIBRARIES "${CMAKE_THREAD_LIBS_INIT}"
#   "INTERFACE_INCLUDE_DIRECTORIES" "${source_dir}/include"
)
# I couldn't make it work with INTERFACE_INCLUDE_DIRECTORIES
set(GTEST_LIB "${source_dir}/googletest/include")

# Create a libgmock target to be used as a dependency by test programs
add_library(libgmock IMPORTED STATIC GLOBAL)
add_dependencies(libgmock gmock)

include_directories(${GTEST_LIB} ${GMOCK_LIB})
add_executable(test_exec testmain.cpp someotherfile.cpp)
target_link_libraries(test_exec libgtest libgmock)

应该可以。