Summary: | [CMake] Duplicate attempts to find software during cmake stage | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Michael Catanzaro <mcatanzaro> | ||||
Component: | WebKit Misc. | Assignee: | Michael Catanzaro <mcatanzaro> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | achristensen, commit-queue, mcatanzaro, mrobinson, ossy | ||||
Priority: | P2 | ||||||
Version: | Other | ||||||
Hardware: | PC | ||||||
OS: | Linux | ||||||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=153373 | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 153528 | ||||||
Attachments: |
|
Description
Michael Catanzaro
2016-01-18 13:20:18 PST
Created attachment 269235 [details]
Patch
Comment on attachment 269235 [details] Patch Clearing flags on attachment: 269235 Committed r195242: <http://trac.webkit.org/changeset/195242> All reviewed patches have been landed. Closing bug. This caused the Windows builds to copy files to bin/JavaScriptCore.resources instead of bin64/JavaScriptCore.resources. Not sure why. CMAKE_RUNTIME_OUTPUT_DIRECTORY is set in OptionsWin.cmake and used in JavaScriptCore/PlatformWin.cmake It's because they're also set in the toplevel CMakeLists.txt: # ----------------------------------------------------------------------------- # Common configuration #------------------------------------------------------------------------------ include(WebKitCommon) # ----------------------------------------------------------------------------- # Output directories #------------------------------------------------------------------------------ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) Now WebKitCommon only executes once, which causes OptionsWin.cmake to execute (only once), then the settings are immediately overridden. Previously they were set in OptionsWin.cmake, overwritten by toplevel CMakeLists.txt, then overwritten again and again in OptionsWin.cmake when descending into the JavaScriptCore, WebKit, and WebCore directories, since OptionsWin.cmake was executed many times. I don't have a strong opinion on how to fix this; the toplevel set statements could be put in conditionals, or moved into WebKitCommon.cmake, or even just moved up above the include (though that would be pretty fragile). Note that we landed a fix for the Windows build in bug #153373. |