Exemplo n.º 1
0
 def package_info(self):
     self.cpp_info.libs = tools.collect_libs(self)
     if self.settings.os == "Linux":
         self.cpp_info.libs.extend(["pthread", "rt"])
     elif self.settings.os == "Windows":
         self.cpp_info.libs.append("shlwapi")
     elif self.settings.os == "SunOS":
         self.cpp_info.libs.append("kstat")
Exemplo n.º 2
0
    def package_info(self):
        self.cpp_info.libs = tools.collect_libs(self)
        if self.settings.os == "Linux":
            self.cpp_info.libs.extend(["rt"])

        if self.settings.os == "Windows":
            self.cpp_info.libs.append('ws2_32')
            if self.options.with_openssl:
                self.cpp_info.defines.append('EVENT__HAVE_OPENSSL=1')
Exemplo n.º 3
0
 def package_info(self):
     self.cpp_info.libs = tools.collect_libs(self)
     if self.settings.os == "Linux":
         self.cpp_info.libs.extend(["dl", "rt", "pthread"])
         if self.options.enable_cxx:
             self.cpp_info.libs.append("m")
     elif self.settings.os == "Macos":
         self.cpp_info.exelinkflags.append("-framework Cocoa")
         self.cpp_info.sharedlinkflags = self.cpp_info.exelinkflags
         self.cpp_info.defines.append("USE_COCOA")
     elif self.settings.os == "Windows":
         self.cpp_info.libs.append("Ws2_32")
     if self.options.enable_websockets:
         self.cpp_info.defines.append("USE_WEBSOCKET")
     if self.options.enable_ipv6:
         self.cpp_info.defines.append("USE_IPV6")
     if not self.options.enable_ssl:
         self.cpp_info.defines.append("NO_SSL")
Exemplo n.º 4
0
 def package_info(self):
     self.cpp_info.libs = tools.collect_libs(self)
     if self.settings.os == "Windows":
         self.cpp_info.libs.extend(['shlwapi'])
     else:
         self.cpp_info.libs.extend(["pthread"])
Exemplo n.º 5
0
 def package_info(self):
     """Collect built libraries names and solve flatc path.
     """
     self.cpp_info.libs = tools.collect_libs(self)
     self.env_info.PATH.append(os.path.join(self.package_folder, "bin"))
Exemplo n.º 6
0
 def package_info(self):
     self.cpp_info.libs = tools.collect_libs(self)
Exemplo n.º 7
0
 def package_info(self):
     self.output.info("My cool package_info!")
     self.cpp_info.libs = tools.collect_libs(self)
Exemplo n.º 8
0
 def package_info(self):
     """Collect built libraries names and solve pthread path.
     """
     self.cpp_info.libs = tools.collect_libs(self)
     if self.settings.os == "Linux":
         self.cpp_info.libs.append("pthread")
Exemplo n.º 9
0
 def package_info(self):
     self.cpp_info.libs = tools.collect_libs(self)
     self.cpp_info.includedirs = ["include/wfmath-1.0"]
Exemplo n.º 10
0
 def package_info(self):
     self.cpp_info.libs = tools.collect_libs(self)
     if self.settings.os == "Linux":
         self.cpp_info.libs.extend(["pthread", "rt"])
     elif self.settings.os == "Windows":
         self.cpp_info.libs.append("shlwapi")
 def package_info(self):
     self.cpp_info.libs = tools.collect_libs(self)
     if self.settings.os == "Linux":
         self.cpp_info.libs.append('m')
Exemplo n.º 12
0
 def package_info(self):
     if self.options.header_only:
         self.info.header_only()
     else:
         self.cpp_info.libs = tools.collect_libs(self)
Exemplo n.º 13
0
 def package_info(self):
     self.cpp_info.libs = tools.collect_libs(self)
     self.cpp_info.includedirs.append(os.path.join("include", "SDL2"))
Exemplo n.º 14
0
 def package_info(self):
     self.cpp_info.libs = tools.collect_libs(self)
     self.cpp_info.includedirs = ['include/atk-1.0']
Exemplo n.º 15
0
 def package_info(self):
     lib_dir = '%s' % self.settings.build_type
     self.cpp_info.libdirs = [lib_dir]
     self.cpp_info.libs = tools.collect_libs(self, lib_dir)
