Bug 248190

Summary: CMake 3.25.0: ninja: error: dependency cycle: Source/WebCore/CMakeFiles/WebCore.dir/CXX.dd
Product: WebKit Reporter: Fujii Hironori <fujii.hironori>
Component: CMakeAssignee: Fujii Hironori <fujii.hironori>
Status: RESOLVED FIXED    
Severity: Normal CC: annulen, don.olmstead, ews-watchlist, gyuyoung.kim, ross.kirsling, ryuan.choi, sergio
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch to use target_precompile_headers
none
Patch none

Fujii Hironori
Reported 2022-11-21 13:03:39 PST
[WinCairo] CMake 3.25.0: ninja: error: dependency cycle: Source/WebCore/CMakeFiles/WebCore.dir/CXX.dd > ninja: error: dependency cycle: Source/WebCore/CMakeFiles/WebCore.dir/CXX.dd -> Source/WebCore/CMakeFiles/WebCore.dir/platform/graphics/FormatConverter.cpp.obj.ddi -> Source/WebCore/WebCore_SOURCES/WebCorePrefix.pch -> > Source/WebCore/CMakeFiles/WebCore.dir/WebCorePrefix.cpp.obj -> Source/WebCore/CMakeFiles/WebCore.dir/CXX.dd
Attachments
Patch to use target_precompile_headers (13.09 KB, patch)
2022-11-21 17:28 PST, Fujii Hironori
no flags
Patch (1.39 KB, patch)
2022-11-21 19:31 PST, Fujii Hironori
no flags
Fujii Hironori
Comment 1 2022-11-21 13:34:36 PST
I'm observing no problem for building with Visual Studio generator. build-webkit --wincairo --debug --no-ninja
Fujii Hironori
Comment 2 2022-11-21 17:28:51 PST
Created attachment 463645 [details] Patch to use target_precompile_headers I tried to use target_precompile_headers, but it failed. > ninja: error: dependency cycle: Source/WebCore/CMakeFiles/WebCore.dir/cmake_pch.cxx.obj -> Source/WebCore/CMakeFiles/WebCore.dir/CXX.dd -> Source/WebCore/CMakeFiles/WebCore.dir/platform/graphics/FormatConverter.cpp.obj.ddi -> > Source/WebCore/CMakeFiles/WebCore.dir/cmake_pch.cxx.pch -> Source/WebCore/CMakeFiles/WebCore.dir/cmake_pch.cxx.obj
Fujii Hironori
Comment 3 2022-11-21 18:37:45 PST
I overlooked a CMake warning: > CMake Warning (dev): > C++20 modules support via CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDEP is > experimental. It is meant only for compiler developers to try. > This warning is for project developers. Use -Wno-dev to suppress it. we should disable it > set(CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDEP 0)
Fujii Hironori
Comment 4 2022-11-21 19:31:55 PST
Ross Kirsling
Comment 5 2022-11-21 20:18:47 PST
Comment on attachment 463650 [details] Patch r=me, seems fine based on the quote you gave.
EWS
Comment 6 2022-11-21 21:40:25 PST
Committed 256922@main (8b54e8f36f5f): <https://commits.webkit.org/256922@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 463650 [details].
Note You need to log in before you can comment on or make changes to this bug.