在OS X上安装GoogleTest问题(Sierra)
问题描述:
我尝试在macOS 10.12上安装GoogleTest以测试C++项目。在OS X上安装GoogleTest问题(Sierra)
我已经检索到最新的源代码,release-1.8.0,并且在构建库时遇到问题。我试过以下内容:
$ cd googletest-release-1.8.0
$ mkdir build
$ cd build
$ cmake ..
$ make
没有错误,但是lib文件看起来并没有在我能找到的任何地方创建。
我在这里做错了什么?我不太了解CMake。
答
我刚刚在OS X上试过这个;在列出的步骤之后,在build/
下有一个名为googlemock/
的子目录,其中包含libgmock.a
和gtest/libgtest.a
。
标题位于googletest/include/gtest/
下的主文件夹中。
另外,有可能在this older answer
+0
完美,谢谢,我没想到要在gmock目录中寻找gtest文件。 – arbass
答
一些指导,您可以使用外部项目这样的:
<<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)
应该工作。
是的,它在那里 – arbass