| 1898 | } |
| 1899 | |
| 1900 | bool cmGlobalGenerator::AddHeaderSetVerification() |
| 1901 | { |
| 1902 | for (auto const& gen : this->LocalGenerators) { |
| 1903 | // Because AddHeaderSetVerification() adds generator targets, we need to |
| 1904 | // cache the existing list of generator targets before starting. |
| 1905 | std::vector<cmGeneratorTarget*> genTargets; |
| 1906 | genTargets.reserve(gen->GetGeneratorTargets().size()); |
| 1907 | for (auto const& tgt : gen->GetGeneratorTargets()) { |
| 1908 | genTargets.push_back(tgt.get()); |
| 1909 | } |
| 1910 | |
| 1911 | for (auto* tgt : genTargets) { |
| 1912 | if (!tgt->AddHeaderSetVerification()) { |
| 1913 | return false; |
| 1914 | } |
| 1915 | } |
| 1916 | } |
| 1917 | |
| 1918 | cmTarget* allVerifyInterfaceTarget = |
| 1919 | this->Makefiles.front()->FindTargetToUse( |
| 1920 | "all_verify_interface_header_sets", |
| 1921 | { cmStateEnums::TargetDomain::NATIVE }); |
| 1922 | if (allVerifyInterfaceTarget) { |
| 1923 | this->LocalGenerators.front()->AddGeneratorTarget( |
| 1924 | cm::make_unique<cmGeneratorTarget>(allVerifyInterfaceTarget, |
| 1925 | this->LocalGenerators.front().get())); |
| 1926 | } |
| 1927 | cmTarget* allVerifyPrivateTarget = this->Makefiles.front()->FindTargetToUse( |
| 1928 | "all_verify_private_header_sets", { cmStateEnums::TargetDomain::NATIVE }); |
| 1929 | if (allVerifyPrivateTarget) { |
| 1930 | this->LocalGenerators.front()->AddGeneratorTarget( |
| 1931 | cm::make_unique<cmGeneratorTarget>(allVerifyPrivateTarget, |
| 1932 | this->LocalGenerators.front().get())); |
| 1933 | } |
| 1934 | |
| 1935 | if (allVerifyInterfaceTarget || allVerifyPrivateTarget) { |
| 1936 | cmTarget* allVerifyTarget = |
| 1937 | this->GetMakefiles().front()->AddNewUtilityTarget( |
| 1938 | "all_verify_header_sets", true); |
| 1939 | this->LocalGenerators.front()->AddGeneratorTarget( |
| 1940 | cm::make_unique<cmGeneratorTarget>(allVerifyTarget, |
| 1941 | this->LocalGenerators.front().get())); |
| 1942 | if (allVerifyInterfaceTarget) { |
| 1943 | allVerifyTarget->AddUtility(allVerifyInterfaceTarget->GetName(), false); |
| 1944 | } |
| 1945 | if (allVerifyPrivateTarget) { |
| 1946 | allVerifyTarget->AddUtility(allVerifyPrivateTarget->GetName(), false); |
| 1947 | } |
| 1948 | } |
| 1949 | |
| 1950 | return true; |
| 1951 | } |
| 1952 | |
| 1953 | void cmGlobalGenerator::CreateFileGenerateOutputs() |
| 1954 | { |
no test coverage detected