<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>132062</bug_id>
          
          <creation_ts>2014-04-23 08:49:09 -0700</creation_ts>
          <short_desc>[GTK][EFL] Use CMake to generate Eclipse project files</short_desc>
          <delta_ts>2014-08-26 11:12:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>132190</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brendan Long">b.long</reporter>
          <assigned_to name="Brendan Long">b.long</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>eocanha</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1003300</commentid>
    <comment_count>0</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-04-23 08:49:09 -0700</bug_when>
    <thetext>CMake can generate Eclipse project files, using either GNU Make or ninja:

http://www.cmake.org/Wiki/Eclipse_CDT4_Generator

The command to do so is almost identical to the normal CMake command. You just replace -G ninja with -G &quot;Eclipse CDT4 - Ninja&quot;. Unfortunately, our CMake command is fairly complex, so it would be nice if we could use the same setup as the build-webkit script uses. For reference, the command we want to run looks like this:

cmake -DPORT=&quot;GTK&quot; -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=Debug -G Eclipse CDT4 - Ninja --no-warn-unused-cli -DENABLE_3D_RENDERING=ON -DENABLE_ACCELERATED_2D_CANVAS=OFF -DENABLE_BATTERY_STATUS=OFF -DENABLE_BLOB=ON -DENABLE_CANVAS_PATH=ON -DENABLE_CANVAS_PROXY=OFF -DENABLE_CHANNEL_MESSAGING=ON -DENABLE_CSP_NEXT=ON -DENABLE_CSS_DEVICE_ADAPTATION=OFF -DENABLE_CSS_SHAPES=ON -DENABLE_CSS_FILTERS=OFF -DENABLE_CSS_GRID_LAYOUT=ON -DENABLE_CSS3_CONDITIONAL_RULES=OFF -DENABLE_CSS3_TEXT=ON -DENABLE_CSS3_TEXT_LINE_BREAK=OFF -DENABLE_CSS_BOX_DECORATION_BREAK=ON -DENABLE_CSS_IMAGE_ORIENTATION=ON -DENABLE_CSS_IMAGE_RESOLUTION=ON -DENABLE_CSS_IMAGE_SET=ON -DENABLE_CSS_REGIONS=ON -DENABLE_CSS_SHADERS=OFF -DENABLE_CSS_STICKY_POSITION=ON -DENABLE_CSS_COMPOSITING=OFF -DENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED=ON -DENABLE_CUSTOM_SCHEME_HANDLER=OFF -DENABLE_DATALIST_ELEMENT=OFF -DENABLE_DATA_TRANSFER_ITEMS=OFF -DENABLE_DETAILS_ELEMENT=ON -DENABLE_DEVICE_ORIENTATION=OFF -DENABLE_DOM4_EVENTS_CONSTRUCTOR=ON -DENABLE_DOWNLOAD_ATTRIBUTE=OFF -DENABLE_FILTERS=ON -DENABLE_FONT_LOAD_EVENTS=OFF -DENABLE_FTPDIR=ON -DENABLE_FULLSCREEN_API=ON -DENABLE_GAMEPAD=ON -DENABLE_GEOLOCATION=ON -DENABLE_HIGH_DPI_CANVAS=OFF -DENABLE_ICONDATABASE=ON -DENABLE_INDEXED_DATABASE=ON -DENABLE_INPUT_SPEECH=OFF -DENABLE_INPUT_TYPE_COLOR=OFF -DENABLE_INPUT_TYPE_DATE=OFF -DENABLE_INPUT_TYPE_DATETIME_INCOMPLETE=OFF -DENABLE_INPUT_TYPE_DATETIMELOCAL=OFF -DENABLE_INPUT_TYPE_MONTH=OFF -DENABLE_INPUT_TYPE_TIME=OFF -DENABLE_INPUT_TYPE_WEEK=OFF -DENABLE_INSPECTOR=ON -DENABLE_LEGACY_NOTIFICATIONS=OFF -DENABLE_LEGACY_VENDOR_PREFIXES=ON -DENABLE_LEGACY_WEB_AUDIO=ON -DENABLE_LINK_PREFETCH=ON -DENABLE_MATHML=ON -DENABLE_MEDIA_CAPTURE=OFF -DENABLE_MEDIA_SOURCE=ON -DENABLE_MEDIA_STATISTICS=OFF -DENABLE_MEDIA_STREAM=ON -DENABLE_METER_ELEMENT=ON -DENABLE_MHTML=ON -DENABLE_MOUSE_CURSOR_SCALE=OFF -DENABLE_NAVIGATOR_CONTENT_UTILS=OFF -DENABLE_NETSCAPE_PLUGIN_API=ON -DENABLE_NOSNIFF=OFF -DENABLE_NOTIFICATIONS=OFF -DENABLE_ORIENTATION_EVENTS=OFF -DENABLE_PAGE_VISIBILITY_API=ON -DENABLE_PLUGIN_PROXY_FOR_VIDEO=OFF -DENABLE_PERFORMANCE_TIMELINE=ON -DENABLE_PROGRESS_ELEMENT=ON -DENABLE_PROMISES=ON -DENABLE_PROXIMITY_EVENTS=OFF -DENABLE_QUOTA=OFF -DENABLE_RESOLUTION_MEDIA_QUERY=OFF -DENABLE_RESOURCE_TIMING=ON -DENABLE_REQUEST_ANIMATION_FRAME=ON -DENABLE_SECCOMP_FILTERS=OFF -DENABLE_SCRIPTED_SPEECH=OFF -DENABLE_SHARED_WORKERS=ON -DENABLE_SQL_DATABASE=ON -DENABLE_SUID_SANDBOX_LINUX=OFF -DENABLE_SVG_FONTS=ON -DUSE_SYSTEM_MALLOC=OFF -DENABLE_TEMPLATE_ELEMENT=ON -DENABLE_TEXT_AUTOSIZING=OFF -DWTF_USE_TILED_BACKING_STORE=OFF -DENABLE_TOUCH_EVENTS=ON -DENABLE_TOUCH_SLIDER=OFF -DENABLE_TOUCH_ICON_LOADING=OFF -DENABLE_USER_TIMING=ON -DENABLE_VIBRATION=OFF -DENABLE_VIDEO=ON -DENABLE_VIDEO_TRACK=ON -DENABLE_WEBGL=ON -DENABLE_WEB_AUDIO=ON -DENABLE_WEB_REPLAY=OFF -DENABLE_WEB_SOCKETS=ON -DENABLE_WEB_TIMING=ON -DENABLE_XHR_TIMEOUT=ON -DENABLE_XSLT=ON -DENABLE_FTL_JIT=OFF -DENABLE_LLINT_C_LOOP=OFF  &quot;/home/blong/workspace/webkit&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003302</commentid>
    <comment_count>1</comment_count>
      <attachid>229990</attachid>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-04-23 09:13:54 -0700</bug_when>
    <thetext>Created attachment 229990
