As I am used to producing my PCBs by milling machine, sometimes I had the issue with the non-circular holes, generated by KiCad software.
Usually after the design is exported from KiCad to the gerber file format, I use FlatCAM to generate g-code from gerber data. It is an excellent program, except it is not able to generate data for non-circular holes.
Therefore I programmed a piece of code (in Visual Studio from Microsoft), which is able to generate such data and can help you to have your PCB as good as possible.
You can download the software itself here:
It is important to have both of the files in one folder to successfully import configuration data during program initialization.