Skip to main content

cmake-common

Basic usage Boost (toolsets) Examples (toolsets)

Utilities to help develop C++/CMake projects.

Description

This main goal of this project is to make it easier to build (potentially, cross-compile) Boost and CMake projects using different toolsets. It does so by providing a set of command-line utilities that allow users to download/build Boost & use it in a CMake project in a consistent way — no matter the compiler or the target platform.

Installation

Alternatively, you can simply checkout this repository or use it as a git submodule. All scripts provided by the PyPI package are thin wrappers around the project package modules:

Script Module
boost-download python -m project.boost.download
boost-build python -m project.boost.build
project-build python -m project.build

Toolsets

Supported platform/build system/compiler combinations include, but are not limited to:

Platform Build system Compiler
Linux make Clang
GCC
MinGW-w64
Windows make [1] Clang [2]
MinGW-w64
msbuild MSVC
  1. Both GNU make and MinGW mingw32-make.
  2. clang-cl is supported by Boost 1.69.0 or higher only.

All of those are verified continuously by the Boost (toolsets) and Examples (toolsets) workflows.

For a complete list of possible --toolset parameter values, pass the --help-toolsets flag to either boost-build or project-build.

Usage

Boost

Download & build the Boost libraries in a cross-platform way.

$ boost-download 1.72.0
...

$ boost-build boost_1_72_0/ filesystem program_options
...

Pass the --help flag to view detailed usage information.

CMake project

Build (and optionally, install) a CMake project.

$ project-build --configuration release --install path/to/somewhere --boost path/to/boost -- examples/simple build/
...

$ ./path/to/somewhere/bin/foo
foo

Pass the --help flag to view detailed usage information.

Additional tools

Examples

I use this in all of my C++/CMake projects, e.g. aes-tools and math-server.

License

Distributed under the MIT License. See LICENSE.txt for details.

Metadata

Release files for cmake-common 8.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cmake-common 8.0.2
File Size Uploaded Provenance Actions
cmake_common-8.0.2.tar.gz 38.9 kB Without provenance Details for cmake_common-8.0.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for cmake-common 8.0.2
File Interpreter ABI Platform Actions
cmake_common-8.0.2-py3-none-any.whl Python 3 none any Details for cmake_common-8.0.2-py3-none-any.whl

Total release size: 68.3 kB

Release files / cmake_common-8.0.2.tar.gz

Download URL cmake_common-8.0.2.tar.gz
Size 38.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e0b51d9c012390e300bb8ae35784eaff5c11319e66ecfa653084e33f6434ecb9
BLAKE2b-256 checksum
How to use checksums
b2df8d859b01cdbe0ea4a615e495b32fdc66e3c18a3a3d95ed5d9ccb2e8fe7e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / cmake_common-8.0.2-py3-none-any.whl

Download URL cmake_common-8.0.2-py3-none-any.whl
Size 29.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4ed87aaab08dd327161b8e730f73099ef366f55eb118eb145d3484151240aa7f
BLAKE2b-256 checksum
How to use checksums
811881aeb5bf8eacd82b25a4738411a4c62be3220b1d97ba45729888696ca598
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for cmake-common 8.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

8.0.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page