Merge pull request #207012 from Homebrew/bump-tailwindcss-4.0.5
[Homebrew/homebrew-core.git] / Formula / g / googletest.rb
blobcb1d3e05a1fa70d34d2dba8a747dd462b3588ea8
1 class Googletest < Formula
2   desc "Google Testing and Mocking Framework"
3   homepage "https://github.com/google/googletest"
4   url "https://github.com/google/googletest/archive/refs/tags/v1.16.0.tar.gz"
5   sha256 "78c676fc63881529bf97bf9d45948d905a66833fbfa5318ea2cd7478cb98f399"
6   license "BSD-3-Clause"
7   head "https://github.com/google/googletest.git", branch: "main"
9   bottle do
10     sha256 cellar: :any_skip_relocation, arm64_sequoia: "190d3bd68d4bf26da5f36dc32e88011643e84aef8196edebbbcbf757d08d2c2a"
11     sha256 cellar: :any_skip_relocation, arm64_sonoma:  "6a6de6e806ca44915576aafb65d50d1b58ab4f337560a02c8780a3b9fe8c1010"
12     sha256 cellar: :any_skip_relocation, arm64_ventura: "7ef1cc29975aac943340518a6057af030da284f73cc6122fa6bc1127bfc8d5e0"
13     sha256 cellar: :any_skip_relocation, sonoma:        "71bf77319c7b3c51b22f28cb3a91f833ea89dec750fbb76a45827d6f834ac56e"
14     sha256 cellar: :any_skip_relocation, ventura:       "146609ea00020a57519b405cfa3e0247aad824fd83779190af4bd6d1f9fd7067"
15     sha256 cellar: :any_skip_relocation, x86_64_linux:  "4b1e5b95cd807d28a81a8380cc1c05823e211daa8a0bada47215d3275f2b0385"
16   end
18   depends_on "cmake" => :build
20   def install
21     system "cmake", "-S", ".", "-B", "build",
22       "-DCMAKE_CXX_STANDARD=17", *std_cmake_args
23     system "cmake", "--build", "build"
24     system "cmake", "--install", "build"
26     # for use case like `#include "googletest/googletest/src/gtest-all.cc"`
27     (include/"googlemock/googlemock/src").install Dir["googlemock/src/*"]
28     (include/"googletest/googletest/src").install Dir["googletest/src/*"]
29   end
31   test do
32     (testpath/"test.cpp").write <<~CPP
33       #include <string>
34       #include <string_view>
35       #include <vector>
36       #include <gtest/gtest.h>
37       #include <gtest/gtest-death-test.h>
38       #include "gmock/gmock.h"
40       TEST(Simple, Boolean)
41       {
42         ASSERT_TRUE(true);
43       }
44       TEST(Simple, Cpp17StringView)
45       {
46         const char* c = "test";
47         std::string s{c};
48         std::string_view sv{s};
49         std::vector<std::string_view> vsv{sv};
50         EXPECT_EQ(sv, s);
51         EXPECT_EQ(sv, s.c_str());
52         EXPECT_EQ(sv, "test");
53         EXPECT_THAT(vsv, testing::ElementsAre("test"));
54       }
55     CPP
56     system ENV.cxx, "test.cpp", "-std=c++17", "-L#{lib}", "-lgtest", "-lgtest_main", "-pthread", "-o", "test"
57     system "./test"
58   end
59 end