### Generic Build Instructions ###
#### Setup ####
To build Google Test and your tests that use it, you need to tell your
build system where to find its headers and source files. The exact
way to do it depends on which build system you use, and is usually
straightforward.
#### Build ####
Suppose you put Google Test in directory `${GTEST_DIR}`. To build it,
create a library build target (or a project as called by Visual Studio
and Xcode) to compile
${GTEST_DIR}/src/gtest-all.cc
with `${GTEST_DIR}/include` in the system header search path and `${GTEST_DIR}`
in the normal header search path. Assuming a Linux-like system and gcc,
something like the following will do:
g++ -isystem ${GTEST_DIR}/include -I${GTEST_DIR} \
-pthread -c ${GTEST_DIR}/src/gtest-all.cc
ar -rv libgtest.a gtest-all.o
(We need `-pthread` as Google Test uses threads.)
Next, you should compile your test source file with
`${GTEST_DIR}/include` in the system header search path, and link it
with gtest and any other necessary libraries:
g++ -isystem ${GTEST_DIR}/include -pthread path/to/your_test.cc libgtest.a \
-o your_test
As an example, the make/ directory contains a Makefile that you can
use to build Google Test on systems where GNU make is available
(e.g. Linux, Mac OS X, and Cygwin). It doesn't try to build Google
Test's own tests. Instead, it just builds the Google Test library and
a sample test. You can use it as a starting point for your own build
script.
If the default settings are correct for your environment, the
following commands should succeed:
cd ${GTEST_DIR}/make
make
./sample1_unittest
If you see errors, try to tweak the contents of `make/Makefile` to make
them go away. There are instructions in `make/Makefile` on how to do
it.
### Using CMake ###
Google Test comes with a CMake build script (
[CMakeLists.txt](CMakeLists.txt)) that can be used on a wide range of platforms ("C" stands for
cross-platform.). If you don't have CMake installed already, you can
download it for free from <http://www.cmake.org/>.
CMake works by generating native makefiles or build projects that can
be used in the compiler environment of your choice. You can either
build Google Test as a standalone project or it can be incorporated
into an existing CMake build for another project.
#### Standalone CMake Project ####
When building Google Test as a standalone project, the typical
workflow starts with:
mkdir mybuild # Create a directory to hold the build output.
cd mybuild
cmake ${GTEST_DIR} # Generate native build scripts.
If you want to build Google Test's samples, you should replace the
last command with
cmake -Dgtest_build_samples=ON ${GTEST_DIR}
If you are on a \*nix system, you should now see a Makefile in the
current directory. Just type 'make' to build gtest.
If you use Windows and have Visual Studio installed, a `gtest.sln` file
and several `.vcproj` files will be created. You can then build them
using Visual Studio.
On Mac OS X with Xcode installed, a `.xcodeproj` file will be generated.
#### Incorporating Into An Existing CMake Project ####
If you want to use gtest in a project which already uses CMake, then a
more robust and flexible approach is to build gtest as part of that
project directly. This is done by making the GoogleTest source code
available to the main build and adding it using CMake's
`add_subdirectory()` command. This has the significant advantage that
the same compiler and linker settings are used between gtest and the
rest of your project, so issues associated with using incompatible
libraries (eg debug/release), etc. are avoided. This is particularly
useful on Windows. Making GoogleTest's source code available to the
main build can be done a few different ways:
* Download the GoogleTest source code manually and place it at a
known location. This is the least flexible approach and can make
it more difficult to use with continuous integration systems, etc.
* Embed the GoogleTest source code as a direct copy in the main
project's source tree. This is often the simplest approach, but is
also the hardest to keep up to date. Some organizations may not
permit this method.
* Add GoogleTest as a git submodule or equivalent. This may not
always be possible or appropriate. Git submodules, for example,
have their own set of advantages and drawbacks.
* Use CMake to download GoogleTest as part of the build's configure
step. This is just a little more complex, but doesn't have the
limitations of the other methods.
The last of the above methods is implemented with a small piece
of CMake code in a separate file (e.g. `CMakeLists.txt.in`) which
is copied to the build area and then invoked as a sub-build
_during the CMake stage_. That directory is then pulled into the
main build with `add_subdirectory()`. For example:
New file `CMakeLists.txt.in`:
cmake_minimum_required(VERSION 2.8.2)
project(googletest-download NONE)
include(ExternalProject)
ExternalProject_Add(googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG master
SOURCE_DIR "${CMAKE_BINARY_DIR}/googletest-src"
BINARY_DIR "${CMAKE_BINARY_DIR}/googletest-build"
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
TEST_COMMAND ""
)
Existing build's `CMakeLists.txt`:
# Download and unpack googletest at configure time
configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
RESULT_VARIABLE result
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-download )
if(result)
message(FATAL_ERROR "CMake step for googletest failed: ${result}")
endif()
execute_process(COMMAND ${CMAKE_COMMAND} --build .
RESULT_VARIABLE result
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-download )
if(result)
message(FATAL_ERROR "Build step for googletest failed: ${result}")
endif()
# Prevent overriding the parent project's compiler/linker
# settings on Windows
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
# Add googletest directly to our build. This defines
# the gtest and gtest_main targets.
add_subdirectory(${CMAKE_BINARY_DIR}/googletest-src
${CMAKE_BINARY_DIR}/googletest-build)
# The gtest/gtest_main targets carry header search path
# dependencies automatically when using CMake 2.8.11 or
# later. Otherwise we have to add them here ourselves.
if (CMAKE_VERSION VERSION_LESS 2.8.11)
include_directories("${gtest_SOURCE_DIR}/include")
endif()
# Now simply link against gtest or gtest_main as needed. Eg
add_executable(example example.cpp)
target_link_libraries(example gtest_main)
add_test(NAME example_test COMMAND example)
Note that this approach requires CMake 2.8.2 or later due to
its use of the `ExternalProject_Add()` command. The above
technique is discussed in more detail in
[this separate article](http://crascit.com/2015/07/25/cmake-gtest/)
which also contains a link to a fully generalized implementation
of the technique.
### Legacy Build Scripts ###
Before settling on CMake, we have been providing hand-maintained build
projects/scripts for Visual Studio, Xcode, and Autotools. While we
continue to provide them for convenience, they are not actively
maintained any more. We highly recommend that you follow the
instructions in the above sections to integrate Google Test
with your existing build system.
If you still need to use the legacy build scripts, here's how:
The msvc\ folder contains two solutions with Visual C++ projects.
Open the `gtest.sln` or `gtest-md.sln` file using Visual Studio, and you
are ready to build Google Test the same way you build any Visual
Studio project. Files that have names ending with -md use DLL
versions of Microsoft runt
没有合适的资源?快使用搜索试试~ 我知道了~
来自TFHE的多密钥同态加密.zip
共458个文件
cc:96个
h:93个
cpp:63个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 3 下载量 157 浏览量
2023-03-23
21:10:57
上传
评论
收藏 1.77MB ZIP 举报
温馨提示
来自TFHE的多密钥同态加密
资源推荐
资源详情
资源评论
收起资源包目录
来自TFHE的多密钥同态加密.zip (458个子文件)
configure.ac 6KB
configure.ac 3KB
Makefile.am 10KB
Makefile.am 7KB
fft-test.c 7KB
fft-x8664-avx-aux.c 6KB
fft-model-of-x8664-avx.c 6KB
fft-portable.c 5KB
test-c-binding.c 3KB
gtest.cbproj 10KB
gtest_unittest.cbproj 9KB
gtest_main.cbproj 8KB
gtest_unittest.cc 243KB
gtest.cc 192KB
gmock-matchers_test.cc 178KB
gtest_pred_impl_unittest.cc 76KB
gmock-spec-builders_test.cc 69KB
gtest-printers_test.cc 51KB
gtest-death-test.cc 50KB
gmock-actions_test.cc 44KB
gtest-death-test_test.cc 44KB
gmock-generated-matchers_test.cc 42KB
gtest-port.cc 42KB
gmock-generated-actions_test.cc 40KB
gtest-port_test.cc 40KB
gtest-param-test_test.cc 38KB
gtest_output_test_.cc 32KB
gmock-spec-builders.cc 30KB
gmock-internal-utils_test.cc 24KB
gmock-more-actions_test.cc 24KB
gtest-filepath_test.cc 23KB
gmock-generated-function-mockers_test.cc 19KB
gmock-matchers.cc 18KB
gtest-filepath.cc 14KB
gtest-unittest-api_test.cc 13KB
gmock-nice-strict_test.cc 13KB
gtest-printers.cc 12KB
gtest-typed-test_test.cc 12KB
gmock-cardinalities_test.cc 12KB
gtest-listener_test.cc 10KB
gtest_stress_test.cc 9KB
gmock_stress_test.cc 9KB
gtest-tuple_test.cc 9KB
sample6_unittest.cc 9KB
gtest_catch_exceptions_test_.cc 9KB
gtest_repeat_test.cc 8KB
gmock_output_test_.cc 8KB
gtest-options_test.cc 8KB
gtest-test-part_test.cc 7KB
gmock.cc 7KB
sample8_unittest.cc 7KB
gmock-internal-utils.cc 7KB
gtest_environment_test.cc 6KB
sample5_unittest.cc 6KB
gtest_xml_output_unittest_.cc 6KB
sample9_unittest.cc 6KB
gmock_test.cc 5KB
gmock-generated-internal-utils_test.cc 5KB
sample3_unittest.cc 5KB
gtest-message_test.cc 5KB
gmock-cardinalities.cc 5KB
sample1_unittest.cc 5KB
sample7_unittest.cc 5KB
sample10_unittest.cc 5KB
gtest_list_tests_unittest_.cc 5KB
gtest_premature_exit_test.cc 4KB
gtest-test-part.cc 4KB
gtest-linked_ptr_test.cc 4KB
gtest-typed-test.cc 4KB
sample2_unittest.cc 4KB
gtest-death-test_ex_test.cc 4KB
gtest_env_var_test_.cc 3KB
gtest_filter_unittest_.cc 3KB
gtest_throw_on_failure_ex_test.cc 3KB
gmock_ex_test.cc 3KB
gtest_shuffle_test_.cc 3KB
gmock_leak_test_.cc 3KB
gtest_break_on_failure_unittest_.cc 3KB
gtest_throw_on_failure_test_.cc 3KB
gtest_color_test_.cc 3KB
gtest-param-test2_test.cc 3KB
widget_test.cc 3KB
gmock_main.cc 3KB
gmock_all_test.cc 3KB
sample1.cc 2KB
gtest_no_test_unittest.cc 2KB
widget.cc 2KB
sample2.cc 2KB
gtest_all_test.cc 2KB
gtest_sole_header_test.cc 2KB
gtest_prod_test.cc 2KB
gtest-all.cc 2KB
gmock-all.cc 2KB
gtest_help_test_.cc 2KB
gtest-typed-test2_test.cc 2KB
gtest_link.cc 2KB
gmock-port_test.cc 2KB
gtest_xml_outfile1_test_.cc 2KB
gtest_xml_outfile2_test_.cc 2KB
gmock_link_test.cc 2KB
共 458 条
- 1
- 2
- 3
- 4
- 5
资源评论
- m0_751371552023-05-18这个资源对我启发很大,受益匪浅,学到了很多,谢谢分享~
- CTSC2024-03-22发现一个超赞的资源,赶紧学习起来,大家一起进步,支持!
- 2201_759258732023-10-30内容与描述一致,超赞的资源,值得借鉴的内容很多,支持!
快撑死的鱼
- 粉丝: 1w+
- 资源: 9156
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功