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

Function FindCMakeResourcesInBuildTree

Source/cmSystemTools.cxx:3114–3139  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3112}
3113
3114void FindCMakeResourcesInBuildTree(std::string const& exe_dir)
3115{
3116 // Build tree has "<build>/bin[/<config>]/cmake" and
3117 // "<build>/CMakeFiles/CMakeSourceDir.txt".
3118 std::string dir = cmSystemTools::GetFilenamePath(exe_dir);
3119 std::string src_dir_txt = cmStrCat(dir, "/CMakeFiles/CMakeSourceDir.txt");
3120 cmsys::ifstream fin(src_dir_txt.c_str());
3121 std::string src_dir;
3122 if (fin && cmSystemTools::GetLineFromStream(fin, src_dir) &&
3123 cmSystemTools::FileIsDirectory(src_dir)) {
3124 cmSystemToolsCMakeRoot = src_dir;
3125 } else {
3126 dir = cmSystemTools::GetFilenamePath(dir);
3127 src_dir_txt = cmStrCat(dir, "/CMakeFiles/CMakeSourceDir.txt");
3128 cmsys::ifstream fin2(src_dir_txt.c_str());
3129 if (fin2 && cmSystemTools::GetLineFromStream(fin2, src_dir) &&
3130 cmSystemTools::FileIsDirectory(src_dir)) {
3131 cmSystemToolsCMakeRoot = src_dir;
3132 }
3133 }
3134 if (!cmSystemToolsCMakeRoot.empty() && cmSystemToolsHTMLDoc.empty() &&
3135 cmSystemTools::FileExists(
3136 cmStrCat(dir, "/Utilities/Sphinx/html/index.html"))) {
3137 cmSystemToolsHTMLDoc = cmStrCat(dir, "/Utilities/Sphinx/html");
3138 }
3139}
3140#endif
3141}
3142

Callers 1

FindCMakeResourcesMethod · 0.85

Calls 4

c_strMethod · 0.80
cmStrCatFunction · 0.70
FileExistsFunction · 0.50
emptyMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…