michael@0: .. _build_cppeclipse: michael@0: michael@0: ===================== michael@0: Cpp Eclipse Projects michael@0: ===================== michael@0: michael@0: For additional information on using Eclipse CDT see michael@0: `the MDN page michael@0: `_. michael@0: michael@0: The build system contains alpha support for generating C++ Eclipse michael@0: project files to aid with development. michael@0: michael@0: Please report bugs to bugzilla and make them depend on bug 973770. michael@0: michael@0: To generate a C++ Eclipse project files, you'll need to have a fully michael@0: built tree:: michael@0: michael@0: mach build michael@0: michael@0: Then, simply generate the Android Eclipse build backend:: michael@0: michael@0: mach build-backend -b CppEclipse michael@0: michael@0: If all goes well, the path to the generated workspace should be michael@0: printed (currently, ``$OBJDIR/android_eclipse``). michael@0: michael@0: To use the generated Android Eclipse project files, you'll need to michael@0: have a Eclipse CDT 8.3 (We plan to follow the latest Eclipse release) michael@0: `Eclipse CDT plugin michael@0: `_ michael@0: installed. You can then import all the projects into Eclipse using michael@0: *File > Import ... > General > Existing Projects into Workspace* michael@0: -only- if you have not ran the background indexer. michael@0: michael@0: Updating Project Files michael@0: ====================== michael@0: michael@0: As you pull and update the source tree, your C++ Eclipse files may michael@0: fall out of sync with the build configuration. The tree should still michael@0: build fine from within Eclipse, but source files may be missing and in michael@0: rare circumstances Eclipse's index may not have the proper build michael@0: configuration. michael@0: michael@0: To account for this, you'll want to periodically regenerate the michael@0: Android Eclipse project files. You can do this by running ``mach build michael@0: && mach build-backend -b CppEclipse`` from the michael@0: command line. michael@0: michael@0: Currently, regeneration rewrites the original project files. **If michael@0: you've made any customizations to the projects, they will likely get michael@0: overwritten.** We would like to improve this user experience in the michael@0: future. michael@0: