MCPcopy Create free account
hub / github.com/build-cpp/cmkr / Project

Class Project

include/project_parser.hpp:178–220  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

176extern const char *msvcRuntimeTypeNames[msvc_last];
177
178struct Project {
179 const Project *parent;
180
181 // This is the CMake version required to use all cmkr versions.
182 std::string cmake_version = "3.15";
183 std::string cmkr_include = "cmkr.cmake";
184 std::string build_dir = "build";
185 std::string generator;
186 std::string config;
187 bool allow_in_tree = false;
188 Condition<std::vector<std::string>> project_subdirs;
189 std::vector<std::string> cppflags;
190 std::vector<std::string> cflags;
191 std::vector<std::string> linkflags;
192 std::vector<std::string> gen_args;
193 std::vector<std::string> build_args;
194 std::string project_name;
195 std::string project_version;
196 std::string project_description;
197 ConditionVector project_languages;
198 bool project_allow_unknown_languages = false;
199 MsvcRuntimeType project_msvc_runtime = msvc_last;
200 Condition<std::string> cmake_before;
201 Condition<std::string> cmake_after;
202 ConditionVector include_before;
203 ConditionVector include_after;
204 std::vector<Variable> variables;
205 std::vector<Option> options;
206 std::vector<Package> packages;
207 Vcpkg vcpkg;
208 std::vector<Content> contents;
209 std::vector<Template> templates;
210 std::vector<Target> targets;
211 std::vector<Test> tests;
212 std::vector<Install> installs;
213 tsl::ordered_map<std::string, std::string> conditions;
214 std::vector<Subdir> subdirs;
215
216 Project(const Project *parent, const std::string &path, bool build);
217 const Project *root() const;
218 bool cmake_minimum_version(int major, int minor) const;
219 static bool is_condition_name(const std::string &name);
220};
221
222bool is_root_path(const std::string &path);
223

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected