Where is the source code that allows new coins to be generated?
You are looking for the method CAmount GetBlockSubsidy(int nHeight, const Consensus::Params&amp; consensusParams) in main.cpp.

CAmount GetBlockSubsidy(int nHeight, const Consensus::Params&amp; consensusParams)
{
    int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;
    // Force block reward to zero when right shift is undefined.
    if (halvings &gt;= 64)
        return 0;

    CAmount nSubsidy = 50 * COIN;
    // Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years.
    nSubsidy &gt;&gt;= halvings;
    return nSubsidy;
}


Further explanation:
 nHeight is the number of blocks that have been found.
 consensusParams.nSubsidyHalvingInterval are 210000 blocks, the interval of the halvings
 COIN is 10^8, the number of satoshi in one bitcoin
 nSubsidy finally gives the number of satoshi that the coinbase may create