the hashing influenced entries in the output.
Geany either:
1. if `-P` creates a temporary file full of `#include`s one for each file in the list and uses the C preprocessor to combine them, or
2. if no `-P` just copys the content of all the files in the list together into a temporary file and parses that.
Both of these do it in the hash table list order.
So, maybe to ensure reproducible output you can pre-combine the files you want in the order you want by running the C preprocessor first and then pass the result of that to Geany.
If you can get reproducible output without depending on implementation details that might change to support other languages besides C, that would be good.