nikoladsp

Target.h

Nov 2nd, 2025
306
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.11 KB | Source Code | 0 0
  1. #ifndef CMVIS_TARGET_H
  2. #define CMVIS_TARGET_H
  3.  
  4. #include <string>
  5. #include <vector>
  6.  
  7.  
  8. class Target {
  9. public:
  10.     Target(const Target&) =default;
  11.     Target(Target&&) noexcept =default;
  12.     Target& operator=(const Target&) =default;
  13.     Target& operator=(Target&&) noexcept =default;
  14.     ~Target() =default;
  15.  
  16.     [[nodiscard]] const std::string& id() const noexcept;
  17.     [[nodiscard]] const std::string& name() const noexcept;
  18.     [[nodiscard]] const std::string& type() const noexcept;
  19.     [[nodiscard]] bool isGeneratorProvided() const noexcept;
  20.     [[nodiscard]] bool isImported() const noexcept;
  21.     [[nodiscard]] const std::vector<std::string>& dependencies() const noexcept;
  22.     [[nodiscard]] const std::vector<std::string>& sources() const noexcept;
  23.     [[nodiscard]] const std::vector<std::string>& includes() const noexcept;
  24.     [[nodiscard]] const std::vector<std::string>& defines() const noexcept;
  25.     [[nodiscard]] const std::vector<std::string>& compileFlags() const noexcept;
  26.     [[nodiscard]] const std::vector<std::string>& linkLibraries() const noexcept;
  27.     [[nodiscard]] bool hasArtifacts() const noexcept;
  28.  
  29. private:
  30.  
  31.     friend class TargetFactory;
  32.  
  33.     struct BuildData {
  34.         std::string id;
  35.         std::string name;
  36.         std::string type;
  37.         bool isGeneratorProvided{false};
  38.         bool isImported{false};
  39.         std::vector<std::string> dependencies;
  40.         std::vector<std::string> sources;
  41.         std::vector<std::string> includes;
  42.         std::vector<std::string> defines;
  43.         std::vector<std::string> compileFlags;
  44.         std::vector<std::string> linkLibraries;
  45.         bool hasArtifacts{false};
  46.     };
  47.  
  48.     explicit Target(BuildData&& data);
  49.  
  50.     std::string id_;
  51.     std::string name_;
  52.     std::string type_;
  53.     bool isGeneratorProvided_;
  54.     bool isImported_;
  55.     std::vector<std::string> dependencies_;
  56.     std::vector<std::string> sources_;
  57.     std::vector<std::string> includes_;
  58.     std::vector<std::string> defines_;
  59.     std::vector<std::string> compileFlags_;
  60.     std::vector<std::string> linkLibraries_;
  61.     bool hasArtifacts_;
  62. };
  63.  
  64. #endif
  65.  
Advertisement
Comments
  • pemew89
    32 days
    # text 0.12 KB | 0 0
    1. ⭐️UPTADE⭐️
    2. [GUIDE] Swapzon Exploits
    3. >>> docs.google.com/document/d/1x8ocHgung7PrR5Y8SOjIE7N8ihaKV1RSt73-r3sr_K4
Add Comment
Please, Sign In to add comment