Skip to main content

Simpler CMake project initializer script for C++

Project description

cmakestrap

Simpler CMake project initializer script for C++ (with Conan).

Motivation

There is no C++ with CMake project initializer script in the wild except for cmake-init. Unfortunately, the generated files from it are too much for my liking. Looking at this issue, that has been up for 2 years, it seems that the author is not interested in providing an option to generate a simpler, thinner, project structure. This script is an attempt to provide that.

Installation

cmakestrap is available from PyPI:

pip install --user cmakestrap

Dependencies

  • Python 3.12+
  • CMake 3.16+ (might need higher version for newer C++ features)
  • Conan 2 (for dependency management)

Features

This script provides a simple way to bootstrap a C++ project with CMake (build system) and Conan (dependency management). You can generate projects in 3 mode:

  • Executable mode (default): generate a traditional C++ project structure with headers and such.
  • Library mode: generate a header only library project (C++20).
  • Modules mode: generate a CMake module project (requires CMake 3.28+ and supported compilers).

Initializing a simple hello world project:

cmakestrap hello

To see the available options, run the script with the -h flag:

cmakestrap -h

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

cmakestrap-0.1.1.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

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

cmakestrap-0.1.1-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file cmakestrap-0.1.1.tar.gz.

File metadata

  • Download URL: cmakestrap-0.1.1.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for cmakestrap-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2c9a2d661d210a7490086d8bb9b77dc9b1244c2181822b73759096e105bed6f2
MD5 09b467d9510eedf2ebc65bf1195379e7
BLAKE2b-256 2b0e338bc618f1364a1cc90e474873a36c070da736bac1dc8265031c122b9bb6

See more details on using hashes here.

File details

Details for the file cmakestrap-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: cmakestrap-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for cmakestrap-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 65c38c0bc03e2b04923eb694a743741f510d6c135c014964f42eaf2664d540ed
MD5 ae1e6251728d564d7555b1aa9c96ca50
BLAKE2b-256 3dc4b1b4cf58f6d89bce3a0440dbe33b783d45ab8fefc5c9dcbc314248c8fbaf

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