Patch

This just creates an Eclipse project file when you run build-webkit. A more complex version might look for a --create-project argument, or maybe a new Tools/Scripts/create-project script. We can also generate other kinds of projects if we wanted to get into that (--create-project eclipse or --create-project kdevelop). Maybe a new script is the way to do since Apple will eventually want this for XCode?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003318</commentid>
    <comment_count>2</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-04-23 10:29:48 -0700</bug_when>
    <thetext>So that creates a sort of weird project. It looks like the .project and .cproject files need to be at the project root for things to work entirely correctly. Just copying the result works:

cp WebKitBuild/Debug/.*project .

Running the cmake command against the root folder causes problems because it creates a bunch of files across the build tree, which is fairly annoying.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003793</commentid>
    <comment_count>3</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-04-24 15:13:36 -0700</bug_when>
    <thetext>I also ran into an issue where C++11 features were causing trouble (std::function, std::unique_ptr, etc.). I had to manually define __cplusplus=201103L to fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031417</commentid>
    <comment_count>4</comment_count>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2014-08-26 11:08:54 -0700</bug_when>
    <thetext>Have you seen bug #132190? That patch is already integrated and does what you need if Eclipse is detected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031420</commentid>
    <comment_count>5</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-08-26 11:12:52 -0700</bug_when>
    <thetext>Thanks for the heads up. Glad to see I wasn&apos;t the only one who thought of this.