Exemplo n.º 16
0
    def package_info(self):
        proj_version = tools.Version(self.version)
        cmake_config_filename = "proj" if proj_version >= "7.0.0" else "proj4"
        cmake_namespace = "PROJ" if proj_version >= "7.0.0" else "PROJ4"
        self.cpp_info.set_property("cmake_file_name", cmake_config_filename)
        self.cpp_info.set_property("cmake_target_name",
                                   "{}::proj".format(cmake_namespace))
        self.cpp_info.set_property("pkg_config_name", "proj")
        self.cpp_info.components["projlib"].set_property(
            "cmake_target_name", "{}::proj".format(cmake_namespace))
        self.cpp_info.components["projlib"].set_property(
            "pkg_config_name", "proj")

        self.cpp_info.filenames["cmake_find_package"] = cmake_config_filename
        self.cpp_info.filenames[
            "cmake_find_package_multi"] = cmake_config_filename
        self.cpp_info.names["cmake_find_package"] = cmake_namespace
        self.cpp_info.names["cmake_find_package_multi"] = cmake_namespace
        self.cpp_info.components["projlib"].names[
            "cmake_find_package"] = "proj"
        self.cpp_info.components["projlib"].names[
            "cmake_find_package_multi"] = "proj"

        self.cpp_info.components["projlib"].libs = tools.collect_libs(self)
        if self.settings.os in ["Linux", "FreeBSD"]:
            self.cpp_info.components["projlib"].system_libs.append("m")
            if self.options.threadsafe:
                self.cpp_info.components["projlib"].system_libs.append(
                    "pthread")
        elif self.settings.os == "Windows":
            if proj_version >= "7.0.0":
                self.cpp_info.components["projlib"].system_libs.append(
                    "shell32")
            if proj_version >= "7.1.0":
                self.cpp_info.components["projlib"].system_libs.append("Ole32")
        if not self.options.shared and tools.stdcpp_library(self):
            self.cpp_info.components["projlib"].system_libs.append(
                tools.stdcpp_library(self))
        self.cpp_info.components["projlib"].requires.extend(
            ["nlohmann_json::nlohmann_json", "sqlite3::sqlite3"])
        if self.options.get_safe("with_tiff"):
            self.cpp_info.components["projlib"].requires.append(
                "libtiff::libtiff")
        if self.options.get_safe("with_curl"):
            self.cpp_info.components["projlib"].requires.append(
                "libcurl::libcurl")
        if tools.Version(self.version) < "8.2.0":
            if self.options.shared and self._is_msvc:
                self.cpp_info.components["projlib"].defines.append(
                    "PROJ_MSVC_DLL_IMPORT")
        else:
            if not self.options.shared:
                self.cpp_info.components["projlib"].defines.append("PROJ_DLL=")

        res_path = os.path.join(self.package_folder, "res")
        self.output.info(
            "Prepending to PROJ_LIB environment variable: {}".format(res_path))
        self.runenv_info.prepend_path("PROJ_LIB", res_path)
        # TODO: to remove after conan v2, it allows to not break consumers still relying on virtualenv generator
        self.env_info.PROJ_LIB = res_path

        if self.options.build_executables:
            self.buildenv_info.prepend_path("PROJ_LIB", res_path)
            bin_path = os.path.join(self.package_folder, "bin")
            self.output.info(
                "Appending PATH environment variable: {}".format(bin_path))
            self.env_info.PATH.append(bin_path)
Exemplo n.º 17
0
    def package_info(self):
        self.cpp_info.libs = tools.collect_libs(self)
        self.cpp_info.defines = ["QUILL_FMT_EXTERNAL"]

        if self.settings.os == "Linux":
            self.cpp_info.system_libs.append("pthread")
 def package_info(self):
     self.cpp_info.libs = tools.collect_libs(self)
     self.cpp_info.cppflags = ["-pthread"]
Exemplo n.º 19
0
 def package_info(self):
     self.cpp_info.libs = tools.collect_libs(self)
     if self.settings.os == "Linux":
         self.cpp_info.system_libs = ["pthread"]
     if self.settings.os == "Windows":
         self.cpp_info.system_libs = ["ws2_32"]
Exemplo n.º 20
0
 def package_info(self):
     self.cpp_info.libs = tools.collect_libs(self)
     if not self.options.shared:
         self.cpp_info.defines.append("FREEIMAGE_LIB")
Exemplo n.º 21
0
 def package_info(self):
     self.cpp_info.libs = tools.collect_libs(self)
     if self.settings.os == "Linux":
         self.cpp_info.libs.append("dl")
     self.cpp_info.defines = ["PION_STATIC_LINKING"]
