def sortSources(sources):

    pchSource = devon.projects.pchH
    if sys.platform == "win32":
        pchSource = pchSource.replace(".h", ".cpp")
        
    pchFound = None
    pchLen = len(pchSource)
    sorted = []
    for source in sources:
        if source[-pchLen:] == pchSource:
            pchFound = source
        else:        
            modTime = os.path.getmtime(source)
            sorted.append((modTime, source))

    sorted.sort(reverse=True)
    sources = [pair[1] for pair in sorted]
    
    if pchFound:
        sources.insert(0, pchFound);

    return sources

# **************************************************************************************************
Metaclass that wraps exception type in RemoteException
dataset/ETHPy150Open joehewitt/devon/devon/make.py/sortSources--crossover with--dataset/ETHPy150Open dask/dask/dask/async.py/remote_exception