Skip to main content

A CLI Build tool for C/C++ projects

Project description

Candie

A simple build tool for C/C++ projects that eliminates the need of using Makefiles.

!Important Note
It needs zig and vcpkg installed in your system. If not installed most of its features wont work.

Installation

Run this command in you terminal, to install using the python pip package manager.

pip install candie.kit

What it does.

In the project directory.

  • It keeps track of source (.c, .cpp) files.
  • Recompiles the files that has been modified or newly added.
  • Caches the files which has been compiled so it does not have to compile it again if its not modified.

Project structure.

The candie create <project_name> will create the project in the directory where you run the command.

├── .candie/           # Dont edit these files
│   ├── pkg-index.json/
│   └── log-file.json/ 
├── include/           # Header files
├── lib/               # Libraries
│   └── pkgconfig/
├── debug/
│   ├── lib/           # Debug libraries
│   │   └── pkgconfig/
│   └── bin/
│       ├── cache/     # Cached object files
│       └── output/    # Debug binary
├── build/             # Release binary
├── src/               # Source files
└── proj-config.toml   # Config file

You can create .c and .cpp files in the src directory.

Make & Run.

You can create an executable for debugging by running the candie make command. Then run that executable by running candie run command.

Packages.

Adding and Removing vcpkg packages is pretty easy.

candie add <package_name> add the package.
candie remove <package_name> remove the package.

It will just copy the include and lib files of the package from the vcpkg installed directory to the project directory.

Build.

To build the project for multiple platforms. you can add more targets to the project config file [Build] table.

[Project]
name = "example-app"
description = "example project"
version = "0.0.1"

[Build]
flags = "-Wall -Werror"     # additional flags can be added
targets = [
    "x86_64-windows",       # for 64 bit windows os
    "x86_64-linux",         # for 64 bit linux os
    "aarch64-macos",        # for ARM 64 bit macos
]


[requirements]              # this will be added by build tool
[[requirements.package]]    # installed packages will be listed here
name = "package-name"
description = "package-description"
url = "package-website-url"
version = "package-version"

...

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

candie_kit-1.1.4.tar.gz (11.3 kB view details)

Uploaded Source

File details

Details for the file candie_kit-1.1.4.tar.gz.

File metadata

  • Download URL: candie_kit-1.1.4.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.7

File hashes

Hashes for candie_kit-1.1.4.tar.gz
Algorithm Hash digest
SHA256 78fb5bb7baead797decf41ba8b592c872fd5cf17888a8dab9a4e3d06a7397f68
MD5 9ac7a738bc5517ff728502389bc6a53b
BLAKE2b-256 9dbb3543051b78f00ff899731bd34ceb803b5100fe294373d60734f12766f880

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