Difference between revisions of "Eclipse CDT projects with bitbake"

From ElphelWiki
Jump to: navigation, search
(Project Files and Directories)
Line 2: Line 2:
 
Elphel camera software is based on Yocto Poky distribution, all the individual projects such as Linux kernel drivers, C/C++ applications, web applications, Python projects are organized as Makefile projects, each tied to a separate Git repository. The top project [https://git.elphel.com/Elphel/elphel393 elphel393] has the '''setup.py''' script that installs and synchronizes them. All projects have Eclipse IDE configuration data (in ''eclipse_project_setup'' subdirectories), and this data is copied to the project root by '''setup.py'''. As Eclipse project settings may have user-dependent settings, current configuration files (/.project, /.cproject, ...) are not version controlled, so to restore them after corruption or just to get updated versions you need either to manually copy ''eclipse_project_setup'' sub-tree, or delete /.project and re-run '''setup.py'''.
 
Elphel camera software is based on Yocto Poky distribution, all the individual projects such as Linux kernel drivers, C/C++ applications, web applications, Python projects are organized as Makefile projects, each tied to a separate Git repository. The top project [https://git.elphel.com/Elphel/elphel393 elphel393] has the '''setup.py''' script that installs and synchronizes them. All projects have Eclipse IDE configuration data (in ''eclipse_project_setup'' subdirectories), and this data is copied to the project root by '''setup.py'''. As Eclipse project settings may have user-dependent settings, current configuration files (/.project, /.cproject, ...) are not version controlled, so to restore them after corruption or just to get updated versions you need either to manually copy ''eclipse_project_setup'' sub-tree, or delete /.project and re-run '''setup.py'''.
  
Eclipse IDE setting reference not only files that are in the Git repository, but also those that are generated during build process, so Eclipse should be launched with these projects only after the command-line [[https://wiki.elphel.com/wiki/Poky_2.0_manual#Setup build process]] has finished.
+
Eclipse IDE setting reference not only files that are in the Git repository, but also those that are generated during build process, so Eclipse should be launched with these projects only after the command-line [[Poky_2.0_manual#Setup|build process]] has finished.
 
   
 
   
 
  ├── bitbake-logs -> /home/eyesis/nc393/elphel393/poky/build/tmp/work/cortexa9-neon-poky-linux-gnueabi/apps-astreamer/1_0-23/temp
 
  ├── bitbake-logs -> /home/eyesis/nc393/elphel393/poky/build/tmp/work/cortexa9-neon-poky-linux-gnueabi/apps-astreamer/1_0-23/temp

Revision as of 18:46, 21 November 2017

Project Files and Directories

Elphel camera software is based on Yocto Poky distribution, all the individual projects such as Linux kernel drivers, C/C++ applications, web applications, Python projects are organized as Makefile projects, each tied to a separate Git repository. The top project elphel393 has the setup.py script that installs and synchronizes them. All projects have Eclipse IDE configuration data (in eclipse_project_setup subdirectories), and this data is copied to the project root by setup.py. As Eclipse project settings may have user-dependent settings, current configuration files (/.project, /.cproject, ...) are not version controlled, so to restore them after corruption or just to get updated versions you need either to manually copy eclipse_project_setup sub-tree, or delete /.project and re-run setup.py.

Eclipse IDE setting reference not only files that are in the Git repository, but also those that are generated during build process, so Eclipse should be launched with these projects only after the command-line build process has finished.

├── bitbake-logs -> /home/eyesis/nc393/elphel393/poky/build/tmp/work/cortexa9-neon-poky-linux-gnueabi/apps-astreamer/1_0-23/temp
├── eclipse_project_setup
│   ├── .externalToolBuilders
│   │   └── SCP apps-astreamer to target.launch
│   ├── .cproject
│   └── .project
├── .externalToolBuilders
│   └── SCP apps-astreamer to target.launch
├── image -> /home/eyesis/nc393/elphel393/poky/build/tmp/work/cortexa9-neon-poky-linux-gnueabi/apps-astreamer/1_0-23/image
├── scripts -> ../../scripts/
│   ├── run_bitbake.sh
│   └── used_files.py
├── .settings
│   └── language.settings.xml
├── src
│   ├── audio.cpp
│   ├── audio.h
│   ├── helper.h
│   ├── helpers.cpp
│   ├── helpers.h
│   ├── main.cpp
│   ├── Makefile
│   ├── parameters.cpp
│   ├── parameters.h
│   ├── rtp_stream.cpp
│   ├── rtp_stream.h
│   ├── rtsp.cpp
│   ├── rtsp.h
│   ├── session.h
│   ├── socket.cpp
│   ├── socket.h
│   ├── streamer.cpp
│   ├── streamer.h
│   ├── video.cpp
│   └── video.h
├── sysroots -> /home/eyesis/nc393/elphel393/poky/build/tmp/sysroots
├── .cproject
├── .gitignore
├── LICENSE
├── Makefile
├── .project
├── README.md
└── VERSION


Figure 1. Project builders
Figure 2. Configuring SCP to target tool for apps-astreamer project
Figure 3. Configuring SCP to target tool for apps-astreamer project(options)
Figure 4. C/C++ Build ⇒ Builder Settings
Figure 5. C/C++ Build ⇒ Behavior
Figure 6. C/C++ Build ⇒ Refresh Policy
Figure 7. C/C++ General ⇒ Paths and Symbols ⇒ Source Location