Skip to content

Instantly share code, notes, and snippets.

@jgsogo
Last active October 29, 2020 12:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jgsogo/7ba865ac3716fd0605b0feefab9815de to your computer and use it in GitHub Desktop.
Save jgsogo/7ba865ac3716fd0605b0feefab9815de to your computer and use it in GitHub Desktop.
[requires]
middle/test
middle2/test
from conans import ConanFile
class ProxyLibjpeg(ConanFile):
name = "libjpeg-proxy"
version = "any"
options = {'libjpeg': ['libjpeg', 'libjpeg-turbo']}
default_options = {'libjpeg': 'libjpeg'}
def requirements(self):
if self.options.libjpeg == 'libjpeg':
self.requires('libjpeg/9d')
elif self.options.libjpeg == 'libjpeg-turbo':
self.requires('libjpeg-turbo/2.0.5')
from conans import ConanFile
class LibMiddle(ConanFile):
name = 'middle'
def requirements(self):
self.requires('libjpeg-proxy/any')
self.requires('libjpeg/9c', override=True) # In case 'libjpeg' is choosen
self.requires('libjpeg-turbo/2.0.4', override=True) # In case 'libjpeg-turbo' is choosen
from conans import ConanFile
class LibMiddle(ConanFile):
name = 'middle2'
def requirements(self):
self.requires('libjpeg-proxy/any')
from conans import ConanFile
class LibMiddle(ConanFile):
name = 'middle3'
def requirements(self):
self.requires('libjpeg/9c') # Only libjpeg supported for whatever reason
conan create libjpeg-proxy.py libjpeg-proxy/any@
conan create libmiddle.py middle/test@ --build=missing
conan create libmiddle2.py middle2/test@ --build=missing
conan create libmiddle3.py middle3/test@ --build=missing
conan install conanfile.txt --build=missing
conan install conanfile.txt -o libjpeg-proxy:libjpeg=libjpeg-turbo --build=missing
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment