Пример #1
0
def create_and_validate(recipe_buffer, expected_value):
    tempdir = tempfile.mkdtemp()
    with chdir(tempdir):
        with open("conanfile.py", "w") as fd:
            fd.write(recipe_buffer)
            fd.flush()
            assert expected_value == build_shared.is_shared()
def add_boost_shared(build, recipe=None):
    if build_shared.is_shared():
        shared_option_name = "%s:shared" % build_shared.get_name_from_recipe(
            recipe=recipe)
        build.options.update(
            {'boost_*:shared': build.options[shared_option_name]})
    return build
def get_builder(shared_option_name=None,
                pure_c=False,
                dll_with_static_runtime=False,
                build_policy=None,
                cwd=None,
                **kwargs):

    recipe = build_shared.get_recipe_path(cwd)

    # Bincrafters default is to upload only when stable, but boost is an exception
    # Empty string allows boost packages upload for testing branch
    with tools.environment_append({"CONAN_UPLOAD_ONLY_WHEN_STABLE": ""}):
        shared_option_name = False if shared_option_name is None and not build_shared.is_shared(
        ) else shared_option_name

        builder = build_template_default.get_builder(
            shared_option_name=shared_option_name,
            pure_c=pure_c,
            dll_with_static_runtime=dll_with_static_runtime,
            build_policy=build_policy,
            cwd=cwd,
            **kwargs)
        builder.builds = map(
            lambda item: add_boost_shared(item, recipe=recipe), builder.items)

        return builder
def get_builder(args=None, shared_option_name=None, pure_c=True, dll_with_static_runtime=False):

    builder = build_shared.get_builder(args)
    if shared_option_name is None and build_shared.is_shared():
        shared_option_name = "%s:shared" % build_shared.get_name_from_recipe()

    builder.add_common_builds(shared_option_name=shared_option_name, pure_c=pure_c, dll_with_static_runtime=dll_with_static_runtime)

    return builder
def create_and_validate(recipe_buffer, expected_value, optional_subdir=False):
    with chdir_subdir(subdir=None):
        if optional_subdir:
            subdir = "subdir"
            os.mkdir(subdir)
        else:
            subdir = "."
        with chdir_subdir(subdir=subdir):
            with open("conanfile.py", "w") as fd:
                fd.write(recipe_buffer)
                fd.flush()
        recipe = build_shared.get_recipe_path(cwd=subdir)
        assert expected_value == build_shared.is_shared(recipe=recipe)
Пример #6
0
def get_builder(shared_option_name=None,
                pure_c=True,
                dll_with_static_runtime=False,
                build_policy=None,
                cwd=None,
                **kwargs):
    recipe = build_shared.get_recipe_path(cwd)

    builder = build_shared.get_builder(build_policy, cwd=cwd, **kwargs)
    if shared_option_name is None and build_shared.is_shared():
        shared_option_name = "%s:shared" % build_shared.get_name_from_recipe(
            recipe=recipe)

    builder.add_common_builds(shared_option_name=shared_option_name,
                              pure_c=pure_c,
                              dll_with_static_runtime=dll_with_static_runtime,
                              **kwargs)

    return builder
Пример #7
0
import os
from bincrafters import build_template_default, build_shared
from cpt.packager import ConanMultiPackager


class FakeLinuxPlatformInfo(object):
    @staticmethod
    def system():
        return "Linux"


if __name__ == "__main__":

    if "GCC_ON_MACOS" in os.environ:
        builder = ConanMultiPackager(platform_info=FakeLinuxPlatformInfo())
        shared_option_name = None
        if build_shared.is_shared():
            shared_option_name = "%s:shared" % build_shared.get_name_from_recipe()
        builder.add_common_builds(shared_option_name=shared_option_name, pure_c=True, dll_with_static_runtime=False)
        filtered_builds = []
        for settings, options, env_vars, build_requires, reference in builder.items:
            settings["compiler.libcxx"] = "libstdc++"
            if not settings["arch"] == "x86":
                filtered_builds.append([settings, options, env_vars, build_requires])
        builder.builds = filtered_builds
    else:
        builder = build_template_default.get_builder(pure_c=True)

    builder.run()
    
Пример #8
0
# Copyright (c) 2019, Kai Wolf - SW Consulting. All rights reserved.
# For the licensing terms see LICENSE file in the root directory. For the
# list of contributors see the AUTHORS file in the same directory.

from bincrafters import build_shared

if __name__ == "__main__":
    recipe = build_shared.get_recipe_path()
    bbuilder = build_shared.get_builder(build_policy=None)
    shared_option_name = None
    if (build_shared.is_shared()):
        shared_option_name = "%s:shared" % build_shared.get_name_from_recipe(
            recipe=recipe)

    bbuilder.add_common_builds(shared_option_name=shared_option_name,
                               pure_c=False,
                               dll_with_static_runtime=False)
    bbuilder.run()
Пример #9
0
def add_gflags_shared(build):
    if build_shared.is_shared():
        shared_option_name = "%s:shared" % build_shared.get_name_from_recipe()
        build.options.update(
            {'gflags:shared': build.options[shared_option_name]})
    return build