Heilmann, Giovanni and Schweizer, Pascal (2017) Conan for Cevelop. Student Research Project thesis, HSR Hochschule für Technik Rapperswil.
HS 2017 2018-SA-EP-Schweizer-Heilmann-Conan for Cevelop.pdf - Supplemental Material
Download (2MB) | Preview
Abstract
Introduction
There are many ways to handle package dependency management. From manually sharing library files among the development team to using dependency managers that automatically install all related libraries in an easy and simple way. The Conan C++ package manager belongs to the latter category.
It is a command line interface (CLI) tool for C++ development that can conveniently install dependencies for any given build configuration. The different build configurations are managed by Conan in user-definable profiles. The tool handles downloading the right files and preparing build information for any build tool chosen by the user. The files can be downloaded from public Conan remotes, but users may also set up their own private databases. These features make Conan a very flexible tool, as it works well in many environments.
Objective
Cevelop, developed at the Institute for Software, is an integrated development environment (IDE) based on Eclipse C/C++ Development Tooling (CDT). Currently, there is no proper integration of Conan for Cevelop-managed projects. Developers need to manually call the CLI commands in the shell and insert the build information to the respective settings in the Cevelop project by hand.
Therefore, this term project’s goal is to write an Eclipse plug-in that fixes this problem. It must handle installing package dependencies and keeping them up-to-date. What’s more, it should manage Conan profiles and remotes so that the user does not need to use the command-line or open files directly. Everything should be done in Cevelop alone.
Result
The developed plug-in has the following features:
First off, Conan for Cevelop handles the installation of all package dependencies in a very convenient way. The user needs only to click a button and the plug-in handles the rest. Notably, all Eclipse build information is automatically updated. This feature also works when adding, removing, or updating dependencies down the line, as the plug-in purges obsolete build information and replaces it when the command is re-run.
Conan for Cevelop also manages Conan remotes. The user may add, edit or delete remotes from within Cevelop and does not need to edit any files or open a command-line tool.
Finally, Conan for Cevelop manages Conan profiles. The user may add, edit or delete profiles. Furthermore, the user may select a workspace-wide default profile. Individual Cevelop projects may choose to use the workspace profile, or they may select a different active profile.
Currently, only one file needs to be edited by hand: conanfile.txt, which is used by Conan to know which packages to add. In the future, a package browser may be added to the plug-in. It would remove the need to edit the conanfile.txt manually.
Item Type: | Thesis (Student Research Project) |
---|---|
Subjects: | Area of Application > Development Tools Technologies > Programming Languages > C++ Metatags > IFS (Institute for Software) |
Divisions: | Bachelor of Science FHO in Informatik > Student Research Project |
Depositing User: | OST Deposit User |
Contributors: | Contribution Name Email Thesis advisor Corbat, Thomas UNSPECIFIED |
Date Deposited: | 10 Apr 2018 09:18 |
Last Modified: | 10 Apr 2018 09:18 |
URI: | https://eprints.ost.ch/id/eprint/631 |