1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/build/docs/cppeclipse.rst Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,54 @@ 1.4 +.. _build_cppeclipse: 1.5 + 1.6 +===================== 1.7 +Cpp Eclipse Projects 1.8 +===================== 1.9 + 1.10 +For additional information on using Eclipse CDT see 1.11 +`the MDN page 1.12 +<https://developer.mozilla.org/en-US/docs/Eclipse_CDT>`_. 1.13 + 1.14 +The build system contains alpha support for generating C++ Eclipse 1.15 +project files to aid with development. 1.16 + 1.17 +Please report bugs to bugzilla and make them depend on bug 973770. 1.18 + 1.19 +To generate a C++ Eclipse project files, you'll need to have a fully 1.20 +built tree:: 1.21 + 1.22 + mach build 1.23 + 1.24 +Then, simply generate the Android Eclipse build backend:: 1.25 + 1.26 + mach build-backend -b CppEclipse 1.27 + 1.28 +If all goes well, the path to the generated workspace should be 1.29 +printed (currently, ``$OBJDIR/android_eclipse``). 1.30 + 1.31 +To use the generated Android Eclipse project files, you'll need to 1.32 +have a Eclipse CDT 8.3 (We plan to follow the latest Eclipse release) 1.33 +`Eclipse CDT plugin 1.34 +<https://www.eclipse.org/cdt/>`_ 1.35 +installed. You can then import all the projects into Eclipse using 1.36 +*File > Import ... > General > Existing Projects into Workspace* 1.37 +-only- if you have not ran the background indexer. 1.38 + 1.39 +Updating Project Files 1.40 +====================== 1.41 + 1.42 +As you pull and update the source tree, your C++ Eclipse files may 1.43 +fall out of sync with the build configuration. The tree should still 1.44 +build fine from within Eclipse, but source files may be missing and in 1.45 +rare circumstances Eclipse's index may not have the proper build 1.46 +configuration. 1.47 + 1.48 +To account for this, you'll want to periodically regenerate the 1.49 +Android Eclipse project files. You can do this by running ``mach build 1.50 +&& mach build-backend -b CppEclipse`` from the 1.51 +command line. 1.52 + 1.53 +Currently, regeneration rewrites the original project files. **If 1.54 +you've made any customizations to the projects, they will likely get 1.55 +overwritten.** We would like to improve this user experience in the 1.56 +future. 1.57 +