Skip to main content

A hassle free C (gcc) JSON build system.

Project description

Ceasium

A hassle free JSON based GCC build system.

Introduction

C is a great language, but tooling around it like CMake or Make are a bit complicated. While CMake is great when it comes to being able to specify a complicated build, its syntax has a steep learning curve and is quite cumbersome and non-intuitive. Thus I created Ceasium.

Features

Ceasium features most of the things that are regularly needed.

  • pkg-config to resolve C_FLAGS and LD_FLAGS
  • Ability to specify your own C_FLAGS and LD_FLAGS
  • Build executables, static and dynamic libraries
  • .c file discovery within a given directory
  • Caching based on modification date including dependency discovery
  • Exclusion of certain .o files when linking

Installation

pip install ceasium

Prerequisites

  • Python
  • GCC compiler
  • pkg-config

Usage

Ceasium provides these commands:

  • cs init
  • cs build
    • [Optional] <src.json/test.json/whatever.json> specify which json file to build
  • cs clean

Configuration

Example config:

{
  "name": "game-engine",
  "type": "exe",
  "cflags": [
    "-I./include",
    "-g",
    "-W",
    "-Wall",
    "-O3",
    "-fopenmp",
    "-fdiagnostics-color=always"
  ],
  "ldflags": ["-lopengl32", "-fopenmp"],
  "libs": ["glew", "sdl2", "glib-2.0", "assimp"]
}

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

ceasium-0.16.0.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

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

ceasium-0.16.0-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file ceasium-0.16.0.tar.gz.

File metadata

  • Download URL: ceasium-0.16.0.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.1 CPython/3.12.2 Linux/6.2.0-1019-azure

File hashes

Hashes for ceasium-0.16.0.tar.gz
Algorithm Hash digest
SHA256 a0be5d3a68831ddfce28765467264c3b2510f7bd865731527c689f18666a6a05
MD5 0b22f77ca0868d627e1e3cb26601870b
BLAKE2b-256 19351eeb242e1e37d5379e7229cce7aed203492272a31c9ed3117401f362ae8c

See more details on using hashes here.

File details

Details for the file ceasium-0.16.0-py3-none-any.whl.

File metadata

  • Download URL: ceasium-0.16.0-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.1 CPython/3.12.2 Linux/6.2.0-1019-azure

File hashes

Hashes for ceasium-0.16.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cc96409b2207f10b64c083ae1659307b9c40fa51fe65e471fc2d318d388e5245
MD5 693a98a5dab106c98832f08126fb04c4
BLAKE2b-256 0cbd19afb7d41f68ea0b208f558013f516502499c0ae2ef1d45ab7fa37c07443

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