2014-04-03 9 views

risposta

7

La risposta da collegamenti steveire alle giuste risorse, ma mi permetta di spiegare in modo esplicito nel caso in cui questi link svanire.

comando CMake sono case insensitive, ma minuscolo è consigliato in base al CMake sviluppatore Brad King nel 2012: i comandi

antiche versioni CMake richiesto maiuscole. Il comando successivo Nome diventa insensibile alla distinzione tra maiuscole e minuscole. Ora lo stile preferito è minuscolo.

Il codice shell che ha permesso di convertire il mio progetto CMakeLists.txt di file in minuscolo è stato ispirato dal codice dietro i link dei risposta di steveire:

cmake --help-command-list \ 
    | while read c; do 
     echo 's/\([^a-zA-Z_]\|^\)'"$c"'\(\s*\)(/\1'"$c"'\2(/gI' 
    done > convert.sed 
git ls-files -z -- '*CMakeLists.txt' | xargs -0 sed -i -f convert.sed 

Ha i seguenti miglioramenti:

  • grep -v "cmake version" non è più necessario perché sembra che l'output non lo contenga più
  • la regex originale conteneva un \b che ha reso non corrisponde ad alcuna cosa con GNU sed 4.2.2
  • invece, il comando cmake deve essere preceduto da un non-lettera/sottolineatura o l'inizio della linea
  • invece di convertire il comando cmake a tutto il maiuscolo, rende il case regex insensibile. Questo troverà anche e convertirà occorrenze di maiuscole e minuscole come Find_Package.
  • non ci sono parti specifiche per il codebase cmake. Modifica per adattarsi al tuo. Questo semplice costrutto era abbastanza per il mio.
Problemi correlati