|
Packit |
01d647 |
from conans import ConanFile
|
|
Packit |
01d647 |
from conans.tools import os_info
|
|
Packit |
01d647 |
from conans.model.version import Version
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
class Exiv2Conan(ConanFile):
|
|
Packit |
01d647 |
settings = 'os', 'compiler', 'build_type', 'arch'
|
|
Packit |
01d647 |
generators = 'cmake'
|
|
Packit |
01d647 |
options = {'unitTests': [True, False],
|
|
Packit |
01d647 |
'xmp': [True, False],
|
|
Packit |
01d647 |
'iconv': [True, False],
|
|
Packit |
01d647 |
'webready': [True, False],
|
|
Packit |
01d647 |
}
|
|
Packit |
01d647 |
default_options = ('unitTests=True',
|
|
Packit |
01d647 |
'xmp=False',
|
|
Packit |
01d647 |
'iconv=False',
|
|
Packit |
01d647 |
'webready=False',
|
|
Packit |
01d647 |
)
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
def configure(self):
|
|
Packit |
01d647 |
self.options['libcurl'].shared = False
|
|
Packit |
01d647 |
self.options['libcurl'].with_openssl = True
|
|
Packit |
01d647 |
self.options['gtest'].shared = True
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
def requirements(self):
|
|
Packit |
01d647 |
self.requires('zlib/1.2.11@conan/stable')
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
if os_info.is_windows and self.options.iconv:
|
|
Packit |
01d647 |
self.requires('libiconv/1.15@bincrafters/stable')
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
if self.options.unitTests:
|
|
Packit |
01d647 |
if self.settings.compiler == "Visual Studio" and Version(self.settings.compiler.version.value) <= "12":
|
|
Packit |
01d647 |
self.requires('gtest/1.8.0@bincrafters/stable')
|
|
Packit |
01d647 |
else:
|
|
Packit |
01d647 |
self.requires('gtest/1.8.1@bincrafters/stable')
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
if self.options.webready and not os_info.is_macos:
|
|
Packit |
01d647 |
# Note: This difference in versions is just due to a combination of corner cases in the
|
|
Packit |
01d647 |
# recipes and the OS & compiler versions used in Travis and AppVeyor. In normal cases we
|
|
Packit |
01d647 |
# could use any of the versions.Also note that the issue was not with libcurl but with
|
|
Packit |
01d647 |
# libopenssl (a transitive dependency)
|
|
Packit |
01d647 |
if os_info.is_windows:
|
|
Packit Service |
fb147c |
self.requires('libcurl/7.69.1')
|
|
Packit Service |
fb147c |
self.options['libcurl'].with_openssl = False
|
|
Packit Service |
fb147c |
self.options['libcurl'].with_winssl = True
|
|
Packit |
01d647 |
else:
|
|
Packit |
01d647 |
self.requires('libcurl/7.64.1@bincrafters/stable')
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
if self.options.xmp:
|
|
Packit |
01d647 |
self.requires('XmpSdk/2016.7@piponazo/stable') # from conan-piponazo
|
|
Packit |
01d647 |
else:
|
|
Packit |
01d647 |
self.requires('Expat/2.2.6@pix4d/stable')
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
def imports(self):
|
|
Packit |
01d647 |
self.copy('*.dll', dst='conanDlls', src='bin')
|
|
Packit |
01d647 |
self.copy('*.dylib', dst='bin', src='lib')
|