github.com/jlmucb/cloudproxy@v0.0.0-20170830161738-b5aa0b619bc4/src/third_party/googlemock/Makefile.am (about)

     1  # Automake file
     2  
     3  # Nonstandard package files for distribution.
     4  EXTRA_DIST = LICENSE
     5  
     6  # We may need to build our internally packaged gtest. If so, it will be
     7  # included in the 'subdirs' variable.
     8  SUBDIRS = $(subdirs)
     9  
    10  # This is generated by the configure script, so clean it for distribution.
    11  DISTCLEANFILES = scripts/gmock-config
    12  
    13  # We define the global AM_CPPFLAGS as everything we compile includes from these
    14  # directories.
    15  AM_CPPFLAGS = $(GTEST_CPPFLAGS) -I$(srcdir)/include
    16  
    17  # Modifies compiler and linker flags for pthreads compatibility.
    18  if HAVE_PTHREADS
    19    AM_CXXFLAGS = @PTHREAD_CFLAGS@ -DGTEST_HAS_PTHREAD=1
    20    AM_LIBS = @PTHREAD_LIBS@
    21  endif
    22  
    23  # Build rules for libraries.
    24  lib_LTLIBRARIES = lib/libgmock.la lib/libgmock_main.la
    25  
    26  lib_libgmock_la_SOURCES = src/gmock-all.cc
    27  
    28  pkginclude_HEADERS = \
    29    include/gmock/gmock-actions.h \
    30    include/gmock/gmock-cardinalities.h \
    31    include/gmock/gmock-generated-actions.h \
    32    include/gmock/gmock-generated-function-mockers.h \
    33    include/gmock/gmock-generated-matchers.h \
    34    include/gmock/gmock-generated-nice-strict.h \
    35    include/gmock/gmock-matchers.h \
    36    include/gmock/gmock-more-actions.h \
    37    include/gmock/gmock-more-matchers.h \
    38    include/gmock/gmock-spec-builders.h \
    39    include/gmock/gmock.h
    40  
    41  pkginclude_internaldir = $(pkgincludedir)/internal
    42  pkginclude_internal_HEADERS = \
    43    include/gmock/internal/gmock-generated-internal-utils.h \
    44    include/gmock/internal/gmock-internal-utils.h \
    45    include/gmock/internal/gmock-port.h
    46  
    47  lib_libgmock_main_la_SOURCES = src/gmock_main.cc
    48  lib_libgmock_main_la_LIBADD = lib/libgmock.la
    49  
    50  # Build rules for tests. Automake's naming for some of these variables isn't
    51  # terribly obvious, so this is a brief reference:
    52  #
    53  # TESTS -- Programs run automatically by "make check"
    54  # check_PROGRAMS -- Programs built by "make check" but not necessarily run
    55  
    56  TESTS=
    57  check_PROGRAMS=
    58  AM_LDFLAGS = $(GTEST_LDFLAGS)
    59  
    60  # This exercises all major components of Google Mock.  It also
    61  # verifies that libgmock works.
    62  TESTS += test/gmock-spec-builders_test
    63  check_PROGRAMS += test/gmock-spec-builders_test
    64  test_gmock_spec_builders_test_SOURCES = test/gmock-spec-builders_test.cc
    65  test_gmock_spec_builders_test_LDADD = $(GTEST_LIBS) lib/libgmock.la
    66  
    67  # This tests using Google Mock in multiple translation units.  It also
    68  # verifies that libgmock_main and libgmock work.
    69  TESTS += test/gmock_link_test
    70  check_PROGRAMS += test/gmock_link_test
    71  test_gmock_link_test_SOURCES = \
    72    test/gmock_link2_test.cc \
    73    test/gmock_link_test.cc \
    74    test/gmock_link_test.h
    75  test_gmock_link_test_LDADD = $(GTEST_LIBS) lib/libgmock_main.la  lib/libgmock.la
    76  
    77  if HAVE_PYTHON
    78    # Tests that fused gmock files compile and work.
    79    TESTS += test/gmock_fused_test
    80    check_PROGRAMS += test/gmock_fused_test
    81    test_gmock_fused_test_SOURCES = \
    82      fused-src/gmock-gtest-all.cc \
    83      fused-src/gmock/gmock.h \
    84      fused-src/gmock_main.cc \
    85      fused-src/gtest/gtest.h \
    86      test/gmock_test.cc
    87    test_gmock_fused_test_CPPFLAGS = -I"$(srcdir)/fused-src"
    88  endif
    89  
    90  # Google Mock source files that we don't compile directly.
    91  GMOCK_SOURCE_INGLUDES = \
    92    src/gmock-cardinalities.cc \
    93    src/gmock-internal-utils.cc \
    94    src/gmock-matchers.cc \
    95    src/gmock-spec-builders.cc \
    96    src/gmock.cc
    97  
    98  EXTRA_DIST += $(GMOCK_SOURCE_INGLUDES)
    99  
   100  # C++ tests that we don't compile using autotools.
   101  EXTRA_DIST += \
   102    test/gmock-actions_test.cc \
   103    test/gmock_all_test.cc \
   104    test/gmock-cardinalities_test.cc \
   105    test/gmock_ex_test.cc \
   106    test/gmock-generated-actions_test.cc \
   107    test/gmock-generated-function-mockers_test.cc \
   108    test/gmock-generated-internal-utils_test.cc \
   109    test/gmock-generated-matchers_test.cc \
   110    test/gmock-internal-utils_test.cc \
   111    test/gmock-matchers_test.cc \
   112    test/gmock-more-actions_test.cc \
   113    test/gmock-nice-strict_test.cc \
   114    test/gmock-port_test.cc \
   115    test/gmock_stress_test.cc
   116  
   117  # Python tests, which we don't run using autotools.
   118  EXTRA_DIST += \
   119    test/gmock_leak_test.py \
   120    test/gmock_leak_test_.cc \
   121    test/gmock_output_test.py \
   122    test/gmock_output_test_.cc \
   123    test/gmock_output_test_golden.txt \
   124    test/gmock_test_utils.py
   125  
   126  # Nonstandard package files for distribution.
   127  EXTRA_DIST += \
   128    CHANGES \
   129    CONTRIBUTORS \
   130    make/Makefile
   131  
   132  # Pump scripts for generating Google Mock headers.
   133  # TODO(chandlerc@google.com): automate the generation of *.h from *.h.pump.
   134  EXTRA_DIST += \
   135    include/gmock/gmock-generated-actions.h.pump \
   136    include/gmock/gmock-generated-function-mockers.h.pump \
   137    include/gmock/gmock-generated-matchers.h.pump \
   138    include/gmock/gmock-generated-nice-strict.h.pump \
   139    include/gmock/internal/gmock-generated-internal-utils.h.pump
   140  
   141  # Script for fusing Google Mock and Google Test source files.
   142  EXTRA_DIST += scripts/fuse_gmock_files.py
   143  
   144  # The Google Mock Generator tool from the cppclean project.
   145  EXTRA_DIST += \
   146    scripts/generator/LICENSE \
   147    scripts/generator/README \
   148    scripts/generator/README.cppclean \
   149    scripts/generator/cpp/__init__.py \
   150    scripts/generator/cpp/ast.py \
   151    scripts/generator/cpp/gmock_class.py \
   152    scripts/generator/cpp/keywords.py \
   153    scripts/generator/cpp/tokenize.py \
   154    scripts/generator/cpp/utils.py \
   155    scripts/generator/gmock_gen.py
   156  
   157  # CMake scripts.
   158  EXTRA_DIST += \
   159    CMakeLists.txt
   160  
   161  # Microsoft Visual Studio 2005 projects.
   162  EXTRA_DIST += \
   163    msvc/2005/gmock.sln \
   164    msvc/2005/gmock.vcproj \
   165    msvc/2005/gmock_config.vsprops \
   166    msvc/2005/gmock_main.vcproj \
   167    msvc/2005/gmock_test.vcproj
   168  
   169  # Microsoft Visual Studio 2010 projects.
   170  EXTRA_DIST += \
   171    msvc/2010/gmock.sln \
   172    msvc/2010/gmock.vcxproj \
   173    msvc/2010/gmock_config.props \
   174    msvc/2010/gmock_main.vcxproj \
   175    msvc/2010/gmock_test.vcxproj
   176  
   177  if HAVE_PYTHON
   178  # gmock_test.cc does not really depend on files generated by the
   179  # fused-gmock-internal rule.  However, gmock_test.o does, and it is
   180  # important to include test/gmock_test.cc as part of this rule in order to
   181  # prevent compiling gmock_test.o until all dependent files have been
   182  # generated.
   183  $(test_gmock_fused_test_SOURCES): fused-gmock-internal
   184  
   185  # TODO(vladl@google.com): Find a way to add Google Tests's sources here.
   186  fused-gmock-internal: $(pkginclude_HEADERS) $(pkginclude_internal_HEADERS) \
   187                        $(lib_libgmock_la_SOURCES) $(GMOCK_SOURCE_INGLUDES) \
   188                        $(lib_libgmock_main_la_SOURCES) \
   189                        scripts/fuse_gmock_files.py
   190  	mkdir -p "$(srcdir)/fused-src"
   191  	chmod -R u+w "$(srcdir)/fused-src"
   192  	rm -f "$(srcdir)/fused-src/gtest/gtest.h"
   193  	rm -f "$(srcdir)/fused-src/gmock/gmock.h"
   194  	rm -f "$(srcdir)/fused-src/gmock-gtest-all.cc"
   195  	"$(srcdir)/scripts/fuse_gmock_files.py" "$(srcdir)/fused-src"
   196  	cp -f "$(srcdir)/src/gmock_main.cc" "$(srcdir)/fused-src"
   197  
   198  maintainer-clean-local:
   199  	rm -rf "$(srcdir)/fused-src"
   200  endif
   201  
   202  # Death tests may produce core dumps in the build directory. In case
   203  # this happens, clean them to keep distcleancheck happy.
   204  CLEANFILES = core
   205  
   206  # Disables 'make install' as installing a compiled version of Google
   207  # Mock can lead to undefined behavior due to violation of the
   208  # One-Definition Rule.
   209  
   210  install-exec-local:
   211  	echo "'make install' is dangerous and not supported. Instead, see README for how to integrate Google Mock into your build system."
   212  	false
   213  
   214  install-data-local:
   215  	echo "'make install' is dangerous and not supported. Instead, see README for how to integrate Google Mock into your build system."
   216  	false