Bug 85587

Summary: [CMAKE] Move feature list to FeatureDefaults.cmake to autogenerate.
Product: WebKit Reporter: Ryuan Choi <ryuan.choi>
Component: WebKit EFLAssignee: Ryuan Choi <ryuan.choi>
Status: RESOLVED INVALID    
Severity: Normal CC: eric, gyuyoung.kim, lucas.de.marchi, paroga, rakuco, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 85456    
Attachments:
Description Flags
Patch none

Description Ryuan Choi 2012-05-04 00:26:48 PDT
Patch will be added.
Comment 1 Ryuan Choi 2012-05-04 00:32:54 PDT
Created attachment 140173 [details]
Patch
Comment 2 Eric Seidel (no email) 2012-05-04 00:39:59 PDT
Comment on attachment 140173 [details]
Patch

Looks fantastic!

The only question in my mind is what port is this?  We don't really have a concept of a "cmake" port, so this list must represent one of the CMake ports?  The autogen script is currently configured to spit out one list per port.  This looks like it might be a composit of all the shared defaults for the cmake ports?
Comment 3 Ryuan Choi 2012-05-04 00:53:48 PDT
(In reply to comment #2)
> (From update of attachment 140173 [details])
> Looks fantastic!
> 
> The only question in my mind is what port is this?  We don't really have a concept of a "cmake" port, so this list must represent one of the CMake ports?  The autogen script is currently configured to spit out one list per port.  This looks like it might be a composit of all the shared defaults for the cmake ports?

WebKitFeatures.cmake defines default features and Options${PORT} change them.
This is introduced Bug 72815 to share options among cmake based ports.

If autogen script require one list per port,
Options${PORT}.cmake can include WebKitFeatures${PORT}.cmake without WebKitFeatures.cmake.
It's my two cents.
Comment 4 Eric Seidel (no email) 2012-05-04 00:58:07 PDT
As you can see in https://bug-85456-attachments.webkit.org/attachment.cgi?id=139954 I'm tracking the features on a per-port basis.  For meta build systems like this, it's a bit more tricky.  I'd have to know what to call this system. I could add a new "cmake" rule, but that would get a bit confusing when trying to keep it in sync with build-webkit for instance which separates BlackBerry and EFL, etc.

Although I like this idea, I suspect we'll have to undo the sharing in order to do autogen with the current design. :(

How about we look into this after we get the current ports up and working with generate-feature-files.
Comment 5 Patrick R. Gansterer 2012-05-04 01:54:45 PDT
At the moment it's possible to build the CMake ports _without_ build-webkit. If a script needs to be run before cmake can run, this won't be possible in the future. Usually CMake detects the python executable required for building before running any python script.
Comment 6 Ryuan Choi 2012-05-04 02:07:37 PDT
Comment on attachment 140173 [details]
Patch

Clear r? because this is not cooked enough.
Comment 7 Eric Seidel (no email) 2012-05-04 10:07:12 PDT
The autogen plan in bug 85456 involves checking in all these generated files.  So nothing has to run before cmake.  The goal is just to make adding/removing feature easier, not to change anyones build process.