*** This bug has been marked as a duplicate of bug 132190 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229990</attachid>
            <date>2014-04-23 09:13:54 -0700</date>
            <delta_ts>2014-04-23 10:55:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132062-20140423111331.patch</filename>
            <type>text/plain</type>
            <size>1377</size>
            <attacher name="Brendan Long">b.long</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3NzA5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDEyZmVjNjhkM2Y1Y2U1MzlkNjUwY2VlMDdiMDkyMTI4
NzYyYjVmNS4uYTEwZjAzOWM2NDlkYTJlYWRjYzQ3YTA4ZWM3MGE2N2FlNWQ0ZDQ4NyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDE0LTA0LTIzICBCcmVuZGFuIExvbmcgIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KKwor
ICAgICAgICBbR1RLXVtFRkxdIFVzZSBDTWFrZSB0byBnZW5lcmF0ZSBFY2xpcHNlIHByb2plY3Qg
ZmlsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEz
MjA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
U2NyaXB0cy93ZWJraXRkaXJzLnBtOgorICAgICAgICAoZ2VuZXJhdGVCdWlsZFN5c3RlbUZyb21D
TWFrZVByb2plY3QpOiBHZW5lcmF0ZSBFY2xpcHNlIHByb2plY3QgZmlsZXMgd2hlbiBidWlsZGlu
Zy4KKwogMjAxNC0wNC0yMyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW0dUS10gU2hhZG93Um9vdCBBUEkgd2FzIHJlbW92ZWQgaW4gcjE2NDEz
MQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRkaXJzLnBtCmluZGV4IDc2MDMyOGEzYmNiM2M4NDJhYjY3YjE2MzgxY2RkYTNhOTEw
N2ZiODQuLjdlNTUyZDEzOTMyMzI3MTYxMjQzN2MwYzUyNzlmY2M0NzI0NzU2ODIgMTAwNzU1Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dGRpcnMucG0KQEAgLTE4MjAsNiArMTgyMCwxMyBAQCBzdWIgZ2VuZXJhdGVCdWlsZFN5c3RlbUZy
b21DTWFrZVByb2plY3QKICAgICBpZiAoJHdpbGxVc2VOaW5qYSkgewogICAgICAgICBwdXNoIEBh
cmdzLCAiLUciOwogICAgICAgICBwdXNoIEBhcmdzLCAiTmluamEiOworICAgICAgICBwdXNoIEBh
cmdzLCAiLUciOworICAgICAgICBwdXNoIEBhcmdzLCAiJ0VjbGlwc2UgQ0RUNCAtIE5pbmphJyI7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgcHVzaCBAYXJncywgIi1HIjsKKyAgICAgICAgcHVzaCBA
YXJncywgIidVbml4IE1ha2VmaWxlcyciOworICAgICAgICBwdXNoIEBhcmdzLCAiLUciOworICAg
ICAgICBwdXNoIEBhcmdzLCAiJ0VjbGlwc2UgQ0RUNCAtIFVuaXggTWFrZWZpbGVzJyI7CiAgICAg
fQogCiAgICAgIyBEb24ndCB3YXJuIHZhcmlhYmxlcyB3aGljaCBhcmVuJ3QgdXNlZCBieSBjbWFr
ZSBwb3J0cy4K
</data>

          </attachment>
      

    </bug>

</bugzilla>