PackageSpecification Class
The PackageSpecification class is envisioned as holding all of the
details about how to build a package (“package” being a catchall for a
dependency or the package that the CMaize build system is being written
for). This includes things like where the source code lives, the version
to build, and specific options for configuring and compiling.
PackageSpecification instances will ultimately be used to request
packages from the PackageManager and inform CMaizeTarget classes.
Usage
Creating a PackageSpecification
One constructor is provided to create an instance of PackageSpecification,
which will contain some default values determined for your system, with:
# Create PackageSpecification object
PackageSpecification(ps_obj)
Modifying a PackageSpecification
After a default instance is created, most attributes should be accessed and
modified using CMakePPLang object getters and setters. However, to ensure that all version
component variables are set correctly, you should use the
PackageSpecification(set_version method to set a package version.
At the moment, the configure_options and compile_options attributes
are not populated by PackageSpecification. These maps are available for
classes using PackageSpecification to populate with relevant information.