function( msglist INPUTS ) foreach(src ${INPUTS}) message( ${src} ) endforeach(src) endfunction( msglist INPUTS ) macro( filter_out FILTERS INPUTS OUTPUTS ) set( FOUT "" ) foreach( INP ${INPUTS} ) set( FILTERED 0 ) foreach( FILT ${FILTERS} ) if( ${FILTERED} EQUAL 0 ) if( "${FILT}" STREQUAL "${INP}" ) set( FILTERED 1 ) endif( "${FILT}" STREQUAL "${INP}" ) if( ${INP} MATCHES ${FILT} ) set( FILTERED 1 ) endif( ${INP} MATCHES ${FILT} ) endif( ${FILTERED} EQUAL 0 ) endforeach( FILT ${FILTERS} ) if( ${FILTERED} EQUAL 0 ) set( FOUT ${FOUT} ${INP} ) endif( ${FILTERED} EQUAL 0 ) endforeach( INP ${INPUTS} ) set( ${OUTPUTS} ${FOUT} ) endmacro( filter_out FILTERS INPUTS OUTPUTS )