Skip to main content

jep-cmake

Build Status Coveralls Status PyPI Status

JEP-based CMake support in the making.

This is a command line application implementing a JEP backend for CMake. It enables editors that have JEP-plugin installed to improve their CMake editing support beyong pure syntax highlighting.

Current state and features

  • Parser for CMake files.

  • Builds dictionary of user functions and macros.

  • Code completion of commands (built-in and user functions and macros), from local and (directly or indirectly) imported modules.

Upcoming features and feature ideas

  • Code completion for all files in a project, including parent CMake files.

  • Code completion for variables (respecting scope rules).

  • Code completion for targets.

  • Go to definition of commands, variables, targets.

  • Error annotations.

  • Renaming of user commands, variables, targets.

Installation

jep-cmake can be installed in various ways. To run it requires an installed Python interpreter, version 3.3 or greater.

After installation, the used Python environment has a new command jep-cmake, that will run the backend.

From Source Code

> git clone https://github.com/jep-project/jep-cmake.git
> cd jep-cmake
> pip install .

From PyPI

> pip install jep-cmake

Usage

See the JEP protocol for detailed instruction how to configure JEP via a .jep file. In the most simple situation (jep-cmake in path, …) the following .jep file in the root folder of your project that contains CMake files should be enough:

*.cmake,CMakeLists.txt:
jep-cmake

See jep-cmake -h for available command line options:

> jep-cmake -h
usage: jep-cmake-script.py [-h] [--version {2.8.12,3.4}] [--builtin-cmake]
                           [--builtin-ctest] [--builtin-deprecated]

JEP backend providing CMake editing support.

optional arguments:
  -h, --help            show this help message and exit
  --version {2.8.12,3.4}
                        CMake version to be supported, mainly used for
                        completion of built-in commands.
  --builtin-cmake       If specified, built-in CMake commands are part of code
                        completion.
  --builtin-ctest       If specified, built-in ctest commands are part of code
                        completion.
  --builtin-deprecated  If specified, built-in CMake commands that have been
                        deprecated are part of code completion.

The various built-in options are available to finetune the backend’s interaction with the editor being used. Some editors already support code completion for built-in CMake commands. In that case it is more efficient remove them from the backends completion options (by not specifying the corresponding command line option).

Metadata

Release files for jep-cmake 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jep-cmake 0.0.3
File Size Uploaded Provenance
jep-cmake-0.0.3.zip 21.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for jep-cmake 0.0.3
File Interpreter ABI Platform
jep_cmake-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 39.3 kB

Release files / jep-cmake-0.0.3.zip

Download URL jep-cmake-0.0.3.zip
Size 21.8 kB
Tags Source
SHA-256 checksum
How to use checksums
c9e3c17753fde6b942949f4e035e8e5ff22b6b620bb20067a5e9117082de99a1
BLAKE2b-256 checksum
How to use checksums
b10dde66dcd5182308416bbc8e88b95131c1acc6a190b76322db150686b64ab8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / jep_cmake-0.0.3-py3-none-any.whl

Download URL jep_cmake-0.0.3-py3-none-any.whl
Size 17.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c48260fb68a10bc8e66e5d2d061f47f37d820e92f940ba1c82634ace9d44f0fa
BLAKE2b-256 checksum
How to use checksums
5174f57fe5d495f850b44a181f18697f17596b8efb04c40d0d928ba43642fc5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for jep-cmake 0.0.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page