6 #include <msp/datafile/objectloader.h>
10 Stores information about compiler command line parameters in a more abstract
11 form. Allows combining with other BuildInfos to support package dependencies.
16 class Loader: public Msp::DataFile::ObjectLoader<BuildInfo>
21 void incpath(const std::string &);
22 void define(const std::string &, const std::string &);
23 void libpath(const std::string &);
24 void library(const std::string &);
25 void warning(const std::string &);
30 LOCAL, //< Include all information
31 DEPENDENCY, //< Include all but code generation options
32 CHAINED //< Include only compilation options
35 typedef std::map<std::string, std::string> DefineMap;
49 /** Updates the BuildInfo from another one. Lists are concatenated, with
50 the first occurrence of each item preserved. Scalars are overwritten.
52 The update level determines what information is updated. */
53 void update_from(const BuildInfo &, UpdateLevel = LOCAL);
56 /** Makes sure there are no duplicate entries in the lists. For warnings,
57 contradicting flags are eliminated and the last one stays in effect. */