Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
yangql
googletest
Commits
3e1e473c
Commit
3e1e473c
authored
Dec 02, 2008
by
shiqian
Browse files
Adds a Makefile to demonstrate building Google Test with a manually-written Makefile.
parent
389508e3
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
96 additions
and
0 deletions
+96
-0
README
README
+18
-0
make/Makefile
make/Makefile
+78
-0
No files found.
README
View file @
3e1e473c
...
...
@@ -208,6 +208,24 @@ in the "Variables to be set in the environment:" list, where you replace
when
you
run
your
executable
,
it
will
load
the
framework
and
your
test
will
run
as
expected
.
###
Using
GNU
Make
###
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
Makefile
.
If
the
default
settings
are
correct
for
your
environment
,
the
following
commands
should
succeed
:
$
cd
${
SRCDIR
}/
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
Your
Own
Build
System
###
If
none
of
the
build
solutions
we
provide
works
for
you
,
or
if
you
prefer
your
own
build
system
,
you
just
need
to
compile
...
...
make/Makefile
0 → 100644
View file @
3e1e473c
# A sample Makefile for building Google Test and using it in user
# tests. Please tweak it to suit your environment and project. You
# may want to move it to your project's root directory.
#
# SYNOPSIS:
#
# make [all] - makes everything.
# make TARGET - makes the given target.
# make clean - removes all files generated by make.
# Please tweak the following variable definitions as needed by your
# project, except GTEST_HEADERS, which you can use in your own targets
# but shouldn't modify.
# Points to the root of Google Test, relative to where this file is.
# Remember to tweak this if you move this file.
GTEST_DIR
=
..
# Where to find user code.
USER_DIR
=
../samples
# Flags passed to the preprocessor.
CPPFLAGS
+=
-I
$(GTEST_DIR)
-I
$(GTEST_DIR)
/include
# Flags passed to the C++ compiler.
CXXFLAGS
+=
-g
# All tests produced by this Makefile. Remember to add new tests you
# created to the list.
TESTS
=
sample1_unittest
# All Google Test headers. Usually you shouldn't change this
# definition.
GTEST_HEADERS
=
$(GTEST_DIR)
/include/gtest/
*
.h
\
$(GTEST_DIR)
/include/gtest/internal/
*
.h
# House-keeping build targets.
all
:
$(TESTS)
clean
:
rm
-f
$(TESTS)
gtest.a gtest_main.a
*
.o
# Builds gtest.a and gtest_main.a.
# Usually you shouldn't tweak such internal variables, indicated by a
# trailing _.
GTEST_SRCS_
=
$(GTEST_DIR)
/src/
*
.cc
$(GTEST_DIR)
/src/
*
.h
$(GTEST_HEADERS)
# For simplicity and to avoid depending on Google Test's
# implementation details, the dependencies specified below are
# conservative and not optimized. This is fine as Google Test
# compiles fast and for ordinary users its source rarely changes.
gtest-all.o
:
$(GTEST_SRCS_)
$(CXX)
$(CPPFLAGS)
$(CXXFLAGS)
-c
$(GTEST_DIR)
/src/gtest-all.cc
gtest_main.o
:
$(GTEST_SRCS_)
$(CXX)
$(CPPFLAGS)
$(CXXFLAGS)
-c
$(GTEST_DIR)
/src/gtest_main.cc
gtest.a
:
gtest-all.o
$(AR)
$(ARFLAGS)
$@
$^
gtest_main.a
:
gtest-all.o gtest_main.o
$(AR)
$(ARFLAGS)
$@
$^
# Builds a sample test. A test should link with either gtest.a or
# gtest_main.a, depending on whether it defines its own main()
# function.
sample1.o
:
$(USER_DIR)/sample1.cc $(USER_DIR)/sample1.h $(GTEST_HEADERS)
$(CXX)
$(CPPFLAGS)
$(CXXFLAGS)
-c
$(USER_DIR)
/sample1.cc
sample1_unittest.o
:
$(USER_DIR)/sample1_unittest.cc
\
$(USER_DIR)/sample1.h $(GTEST_HEADERS)
$(CXX)
$(CPPFLAGS)
$(CXXFLAGS)
-c
$(USER_DIR)
/sample1_unittest.cc
sample1_unittest
:
sample1.o sample1_unittest.o gtest_main.a
$(CXX)
$(CPPFLAGS)
$(CXXFLAGS)
$^
-o
$@
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment