I am researching a current, modern ways how to implement CMAKE based build system for my project which is currently based on handwritten makefiles.
The main part is written in C and consists of several libraries and executables, some additional parts are written in C++, bash and Python. (Plus I would like to leave the doors open for possible other languages in the future.) The Python part is Cython wrappers around the C code, Python C extension library (which could be in due time rewritten in Cython), modules (libraries and executable) which build on these wrappers and then some pure Python modules included just as examples or additional resources (all have logical connection to the core project).
And now I am wondering, how I should implement in CMAKE, so I am using the latest Python advancement and procedures. Testing in virtual environment against multiple versions, source layout, building wheels, source distribution and native Linux distributions packages. All project I have seen, like scikit-build or others on Github are wrapping CMAKE in Python Setuptools (or Distutils). I want for CMAKE to stay the main driving force as the Python part should be only an option.
Is there any recommendation for PEP517+PEP518 using CMAKE? I have seen something like it mentioned for Meson and SCons.
Should I just call the standard Setuptools build from CMAKE and create the pyproject.tomls and setup.cfgs as templated files?
Anybody else solved this?