Exemplo n.º 22
0
 def package_info(self):
     self.cpp_info.libs = tools.collect_libs(self)
     if self.settings.os == "Linux":
         self.cpp_info.system_libs = ["m"]
Exemplo n.º 23
0
 def package_info(self):
     self.cpp_info.libs = tools.collect_libs(self)
     if self.settings.os == "Linux":
         self.cpp_info.libs.append("m")
     self.env_info.PATH.append(os.path.join(self.package_folder, "bin"))
Exemplo n.º 24
0
    def package_info(self):
        gen_libs = [] if self.options.header_only else tools.collect_libs(self)

        # List of lists, so if more than one matches the lib like serialization and wserialization
        # both will be added to the list
        ordered_libs = [[] for _ in range(len(lib_list))]

        # The order is important, reorder following the lib_list order
        missing_order_info = []
        for real_lib_name in gen_libs:
            for pos, alib in enumerate(lib_list):
                if os.path.splitext(real_lib_name)[0].split("-")[0].endswith(
                        alib):
                    ordered_libs[pos].append(real_lib_name)
                    break
            else:
                # self.output.info("Missing in order: %s" % real_lib_name)
                if "_exec_monitor" not in real_lib_name:  # https://github.com/bincrafters/community/issues/94
                    missing_order_info.append(
                        real_lib_name)  # Assume they do not depend on other

        # Flat the list and append the missing order
        self.cpp_info.libs = [
            item for sublist in ordered_libs for item in sublist if sublist
        ] + missing_order_info

        if self.options.without_test:  # remove boost_unit_test_framework
            self.cpp_info.libs = [
                lib for lib in self.cpp_info.libs if "unit_test" not in lib
            ]

        self.output.info("LIBRARIES: %s" % self.cpp_info.libs)
        self.output.info("Package folder: %s" % self.package_folder)

        if not self.options.header_only and self.options.shared:
            self.cpp_info.defines.append("BOOST_ALL_DYN_LINK")

        if self.options.system_no_deprecated:
            self.cpp_info.defines.append("BOOST_SYSTEM_NO_DEPRECATED")

        if self.options.asio_no_deprecated:
            self.cpp_info.defines.append("BOOST_ASIO_NO_DEPRECATED")

        if self.options.filesystem_no_deprecated:
            self.cpp_info.defines.append("BOOST_FILESYSTEM_NO_DEPRECATED")

        if self.options.segmented_stacks:
            self.cpp_info.defines.extend(
                ["BOOST_USE_SEGMENTED_STACKS", "BOOST_USE_UCONTEXT"])

        if self.settings.os != "Android":
            if self._gnu_cxx11_abi:
                self.cpp_info.defines.append("_GLIBCXX_USE_CXX11_ABI=%s" %
                                             self._gnu_cxx11_abi)

        if not self.options.header_only:
            if self.options.error_code_header_only:
                self.cpp_info.defines.append("BOOST_ERROR_CODE_HEADER_ONLY")

            if not self.options.without_python:
                if not self.options.shared:
                    self.cpp_info.defines.append("BOOST_PYTHON_STATIC_LIB")

            if self._is_msvc:
                if not self.options.magic_autolink:
                    # DISABLES AUTO LINKING! NO SMART AND MAGIC DECISIONS THANKS!
                    self.cpp_info.defines.append("BOOST_ALL_NO_LIB")
                    self.output.info(
                        "Disabled magic autolinking (smart and magic decisions)"
                    )
                else:
                    if self.options.layout == "system":
                        self.cpp_info.defines.append("BOOST_AUTO_LINK_SYSTEM")
                    elif self.options.layout == "tagged":
                        self.cpp_info.defines.append("BOOST_AUTO_LINK_TAGGED")
                    self.output.info(
                        "Enabled magic autolinking (smart and magic decisions)"
                    )

                # https://github.com/conan-community/conan-boost/issues/127#issuecomment-404750974
                self.cpp_info.libs.append("bcrypt")
            elif self.settings.os == "Linux":
                # https://github.com/conan-community/conan-boost/issues/135
                self.cpp_info.libs.append("pthread")

        self.env_info.BOOST_ROOT = self.package_folder
        self.cpp_info.name = "Boost"
Exemplo n.º 25
0
 def package_info(self):
     if not self.options.shared:
         self.cpp_info.defines.append('LZMA_API_STATIC')
     self.cpp_info.libs = tools.collect_libs(self)
Exemplo n.º 26
0
 def package_info(self):
     self.cpp_info.names["cmake_find_package"] = "LibRHash"
     self.cpp_info.names["cmake_find_package_multi"] = "LibRHash"
     self.cpp_info.libs = tools.collect_libs(self)
