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

Method GenerateExpectedTargetsCode

Source/cmExportCMakeConfigGenerator.cxx:224–262  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

222}
223
224void cmExportCMakeConfigGenerator::GenerateExpectedTargetsCode(
225 std::ostream& os, std::string const& expectedTargets)
226{
227 /* clang-format off */
228 os << "# Protect against multiple inclusion, which would fail when already "
229 "imported targets are added once more.\n"
230 "set(_cmake_targets_defined \"\")\n"
231 "set(_cmake_targets_not_defined \"\")\n"
232 "set(_cmake_expected_targets \"\")\n"
233 "foreach(_cmake_expected_target IN ITEMS " << expectedTargets << ")\n"
234 " list(APPEND _cmake_expected_targets \"${_cmake_expected_target}\")\n"
235 " if(TARGET \"${_cmake_expected_target}\")\n"
236 " list(APPEND _cmake_targets_defined \"${_cmake_expected_target}\")\n"
237 " else()\n"
238 " list(APPEND _cmake_targets_not_defined \"${_cmake_expected_target}\")\n"
239 " endif()\n"
240 "endforeach()\n"
241 "unset(_cmake_expected_target)\n"
242 "if(_cmake_targets_defined STREQUAL _cmake_expected_targets)\n"
243 " unset(_cmake_targets_defined)\n"
244 " unset(_cmake_targets_not_defined)\n"
245 " unset(_cmake_expected_targets)\n"
246 " unset(CMAKE_IMPORT_FILE_VERSION)\n"
247 " cmake_policy(POP)\n"
248 " return()\n"
249 "endif()\n"
250 "if(NOT _cmake_targets_defined STREQUAL \"\")\n"
251 " string(REPLACE \";\" \", \" _cmake_targets_defined_text \"${_cmake_targets_defined}\")\n"
252 " string(REPLACE \";\" \", \" _cmake_targets_not_defined_text \"${_cmake_targets_not_defined}\")\n"
253 " message(FATAL_ERROR \"Some (but not all) targets in this export "
254 "set were already defined.\\nTargets Defined: ${_cmake_targets_defined_text}\\n"
255 "Targets not yet defined: ${_cmake_targets_not_defined_text}\\n\")\n"
256 "endif()\n"
257 "unset(_cmake_targets_defined)\n"
258 "unset(_cmake_targets_not_defined)\n"
259 "unset(_cmake_expected_targets)\n"
260 "\n\n";
261 /* clang-format on */
262}
263
264void cmExportCMakeConfigGenerator::GenerateImportTargetCode(
265 std::ostream& os, cmGeneratorTarget const* target,

Callers 2

GenerateMainFileMethod · 0.80
GenerateMainFileMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected