Skip to main content

Embuild is a tool for C/CMake static library management

Project description

embuild

Embuild is a tool for C/CMake static library management.

Check out this website for more details about available public libraries!

Installation

Prerequirements:

Install embuild: pip install -U embuild

Usage

List available public libraries

python -m embuild list

Create a project

python -m embuild create <PROJECT-NAME>

This creates:

  • <PROJECT-NAME> directory
  • CMakeLists.txt with a <PROJECT-NAME> library declaration
  • source subdirectory with <PROJECT-NAME>.h/.c files and CMakeLists.txt file
  • project.json embuild project file

Initialize current directory

python -m embuild init

This creates:

  • project.json embuild project file

Add libraries

python -m embuild add <LIB-1> .. <LIB-N>

This:

  • updates project.json with mentioned libraries
  • creates a library subdirectory
  • downloads relevant libraries and updates present ones
  • (re)generates the CMakeLists.txt in the subdirectory

Update libraries

python -m embuild update

This:

  • downloads/updates libraries according to current project.json libraries content
  • removes old libraries
  • (re)generates the CMakeLists.txt in the subdirectory

Run scripts

python -m embuild run <SCRIPT_NAME> {OPTIONAL PARAMS ...}

This:

  • runs a script (with optional parameters) defined as a dictionary in project.json scripts content

Library name

The library has three ways to be named:

  1. <library-name> (e.g. event-handler) - short name
  2. <user-name>/<library-name> (e.g. grzegorz-grzeda/cli) - long name
  3. <protocol>:<git-repository>/<library-name> - full name

1. Short name

This name is looked up in the embuild repository repository.json file.

2. Long name

This name is looked up in the GitHub service. The path is https://github.com/<user-name>/<repo-name>.git. This is a good fit for a private library if hosted on GitHub and the current computer is configured to establish a SSH connection,

3. Full name

This name is treated as a path to a custom git repository. This is a best fit for a private library. The actual name of the library in question is the last part of the repository path name.

Copyright

Created by Grzegorz Grzęda. Distributed under MIT license

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

embuild-1.1.0.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

embuild-1.1.0-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file embuild-1.1.0.tar.gz.

File metadata

  • Download URL: embuild-1.1.0.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for embuild-1.1.0.tar.gz
Algorithm Hash digest
SHA256 f846241f72f7684275ab51afaefb5abf21f4a5a98b0fbb824b8a596e641fac33
MD5 cb626bb803f72af909d1ad13bc1db161
BLAKE2b-256 0ec2dc9c438d70041df7223afcc17a23a4b4cd7a4dc566467d4c2e2a11dae459

See more details on using hashes here.

File details

Details for the file embuild-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: embuild-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for embuild-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fdb7fa889fdfc802094334b1f9cc4db1f6d7caec2fea64dc2cf3b3d2001a43f0
MD5 4412f059a53b4596aeff9437c0f85358
BLAKE2b-256 b8b83cb6e9407e0b1fb26c941ce12697a1a409f9ff9deaa8940ef4ffd67fd261

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page