Exemplo n.º 27
0
 def package_info(self):
     self.cpp_info.libs = tools.collect_libs(self)
     self.cpp_info.resdirs = ["data"]
Exemplo n.º 28
0
 def package_info(self):
     self.cpp_info.libs = tools.collect_libs(self)
     if not self.cpp_info.libs:
         raise Exception("No libs collected")
Exemplo n.º 29
0
 def package_info(self):
     """Collect built libraries names and solve flatc path.
     """
     self.cpp_info.libs = tools.collect_libs(self)
     self.user_info.flatc = os.path.join(self.package_folder, "bin", "flatc")
Exemplo n.º 30
0
 def package_info(self):
     self.cpp_info.libs = tools.collect_libs(self)
Exemplo n.º 31
0
 def package_info(self):
     self.cpp_info.libs = tools.collect_libs(self)
     if not self.options.shared:
         self.cpp_info.defines.append("CARES_STATICLIB")
     if self.settings.os == "Windows":
         self.cpp_info.libs.append("ws2_32")
Exemplo n.º 32
0
 def package_info(self):
     self.cpp_info.libs = tools.collect_libs(self, folder="libtorch")
Exemplo n.º 33
0
 def package_info(self):
     self.cpp_info.builddirs = ["lib/pkgconfig"]
     if not self.options.shared:
         self.cpp_info.defines.append('LZMA_API_STATIC')
     self.cpp_info.libs = tools.collect_libs(self)
