Giter Club home page Giter Club logo

cmake4eclipse's Introduction

Change Log | Install... | Mailing-list Build Status GitHub issues

Abstract

This Eclipse plug-in automatically generates build-scripts for the Eclipse CDT managed build system from CMake scripts. Its Primary claim is: Co-workers should be able to just check out the source and build the project.

Design goals

  1. Automatic generation of build scripts. See Primary claim: No need to manually invoke cmake: Cmake options are persisted in the Eclipse project settings files.
  2. Cmake is a cross-platform build tool. So Eclipse projects should be cross-platform as feasible; without the need for co-workers to adjust Eclipse project settings just to build on their platform.
  3. Take the CMakeLists.txt as the source of truth.
    • Auto-detect the actual build tool to invoke: make, ninja, nmake, MinGW make, MSYS make, ...
    • Easy project configuration regarding code completion, symbol-declaration lookup and macro-value tool-tips in the source editor.
      • Feed include paths and pre-processor symbols from cmake to the CDT-Indexer (CMake Compilation DB).
      • Retrieve compiler-built-in pre-processor symbols and include paths by interrogating the actual compiler and feed these to the CDT-Indexer (CMake Compilation DB). Well, at least as the compiler supports that (GNU C and nvcc CUDA compilers do so).

Quick start

  1. If you do not have any existing code, check out the Sample Projects, choose one and fill in your code.
  2. If you have an existing C/C++ project code, inside Eclipse, goto Help:Help Contents, then read the Cmake4eclipse User Guide:Tasks nodes.

License

The plugin is licensed under the Eclipse Public License Version 2.0 ("EPL-2.0").

System Requirements

  • CDT v 10.5 or newer and Eclipse v 2021-12 or newer.
  • Java 11 or newer.

Installation

The easiest way is to drag this: Drag to your running Eclipse workbench to install to your running Eclipse workbench.

Alternatively, cmake4eclipse can be installed into Eclipse using the "Install New Software..." dialog and entering the update site URL listed below.

Update Site

This composite update site is for use in a Eclipse workbench and contains the latest release as well as selected older releases: https://raw.githubusercontent.com/15knots/cmake4eclipse/master/releng/comp-update/.

p2 Repositories

Tool integrators will find each release at cloudsmith. Each release is provided as a stand-alone zipped p2 repository and can be consumed in a PDE target platform. To add one of these repositories to your target platform, add a Software Site and enter a URL for the location as jar:https://dl.cloudsmith.io/public/15knots/p2-zip/raw/files/cmake4eclipse-3.0.0.zip!/ (note the leading jar: and the trailing !/).

If you work at a company that wants to ship cmake4eclipse with your product, please consider to mirror the zip file internally and reference the company-internal location in your target definition. This will help to reduce the traffic on cloudsmith and make your product builds immune to downtimes on cloudsmith.

Debug and Build

This project uses Apache maven as its build system. To build from a command-line, run mvn -f ./parent/pom.xml package in the root directory of the project source files.

There is also a run configuration for eclipse to invoke the maven build: build cmake4eclipse.

To debug the plug-in from Eclipse, first set the Plug-in Development Target platform of your workbench to cdt/8.7-eclipse/4.5.2, then run the Eclipse Application launch configuration named cmake4eclipse.

References

Projects that recommend to use this plugin to develop it using Eclipse.

IDEs with cmake4eclipse

Nsight Eclipse https://devblogs.nvidia.com/drivepx-application-development-using-nsight-eclipse-edition#attachment_10114

Books

Advanced C++ https://books.google.de/books?id=YVG7DwAAQBAJ&pg=PA9&lpg=PA9&dq=cmake4eclipse&source=bl&ots=qgHjAfjlcA&sig=ACfU3U21IppdYpImjXxBfWD69-2NYeHB4w&hl=de&sa=X&ved=2ahUKEwimtrONqJjnAhVKK1AKHVIEC2k4ChDoATAIegQIChAB#v=onepage&q=cmake4eclipse&f=false

cmake4eclipse's People

Contributors

15knots avatar promodkumar-ashling avatar vinodappu avatar ghaith avatar havogt avatar tony-- avatar dependabot[bot] avatar euklid avatar saimen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.