{
  "name": "GoogleTest",
  "version": "1.6.0",
  "summary": "C++ unit testing framework",
  "description": "  Google's framework for writing C++ tests on a variety of platforms (Linux, Mac OS X, Windows, Cygwin, Windows CE, and Symbian). Based on the xUnit architecture. Supports automatic test discovery, a rich set of assertions, user-defined assertions, death tests, fatal and non-fatal failures, value- and type-parameterized tests, various options for running the tests, and XML test report generation.\n",
  "homepage": "https://code.google.com/p/googletest/",
  "license": {
    "type": "BSD",
    "text": "Copyright 2008, Google Inc.\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n    * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n    * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n    * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n            \nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  "authors": "Google, Inc.",
  "platforms": {
    "osx": "10.7"
  },
  "source": {
    "svn": "http://googletest.googlecode.com/svn/tags/release-1.6.0/"
  },
  "source_files": [
    "src/*",
    "include/**/*.h"
  ],
  "exclude_files": "src/gtest_main.cc",
  "public_header_files": "include/**/*.h",
  "header_mappings_dir": "include",
  "xcconfig": {
    "HEADER_SEARCH_PATHS": "GoogleTest/include/",
    "CLANG_CXX_LIBRARY": "libc++"
  },
  "frameworks": "Cocoa",
  "prepare_command": "sed -i '' 's/src\\///' src/gtest-all.cc\necho \"246a247,251\n> #if __GXX_EXPERIMENTAL_CXX0X__ || __cplusplus >= 201103L\n> // Compiling in at least C++11 mode.\n> # define GTEST_LANG_CXX11 1\n> #endif\n> \n452c457,458\n< # if (defined(__GNUC__) && !defined(__CUDACC__) && (GTEST_GCC_VER_ >= 40000)) \\\\\n---\n> # if (defined(__GNUC__) && !defined(__CUDACC__) && (GTEST_GCC_VER_ >= 40000) \\\\\n>         && (GTEST_LANG_CXX11 || !defined(_LIBCPP_VERSION))) \\\\\n467a474,487\n> # elif GTEST_LANG_CXX11\n> #  include <tuple>\n> // C++11 puts its tuple into the ::std namespace rather than\n> // ::std::tr1.  gtest expects tuple to live in ::std::tr1, so put it there.\n> namespace std {\n> namespace tr1 {\n> using ::std::get;\n> using ::std::make_tuple;\n> using ::std::tuple;\n> using ::std::tuple_element;\n> using ::std::tuple_size;\n> }\n> }\n> \n\" | patch include/gtest/internal/gtest-port.h\n",
  "requires_arc": false
}