Exemplo n.º 34
0
    def package_info(self):

        if self.settings.os == 'Linux':
            version_tokens = self.version.split('.')
            version_major = version_tokens[0]
            version_minor = version_tokens[1]
            version_suffix_major_minor = '-%s.%s' % (version_major,
                                                     version_minor)
            unicode = 'u' if self.options.unicode else ''
            debug = 'd' if self.settings.build_type == 'Debug' else ''
            if self.settings.os == 'Linux':
                prefix = 'wx_'
                toolkit = 'gtk2'
                version = ''
                suffix = version_suffix_major_minor
            elif self.settings.os == 'Macos':
                prefix = 'wx_'
                toolkit = 'osx_cocoa'
                version = ''
                suffix = version_suffix_major_minor
            elif self.settings.os == 'Windows':
                prefix = 'wx'
                toolkit = 'msw'
                version = '%s%s' % (version_major, version_minor)
                suffix = ''

            def base_library_pattern(library):
                return '{prefix}base{version}{unicode}{debug}_%s{suffix}' % library

            def library_pattern(library):
                return '{prefix}{toolkit}{version}{unicode}{debug}_%s{suffix}' % library

            libs = [
                'wxregex{version}{unicode}{debug}{suffix}',
                '{prefix}base{version}{unicode}{debug}{suffix}',
                library_pattern('core'),
                library_pattern('adv')
            ]
            if self.options.sockets:
                libs.append(base_library_pattern('net'))
            if self.options.xml:
                libs.append(base_library_pattern('xml'))
            if self.options.aui:
                libs.append(library_pattern('aui'))
            if self.options.opengl:
                libs.append(library_pattern('gl'))
            if self.options.html:
                libs.append(library_pattern('html'))
            if self.options.mediactrl:
                libs.append(library_pattern('media'))
            if self.options.propgrid:
                libs.append(library_pattern('propgrid'))
            if self.options.debugreport:
                libs.append(library_pattern('qa'))
            if self.options.ribbon:
                libs.append(library_pattern('ribbon'))
            if self.options.richtext:
                libs.append(library_pattern('richtext'))
            if self.options.stc:
                #if not self.options.shared:
                #    scintilla_suffix = '{debug}' if self.settings.os == "Windows" else '{suffix}'
                #    libs.append('wxscintilla' + scintilla_suffix)
                libs.append(library_pattern('stc'))
            if self.options.webview:
                libs.append(library_pattern('webview'))
            if self.options.xrc:
                libs.append(library_pattern('xrc'))
            for lib in reversed(libs):
                self.cpp_info.libs.append(
                    lib.format(prefix=prefix,
                               toolkit=toolkit,
                               version=version,
                               unicode=unicode,
                               debug=debug,
                               suffix=suffix))
        elif self.settings.os == 'Windows':
            self.cpp_info.libs = tools.collect_libs(self)

        self.cpp_info.defines.append('wxUSE_GUI=1')
        if self.settings.build_type == 'Debug':
            self.cpp_info.defines.append('__WXDEBUG__')
        if self.options.shared:
            self.cpp_info.defines.append('WXUSINGDLL')
        if self.settings.os == 'Linux':
            self.cpp_info.defines.append('__WXGTK__')
            self.add_libraries_from_pc('gtk+-2.0')
            self.add_libraries_from_pc('x11')
            self.cpp_info.libs.extend(['dl', 'pthread', 'SM'])
        elif self.settings.os == 'Macos':
            self.cpp_info.defines.extend(
                ['__WXMAC__', '__WXOSX__', '__WXOSX_COCOA__'])
            for framework in [
                    'Carbon', 'Cocoa', 'AudioToolbox', 'OpenGL', 'AVKit',
                    'AVFoundation', 'Foundation', 'IOKit',
                    'ApplicationServices', 'CoreText', 'CoreGraphics',
                    'CoreServices', 'CoreMedia', 'Security', 'ImageIO',
                    'System', 'WebKit'
            ]:
                self.cpp_info.exelinkflags.append('-framework %s' % framework)
            self.cpp_info.sharedlinkflags = self.cpp_info.exelinkflags
        elif self.settings.os == 'Windows':
            # see cmake/init.cmake
            compiler_prefix = {
                'Visual Studio': 'vc',
                'gcc': 'gcc',
                'clang': 'clang'
            }.get(str(self.settings.compiler))

            arch_suffix = '_x64' if self.settings.compiler == 'Visual Studio' and self.settings.arch == 'x86_64' else ''
            # use the following code in next release:
            # arch_suffix = '_x64' if self.settings.arch == 'x86_64' else ''
            lib_suffix = '_dll' if self.options.shared else '_lib'
            libdir = '%s%s%s' % (compiler_prefix, arch_suffix, lib_suffix)
            libdir = os.path.join('lib', libdir)
            self.cpp_info.bindirs.append(libdir)
            self.cpp_info.libdirs.append(libdir)
            self.cpp_info.defines.append('__WXMSW__')
            # disable annoying auto-linking
            self.cpp_info.defines.extend([
                'wxNO_NET_LIB', 'wxNO_XML_LIB', 'wxNO_REGEX_LIB',
                'wxNO_ZLIB_LIB', 'wxNO_JPEG_LIB', 'wxNO_PNG_LIB',
                'wxNO_TIFF_LIB', 'wxNO_ADV_LIB', 'wxNO_HTML_LIB',
                'wxNO_GL_LIB', 'wxNO_QA_LIB', 'wxNO_XRC_LIB', 'wxNO_AUI_LIB',
                'wxNO_PROPGRID_LIB', 'wxNO_RIBBON_LIB', 'wxNO_RICHTEXT_LIB',
                'wxNO_MEDIA_LIB', 'wxNO_STC_LIB', 'wxNO_WEBVIEW_LIB'
            ])
            self.cpp_info.libs.extend([
                'kernel32', 'user32', 'gdi32', 'comdlg32', 'winspool',
                'shell32', 'comctl32', 'ole32', 'oleaut32', 'uuid', 'wininet',
                'rpcrt4', 'winmm', 'advapi32', 'wsock32'
            ])
            # Link a few libraries that are needed when using gcc on windows
            if self.settings.compiler == 'gcc':
                self.cpp_info.libs.extend(
                    ['uxtheme', 'version', 'shlwapi', 'oleacc'])
        if self.settings.compiler == 'Visual Studio':
            self.cpp_info.includedirs.append(os.path.join('include', 'msvc'))
        elif self.settings.os != 'Windows':
            unix_include_path = os.path.join(
                "include", "wx{}".format(version_suffix_major_minor))
            self.cpp_info.includedirs = [unix_include_path
                                         ] + self.cpp_info.includedirs
Exemplo n.º 35
0
 def collect_libs(self, folder="lib"):
     self.output.warn("Use 'self.collect_libs' is deprecated, "
                      "use tools.collect_libs(self) instead")
     return tools.collect_libs(self, folder=folder)
Exemplo n.º 36
0
 def package_info(self):
     """Collect built libraries names and solve flatc path.
     """
     self.cpp_info.libs = tools.collect_libs(self)
     self.env_info.PATH.append(os.path.join(self.package_folder, "bin"))
Exemplo n.º 37
0
 def package_info(self):
     self.cpp_info.libs = [lib for lib in tools.collect_libs(self)]
     self.cpp_info.includedirs.append('include')