]> git.tdb.fi Git - builder.git/blobdiff - source/builder.h
Add a separate set of functions for registering and looking up targets by path
[builder.git] / source / builder.h
index 4cfe0c158e3b111546a11d9782af2ae0bbce21e7..44bf878b4efa1e1b24d4793b669a1b08e5b342dc 100644 (file)
@@ -71,6 +71,7 @@ private:
        bool no_externals;
 
        TargetMap targets;
+       TargetMap targets_by_path;
        TargetList new_tgts;
        TargetMap includes;
        TargetMap libraries;
@@ -121,6 +122,8 @@ public:
        /** Looks up a target by name.  Returns 0 if no such target exists. */
        Target *get_target(const std::string &) const;
 
+       FileTarget *get_target_by_path(const Msp::FS::Path &) const;
+
        const TargetMap &get_targets() const { return targets; }
 
        /** Tries to locate a header based on location of including file and include
@@ -145,8 +148,8 @@ public:
 
        /** Adds a target to both the target map and the new target queue.  Called
        from Target constructor. */
-       void add_target(FileTarget *);
-       void add_target(VirtualTarget *);
+       void add_target(Target *);
+       void register_path(const Msp::FS::Path &, FileTarget *);
 
        void problem(const std::string &, const std::string &);