Adds -pthread and switches -I to -isystem in build instructions;
also pulls in the latest gtest revision (r638).
This commit is contained in:
		
							
								
								
									
										24
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								README
									
									
									
									
									
								
							@@ -170,23 +170,31 @@ called by Visual Studio and Xcode) to compile
 | 
			
		||||
 | 
			
		||||
with
 | 
			
		||||
 | 
			
		||||
  ${GTEST_DIR}/include, ${GTEST_DIR}, ${GMOCK_DIR}/include, and ${GMOCK_DIR}
 | 
			
		||||
  ${GTEST_DIR}/include and ${GMOCK_DIR}/include
 | 
			
		||||
 | 
			
		||||
in the header search path.  Assuming a Linux-like system and gcc,
 | 
			
		||||
in the system header search path, and
 | 
			
		||||
 | 
			
		||||
  ${GTEST_DIR} and ${GMOCK_DIR}
 | 
			
		||||
 | 
			
		||||
in the normal header search path.  Assuming a Linux-like system and gcc,
 | 
			
		||||
something like the following will do:
 | 
			
		||||
 | 
			
		||||
  g++ -I${GTEST_DIR}/include -I${GTEST_DIR} -I${GMOCK_DIR}/include \
 | 
			
		||||
      -I${GMOCK_DIR} -c ${GTEST_DIR}/src/gtest-all.cc
 | 
			
		||||
  g++ -I${GTEST_DIR}/include -I${GTEST_DIR} -I${GMOCK_DIR}/include \
 | 
			
		||||
      -I${GMOCK_DIR} -c ${GMOCK_DIR}/src/gmock-all.cc
 | 
			
		||||
  g++ -isystem ${GTEST_DIR}/include -I${GTEST_DIR} \
 | 
			
		||||
      -isystem ${GMOCK_DIR}/include -I${GMOCK_DIR} \
 | 
			
		||||
      -pthread -c ${GTEST_DIR}/src/gtest-all.cc
 | 
			
		||||
  g++ -isystem ${GTEST_DIR}/include -I${GTEST_DIR} \
 | 
			
		||||
      -isystem ${GMOCK_DIR}/include -I${GMOCK_DIR} \
 | 
			
		||||
      -pthread -c ${GMOCK_DIR}/src/gmock-all.cc
 | 
			
		||||
  ar -rv libgmock.a gtest-all.o gmock-all.o
 | 
			
		||||
 | 
			
		||||
(We need -pthread as Google Test and Google Mock use threads.)
 | 
			
		||||
 | 
			
		||||
Next, you should compile your test source file with
 | 
			
		||||
${GTEST_DIR}/include and ${GMOCK_DIR}/include in the header search
 | 
			
		||||
path, and link it with gmock and any other necessary libraries:
 | 
			
		||||
 | 
			
		||||
  g++ -I${GTEST_DIR}/include -I${GMOCK_DIR}/include \
 | 
			
		||||
      path/to/your_test.cc libgmock.a -o your_test
 | 
			
		||||
  g++ -isystem ${GTEST_DIR}/include -isystem ${GMOCK_DIR}/include \
 | 
			
		||||
      -pthread path/to/your_test.cc libgmock.a -o your_test
 | 
			
		||||
 | 
			
		||||
As an example, the make/ directory contains a Makefile that you can
 | 
			
		||||
use to build Google Mock on systems where GNU make is available
 | 
			
		||||
 
 | 
			
		||||
@@ -27,10 +27,13 @@ GMOCK_DIR = ..
 | 
			
		||||
USER_DIR = ../test
 | 
			
		||||
 | 
			
		||||
# Flags passed to the preprocessor.
 | 
			
		||||
CPPFLAGS += -I$(GTEST_DIR)/include -I$(GMOCK_DIR)/include
 | 
			
		||||
# Set Google Test and Google Mock's header directories as system
 | 
			
		||||
# directories, such that the compiler doesn't generate warnings in
 | 
			
		||||
# these headers.
 | 
			
		||||
CPPFLAGS += -isystem $(GTEST_DIR)/include -isystem $(GMOCK_DIR)/include
 | 
			
		||||
 | 
			
		||||
# Flags passed to the C++ compiler.
 | 
			
		||||
CXXFLAGS += -g -Wall -Wextra
 | 
			
		||||
CXXFLAGS += -g -Wall -Wextra -pthread
 | 
			
		||||
 | 
			
		||||
# All tests produced by this Makefile.  Remember to add new tests you
 | 
			
		||||
# created to the list.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user