In https://github.com/WebKit/WebKit/pull/12173 I painstakingly discovered a couple things: * The file names following MAIN_DEPENDENCY can contain a typo without any bot noticing. * Merging MAIN_DEPENDENCY into DEPENDS makes WebKitGTK and WinCairo happy. (Thanks to Philn for the suggestion.) I think that suggests deprecating MAIN_DEPENDENCY, but CMake experts would ideally make that call.
MAIN_DEPENDENCY takes only a single argument. https://cmake.org/cmake/help/latest/command/add_custom_command.html But, original code specifies multiple files to MAIN_DEPENDENCY. CMake ignored all of them but the last one xmlnsattrs.in. > ############################################# > # Custom command for WebCore\DerivedSources\TagName.cpp > > build WebCore\DerivedSources\TagName.cpp WebCore\DerivedSources\TagName.h | ${cmake_ninja_workdir}WebCore\DerivedSources\TagName.cpp ${cmake_ninja_workdir}WebCore\DerivedSources\TagName.h: CUSTOM_COMMAND C$:\home\webkit\gb\Source\WebCore\xml\xmlnsattrs.in C$:\home\webkit\gb\Source\WebCore\bindings\scripts\Hasher.pm C$:\home\webkit\gb\Source\WebCore\bindings\scripts\StaticString.pm C$:\home\webkit\gb\Source\WebCore\dom\make_names.pl C$:\home\webkit\gb\Source\WebCore\bindings\scripts\CodeGenerator.pm C$:\home\webkit\gb\Source\WebCore\bindings\scripts\CodeGeneratorJS.pm C$:\home\webkit\gb\Source\WebCore\bindings\scripts\IDLParser.pm C$:\home\webkit\gb\Source\WebCore\bindings\scripts\InFilesParser.pm C$:\home\webkit\gb\Source\WebCore\bindings\scripts\preprocessor.pm || Source\JavaScriptCore\Bytecodes Source\JavaScriptCore\JSCBuiltins Source\JavaScriptCore\JavaScriptCoreSharedScripts Source\JavaScriptCore\JavaScriptCore_CopyHeaders Source\JavaScriptCore\JavaScriptCore_CopyPrivateHeaders Source\JavaScriptCore\LowLevelInterpreterLib Source\ThirdParty\ANGLE\ANGLE-webgl-headers Source\ThirdParty\ANGLE\LibGLESv2EntryPointsHeaders Source\ThirdParty\ANGLE\include\ANGLEWebGLHeaders Source\WTF\wtf\WTF_CopyHeaders Source\WTF\wtf\WTF_CopyPreferences Source\WebCore\PAL\pal\PAL Source\WebCore\PAL\pal\PAL_CopyHeaders Source\WebCore\WebCoreBindings Source\WebInspectorUI\WebInspectorUI bin64\JavaScriptCore.dll bin64\LLIntOffsetsExtractor.exe bin64\LLIntSettingsExtractor.exe bin64\WTF.dll bin64\libEGL.dll bin64\libGLESv2.dll lib64\ANGLE.lib > COMMAND = cmd.exe /C "cd /D C:\home\webkit\gb\WebKitBuild\Debug\Source\WebCore && C:\xampp\perl\bin\perl.exe C:/home/webkit/gb/Source/WebCore/dom/make_names.pl --outputDir C:/home/webkit/gb/WebKitBuild/Debug/WebCore/DerivedSources --enum TagName --elements C:/home/webkit/gb/Source/WebCore/html/HTMLTagNames.in --elements C:/home/webkit/gb/Source/WebCore/svg/svgtags.in --elements C:/home/webkit/gb/Source/WebCore/mathml/mathtags.in --attrs C:/home/webkit/gb/Source/WebCore/html/HTMLAttributeNames.in --attrs C:/home/webkit/gb/Source/WebCore/mathml/mathattrs.in --attrs C:/home/webkit/gb/Source/WebCore/svg/svgattrs.in --attrs C:/home/webkit/gb/Source/WebCore/svg/xlinkattrs.in --attrs C:/home/webkit/gb/Source/WebCore/xml/xmlattrs.in --attrs C:/home/webkit/gb/Source/WebCore/xml/xmlnsattrs.in" > DESC = Generating ../../WebCore/DerivedSources/TagName.cpp, ../../WebCore/DerivedSources/TagName.h > restat = 1
I checked MAIN_DEPENDENCY of other CMakeLists.txt. I found no problems. Closed.