licenses(["notice"])

package(default_visibility = ["//visibility:public"])

pkg_name = "googletest-release"
pkg_version = "1.8.0"

package_file = pkg_name + "-" + pkg_version + ".zip"
package_dir = pkg_name + "-" + pkg_version

gtest_include_files = [
    "include/gtest/gtest-death-test.h",
    "include/gtest/gtest-param-test.h.pump",
    "include/gtest/gtest-test-part.h",
    "include/gtest/gtest_pred_impl.h",
    "include/gtest/gtest-message.h",
    "include/gtest/gtest-printers.h",
    "include/gtest/gtest-typed-test.h",
    "include/gtest/gtest_prod.h",
    "include/gtest/gtest-param-test.h",
    "include/gtest/gtest-spi.h",
    "include/gtest/gtest.h",

    "include/gtest/internal/custom/gtest-port.h",
    "include/gtest/internal/custom/gtest-printers.h",
    "include/gtest/internal/custom/gtest.h",

    "include/gtest/internal/gtest-death-test-internal.h",
    "include/gtest/internal/gtest-param-util-generated.h.pump",
    "include/gtest/internal/gtest-tuple.h.pump",
    "include/gtest/internal/gtest-filepath.h",
    "include/gtest/internal/gtest-param-util.h",
    "include/gtest/internal/gtest-type-util.h",
    "include/gtest/internal/gtest-internal.h",
    "include/gtest/internal/gtest-port.h",
    "include/gtest/internal/gtest-port-arch.h",
    "include/gtest/internal/gtest-type-util.h.pump",
    "include/gtest/internal/gtest-linked_ptr.h",
    "include/gtest/internal/gtest-string.h",
    "include/gtest/internal/gtest-param-util-generated.h",
    "include/gtest/internal/gtest-tuple.h",
]

gtest_lib_files = [
    "lib/libgtest.a", 
    "lib/libgtest_main.a",
]

gmock_include_files = [
    "include/gmock/gmock-actions.h",
    "include/gmock/gmock-generated-function-mockers.h.pump",
    "include/gmock/gmock-matchers.h",
    "include/gmock/gmock-cardinalities.h",
    "include/gmock/gmock-generated-matchers.h",
    "include/gmock/gmock-more-actions.h",
    "include/gmock/gmock-generated-actions.h",
    "include/gmock/gmock-generated-matchers.h.pump",
    "include/gmock/gmock-more-matchers.h",
    "include/gmock/gmock-generated-actions.h.pump",
    "include/gmock/gmock-generated-nice-strict.h",
    "include/gmock/gmock-spec-builders.h",
    "include/gmock/gmock-generated-function-mockers.h",
    "include/gmock/gmock-generated-nice-strict.h.pump",
    "include/gmock/gmock.h",

    "include/gmock/internal/custom/gmock-generated-actions.h",
    "include/gmock/internal/custom/gmock-generated-actions.h.pump",
    "include/gmock/internal/custom/gmock-matchers.h",
    "include/gmock/internal/custom/gmock-port.h",

    "include/gmock/internal/gmock-generated-internal-utils.h",
    "include/gmock/internal/gmock-internal-utils.h",
    "include/gmock/internal/gmock-generated-internal-utils.h.pump",
    "include/gmock/internal/gmock-port.h",
]

gmock_lib_files = [
    "lib/libgmock.a",
    "lib/libgmock_main.a",
]

include_files = gtest_include_files + gmock_include_files
lib_files = gtest_lib_files + gmock_lib_files

genrule(
    name = "gtest-srcs",
    srcs = [
        package_file, 
    ],
    outs = include_files + lib_files,
    cmd = "\n".join([
        'export TMP_DIR=$$(mktemp -d -t gtest.XXXXX)',
        'export INSTALL_DIR=$$(pwd)/$(@D)',
        'mkdir -p $$TMP_DIR',
        'cp -R $(SRCS) $$TMP_DIR',
        'cd $$TMP_DIR',
        'unzip -q -o ' + package_file,
        'cd ' + package_dir,
        'cmake -DCMAKE_INSTALL_PREFIX:PATH=$$INSTALL_DIR .',
        'make install',
        'rm -rf $$TMP_DIR',
    ]),
)

cc_library(
    name = "gtest-cxx",
    srcs = [
        "empty.cc",
        "lib/libgtest.a",
    ],
    hdrs = gtest_include_files,
    includes = [
        "include",
    ],
    linkstatic = 1,
)

cc_library(
    name = "gtest_main-cxx",
    srcs = [
        "empty.cc",
        "lib/libgtest_main.a",
    ],
    deps = [
        ":gtest-cxx",
    ],
    linkstatic = 1,
    alwayslink = 1,
)

filegroup(
    name = "gtest",
    srcs = [
        ":gtest-cxx",
        ":gtest_main-cxx",
    ]
)

filegroup(
    name = "gtest-files",
    srcs = gtest_include_files + gtest_lib_files,
)

cc_library(
    name = "gmock-cxx",
    srcs = [
        "empty.cc",
        "lib/libgmock.a",
    ],
    hdrs = gmock_include_files,
    includes = [
        "include",
    ],
    linkstatic = 1,
)

cc_library(
    name = "gmock_main-cxx",
    srcs = [
        "empty.cc",
        "lib/libgmock_main.a",
    ],
    linkstatic = 1,
)

filegroup(
    name = "gmock",
    srcs = [
        ":gmock-cxx",
        ":gmock_main-cxx",
    ]
)

filegroup(
    name = "gmock-files",
    srcs = gmock_include_files + gmock_lib_files,
)
