Bug 254806

Summary: Consider merging MAIN_DEPENDENCY into DEPENDS throughout
Product: WebKit Reporter: Anne van Kesteren <annevk>
Component: CMakeAssignee: Nobody <webkit-unassigned>
Status: RESOLVED WONTFIX    
Severity: Normal CC: Hironori.Fujii
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Anne van Kesteren 2023-03-31 04:48:42 PDT
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.
Comment 1 Fujii Hironori 2023-03-31 16:45:32 PDT
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
Comment 2 Fujii Hironori 2023-03-31 16:51:52 PDT
I checked MAIN_DEPENDENCY of other CMakeLists.txt.
I found no problems.
Closed.