Source code for skbuild.platform_specifics.cygwin
"""This module defines object specific to Cygwin platform."""
from __future__ import annotations
import sys
import textwrap
from . import abstract
from .abstract import CMakeGenerator
[docs]
class CygwinPlatform(abstract.CMakePlatform):
"""Cygwin implementation of :class:`.abstract.CMakePlatform`."""
def __init__(self) -> None:
super().__init__()
self.default_generators = [CMakeGenerator("Ninja"), CMakeGenerator("Unix Makefiles")]
@property
def generator_installation_help(self) -> str:
"""Return message guiding the user for installing a valid toolchain."""
pyver = ".".join(str(v) for v in sys.version_info[:2])
return textwrap.dedent(
f"""\
Building Cygwin wheels for Python {pyver} requires Cygwin packages
ninja or make and compilers from e.g. gcc-core and gcc-g++.
Get them here:
https://cygwin.com/packages/package_list.html"""
)