Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/karmakrafts/cmx

Shared CMake infrastructure for Karma Krafts projects.
https://github.com/karmakrafts/cmx

build cmake cmake-scripts cplusplus make tooling

Last synced: about 2 months ago
JSON representation

Shared CMake infrastructure for Karma Krafts projects.

Awesome Lists containing this project

README

        

# cmx

CMake Extensions (or cmx for short) is a collection of useful, cross-platform CMake modules for integrating popular libraries into your projects.
It can be used as a lightweight alternative to vcpkg if the required dependencies are supported. It also provides various utilities like platform, CPU architecture and OS-related compile definitions, as well as useful macros for defining targets more easily.

### Using cmx in your project

In order to use cmx in your own project, you will need to include the cmx-bootstrap module which takes care of downloading all other modules and keeping them up-to-date. In order to add the bootstrap module to your project, use the following command:

```shell
wget https://getcmx.karmakrafts.dev
```

You can also manually download the bootstrapper by following the [aformentioned link](https://getcmx.karmakrafts.dev).

After you added the bootstrapper to your project, you can include cmx by adding the following two lines to your CMakeLists file:

```cmake
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}")
include(cmx-bootstrap)
```