Some CECP engines (Micro-Max for example) omit to append the 'q' symbol to promotion moves. So it is impossible for now to use these engines with cutechess-cli. (See this discussion.)
For the fun, I wrote an adapter which allows to use these engines with cutechess-cli. It works more or less like Wb2UCI or InBetween. It transmits the user's messages to the engine, and vice versa. It has an internal chessboard where it plays all moves. So it is able to recognize when the engine does a promotion, and in that case it appends a 'q' to the move. That's all.
The adapter is an enhanced version of the program that I named Substitute.
That's why, for now, the executable is named substitute. I have not yet found a name for that tool.
To use the adapter with another engine, you have to edit substitute.ini, or to run substitute with the engine name as parameter.
The adapter uses my chess library (included in the package).
I tested it only on Linux, but it should compile and work on Windows. A script for Windows compilation is included (build.cmd).
Here is a ZIP file with source code and Linux binaries: micromax2cutechess.zip
Please tell me 1° what you think about my program; 2° if it works for you; 3° if you manage to compile it on Windows... And 4° help me to find a name for it!

Regards.
Roland
P.-S. And 5° help me to write a simple documentation. All that is hard to explain when English is not your language.