ExternalConfiguration¶
-
class
lsst.sconsUtils.dependencies.
ExternalConfiguration
(cfgFile, headers=(), libs=None, eupsProduct=None)¶ Bases:
lsst.sconsUtils.dependencies.Configuration
A Configuration subclass for external (third-party) packages.
Aliased as
lsst.sconsUtils.ExternalConfiguration
.ExternalConfiguration doesn’t assume the package uses SWIG or Doxygen, and tells SCons not to consider header files this package provides as dependencies (by setting XCPPPATH instead of CPPPATH). This means things SCons won’t waste time looking for changes in it every time you build. Header files in external packages are treated as “system headers”: that is, most warnings generated when they are being compiled are suppressed.
Parameters: - cfgFile :
str
The name of the calling
.cfg
file, usually just passed in with the special variable__file__
. This will be parsed to extract the package name and root.- headers :
list
, optional A list of headers provided by the package, to be used in autoconf-style tests.
- libs :
list
ordict
, optional A list or dictionary of libraries provided by the package. If a dictionary is provided,
libs["main"]
should contain a list of regular libraries provided by the library. Other keys are “python” and “test”, which refer to libraries that are only linked against compiled Python modules and unit tests, respectively. If a list is provided, the list is used as “main”. These are used both for autoconf-style tests and to support env.getLibs(…), which recursively computes the libraries a package must be linked with.- eupsProduct :
str
, optional The EUPS product being built.
Methods Summary
addCustomTests
(tests)Add custom SCons configuration tests to the Configure Context passed to the configure() method. configure
(conf, packages[, check, build])Update an SCons environment to make use of the package. getEupsData
(eupsProduct)Get EUPS version and product directory for named product. parseFilename
(cfgFile)Parse the name of a .cfg file and return package name and root. Methods Documentation
-
addCustomTests
(tests)¶ Add custom SCons configuration tests to the Configure Context passed to the configure() method.
This needs to be done up-front so we can pass in a dictionary of custom tests when calling
env.Configure()
, and use the same configure context for all packages.Parameters: - tests :
dict
A dictionary to add custom tests to. This will be passed as the custom_tests argument to
env.Configure()
.
- tests :
-
configure
(conf, packages, check=False, build=True)¶ Update an SCons environment to make use of the package.
Parameters: - conf :
SCons.Configure
An SCons Configure context. The SCons Environment conf.env should be updated by the configure function.
- packages :
dict
A dictionary containing the configuration modules of all dependencies (or
None
if the dependency was optional and was not found). The<module>.config.configure(...)
method will have already been called on all dependencies.- check :
bool
, optional If True, perform autoconf-style tests to verify that key components are in fact in place.
- build :
bool
, optional If True, this is the package currently being built, and packages in “buildRequired” and “buildOptional” dependencies will also be present in the packages dict.
- conf :
- cfgFile :