MCPcopy Create free account
hub / github.com/Kitware/CMake / ReadSettings

Method ReadSettings

Source/cmGraphVizWriter.cxx:197–270  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

195}
196
197void cmGraphVizWriter::ReadSettings(
198 std::string const& settingsFileName,
199 std::string const& fallbackSettingsFileName)
200{
201 cmake cm(cmState::Role::Script);
202 cm.GetCurrentSnapshot().SetDefaultDefinitions();
203 cmGlobalGenerator ggi(&cm);
204 cmMakefile mf(&ggi, cm.GetCurrentSnapshot());
205 std::unique_ptr<cmLocalGenerator> lg(ggi.CreateLocalGenerator(&mf));
206
207 std::string inFileName = settingsFileName;
208 if (!cmSystemTools::FileExists(inFileName)) {
209 inFileName = fallbackSettingsFileName;
210 if (!cmSystemTools::FileExists(inFileName)) {
211 return;
212 }
213 }
214
215 if (!mf.ReadListFile(inFileName)) {
216 cmSystemTools::Error("Problem opening GraphViz options file: " +
217 inFileName);
218 return;
219 }
220
221 std::cout << "Reading GraphViz options file: " << inFileName << std::endl;
222
223#define set_if_set(var, cmakeDefinition) \
224 do { \
225 cmValue value = mf.GetDefinition(cmakeDefinition); \
226 if (value) { \
227 (var) = *value; \
228 } \
229 } while (false)
230
231 set_if_set(this->GraphName, "GRAPHVIZ_GRAPH_NAME");
232 set_if_set(this->GraphHeader, "GRAPHVIZ_GRAPH_HEADER");
233 set_if_set(this->GraphNodePrefix, "GRAPHVIZ_NODE_PREFIX");
234
235#define set_bool_if_set(var, cmakeDefinition) \
236 do { \
237 cmValue value = mf.GetDefinition(cmakeDefinition); \
238 if (value) { \
239 (var) = cmIsOn(*value); \
240 } \
241 } while (false)
242
243 set_bool_if_set(this->GenerateForExecutables, "GRAPHVIZ_EXECUTABLES");
244 set_bool_if_set(this->GenerateForStaticLibs, "GRAPHVIZ_STATIC_LIBS");
245 set_bool_if_set(this->GenerateForSharedLibs, "GRAPHVIZ_SHARED_LIBS");
246 set_bool_if_set(this->GenerateForModuleLibs, "GRAPHVIZ_MODULE_LIBS");
247 set_bool_if_set(this->GenerateForInterfaceLibs, "GRAPHVIZ_INTERFACE_LIBS");
248 set_bool_if_set(this->GenerateForObjectLibs, "GRAPHVIZ_OBJECT_LIBS");
249 set_bool_if_set(this->GenerateForUnknownLibs, "GRAPHVIZ_UNKNOWN_LIBS");
250 set_bool_if_set(this->GenerateForCustomTargets, "GRAPHVIZ_CUSTOM_TARGETS");
251 set_bool_if_set(this->GenerateForExternals, "GRAPHVIZ_EXTERNAL_LIBS");
252 set_bool_if_set(this->GeneratePerTarget, "GRAPHVIZ_GENERATE_PER_TARGET");
253 set_bool_if_set(this->GenerateDependers, "GRAPHVIZ_GENERATE_DEPENDERS");
254

Callers 1

GenerateGraphVizMethod · 0.80

Calls 11

moveFunction · 0.85
SetDefaultDefinitionsMethod · 0.80
GetCurrentSnapshotMethod · 0.80
compileMethod · 0.80
push_backMethod · 0.80
ErrorClass · 0.70
FileExistsFunction · 0.50
CreateLocalGeneratorMethod · 0.45
ReadListFileMethod · 0.45
clearMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected