🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
Target.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include <vector>
25#include <string>
26
27AST_NAMESPACE_BEGIN
28
34using StringVector = std::vector<std::string>;
35
39class AST_UTIL_API Target
40{
41public: // 配置接口
42
50
51 Target() = default;
52
56 Target(StringView name);
57
58 ~Target() = default;
59
63 const std::string& name() const { return name_; }
64
68 Target& setName(StringView name);
69
73 EKind kind() const { return kind_; }
74
78 Target& setKind(StringView kind);
79
83 Target& setKind(EKind kind);
84
85
89 const StringVector& files() const { return files_; }
90
94 Target& addFiles(const std::vector<std::string>& files);
95
96
100 const StringVector& includeDirs() const { return includeDirs_; }
101
105 Target& addIncludeDirs(const std::vector<std::string>& dirs);
106
107
111 const StringVector& linkDirs() const { return linkDirs_; }
112
116 Target& addLinkDirs(const std::vector<std::string>& dirs);
117
118
122 const StringVector& links() const { return links_; }
123
127 Target& addLinks(const std::vector<std::string>& libs);
128
129
133 const StringVector& defines() const { return defines_; }
134
138 Target& addDefines(const std::vector<std::string>& defines);
139
143 // std::string fileName() const;
144
146 // std::string targetDir() const;
147
151 // std::string targetFile() const;
152
153public: // 编译、链接、构建、运行、打包等接口
154
158 errc_t build();
159
162 errc_t run();
163
164protected:
165 std::string name_;
167 std::vector<std::string> files_;
168 std::vector<std::string> includeDirs_;
169 std::vector<std::string> linkDirs_;
170 std::vector<std::string> defines_;
171 std::vector<std::string> links_;
172};
173
176AST_NAMESPACE_END
目标
定义 Target.hpp:40
EKind kind() const
获取目标类型
定义 Target.hpp:73
std::vector< std::string > links_
链接库列表
定义 Target.hpp:171
const std::string & name() const
获取目标名称
定义 Target.hpp:63
std::string name_
目标名称
定义 Target.hpp:165
const StringVector & links() const
获取链接库列表
定义 Target.hpp:122
const StringVector & linkDirs() const
获取链接目录列表
定义 Target.hpp:111
EKind kind_
目标类型
定义 Target.hpp:166
std::vector< std::string > includeDirs_
包含目录列表
定义 Target.hpp:168
EKind
目标类型
定义 Target.hpp:45
@ eShared
共享库目标
定义 Target.hpp:46
@ eBinary
可执行文件目标
定义 Target.hpp:48
@ eStatic
静态库目标
定义 Target.hpp:47
const StringVector & defines() const
获取宏定义列表
定义 Target.hpp:133
const StringVector & files() const
获取源文件列表
定义 Target.hpp:89
const StringVector & includeDirs() const
获取包含目录列表
定义 Target.hpp:100
std::vector< std::string > linkDirs_
链接目录列表
定义 Target.hpp:169
std::vector< std::string > files_
源文件列表
定义 Target.hpp:167
std::vector< std::string > defines_
宏定义列表
定义 Target.hpp:170