Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/scandyna/mdtcmakeconfig

Global scope MdtConfig.cmake
https://github.com/scandyna/mdtcmakeconfig

Last synced: 3 days ago
JSON representation

Global scope MdtConfig.cmake

Awesome Lists containing this project

README

        

# Global scope MdtConfig.cmake

[![pipeline status](https://gitlab.com/scandyna/mdtcmakeconfig/badges/experimental/pipeline.svg)](https://gitlab.com/scandyna/mdtcmakeconfig/-/pipelines/latest)

[[_TOC_]]

# Usage

This illustrates what a Mdt library should do
so that the user can use the CMake `find_package()`
component syntax:
```cmake
find_package(Mdt0 REQUIRED COMPONENTS PlainText)
```

## Project using Conan

The library should depend on `MdtCMakeConfig`:
```txt
[requires]
mdtcmakeconfig/0.x.y@scandyna/testing
```

The user project will then use the library:
```txt
[requires]
mdtplaintext/0.x.y@scandyna/testing
```

## Install the Debian package

The library should depend on `MdtCMakeConfig`:
```bash
sudo apt-get install mdt0plaintext
# Will also install mdt0cmakeconfig
```

Note: Debian package is not implemented yet

# Work on MdtCMakeConfig

## Build and test

See [BUILD](BUILD.md).

# Rationale

## Conan

To create Conan packages that support `find_package` COMPONENTS syntax
with the new Conan generators is discussed in [Split Qt packages](ConanSplitQt.md).

There are also some issues about that:
- [CMake find_package() COMPONENTS syntax across Conan packages #11495](https://github.com/conan-io/conan/issues/11495)
- [CMakeDeps generator: merge cpp_info of different recipes if common cmake_file_name #10229](https://github.com/conan-io/conan/issues/10229)

## No package manager

[Here](NoPackageManager.md)
are some thought about usage without a package manager.

## Background

[Here](MdtBackground.md) are also some other discussions about Mdt.