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(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 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
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()
#!/usr/bin/env python # -*- coding: utf-8 -*- from conan.packager import ConanMultiPackager from bincrafters import build_shared if __name__ == "__main__": name = build_shared.get_name_from_recipe() username, channel, version, login_username = build_shared.get_conan_vars() channel = channel or "unstable" is_unstable = (channel == "unstable") reference = "{0}/{1}".format(name, version) upload = "https://api.bintray.com/conan/{0}/opensource".format( username.lower()) bincrafters = "https://api.bintray.com/conan/bincrafters/public-conan" vthiery = "https://api.bintray.com/conan/vthiery/conan-packages" builder = ConanMultiPackager( username=username, channel=channel, reference=reference, upload=upload, remotes=[upload, bincrafters, vthiery], upload_only_when_stable=is_unstable, # docker_entry_script='sudo apt-get -qq update && sudo apt-get -qq install -y curl', stable_branch_pattern="stable/*") builder.add_common_builds(shared_option_name=name + ":shared", pure_c=False) for build in builder.items:
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