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.

What it does.

  • 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
└── candie-proj.conf   # Config file

You can create .c and .cpp files in the src dir. but all these files should be in the src dir only. It cant have sub-directories.
You can put header files in seperate directory inside of the src directory but not the .c and .cpp files.

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]
windows = x86_64-windows    # for 64 bit windows
linux = x86_64-linux        # for 64 bit linux
macos = aarch64-macos       # for ARM 64 macos

...

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.0.0.tar.gz (9.5 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: candie_kit-1.0.0.tar.gz
  • Upload date:
  • Size: 9.5 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.0.0.tar.gz
Algorithm Hash digest
SHA256 1e1c06f95de88321834232af201c75f9bbcf7da252a48e066b9ebe01ee2a0623
MD5 66d69d843fe1dd01e501bb70fa40652a
BLAKE2b-256 10f10f36304bdb057508d59b7979118ca09ccc4cc82b610d18f7e48779cfd807

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