def cmake_configure()

in build/fbcode_builder/fbcode_builder.py [0:0]


    def cmake_configure(self, name, cmake_path=".."):
        cmake_defines = {
            "BUILD_SHARED_LIBS": "ON",
            "CMAKE_INSTALL_PREFIX": self.option("prefix"),
        }

        # Hacks to add thriftpy3 support
        if "BUILD_THRIFT_PY3" in os.environ and "folly" in name:
            cmake_defines["PYTHON_EXTENSIONS"] = "True"

        if "BUILD_THRIFT_PY3" in os.environ and "fbthrift" in name:
            cmake_defines["thriftpy3"] = "ON"

        cmake_defines.update(self.option("{0}:cmake_defines".format(name), {}))
        return [
            self.run(
                ShellQuoted(
                    'CXXFLAGS="$CXXFLAGS -fPIC -isystem "{p}"/include" '
                    'CFLAGS="$CFLAGS -fPIC -isystem "{p}"/include" '
                    "cmake {args} {cmake_path}"
                ).format(
                    p=self.option("prefix"),
                    args=shell_join(
                        " ",
                        (
                            ShellQuoted("-D{k}={v}").format(k=k, v=v)
                            for k, v in cmake_defines.items()
                        ),
                    ),
                    cmake_path=cmake_path,
                )
            ),
        ]