function(VarsFromFile filename)
    if (EXISTS ${filename})
        file(STRINGS ${filename} ConfigContents)
        foreach(NameAndValue ${ConfigContents})
            # Strip leading spaces
            string(REGEX REPLACE "^[ ]+" "" NameAndValue ${NameAndValue})
            # Find variable name
            string(REGEX MATCH "^[^=]+" Name ${NameAndValue})
            # Find the value
            string(REPLACE "${Name}=" "" Value ${NameAndValue})
            # Set the variable
            set(${Name} "${Value}" PARENT_SCOPE)
        endforeach()
    endif ()
endfunction(VarsFromFile)