2014-04-03 8 views

Antwort

7

Die Antwort von steveire Links auf die richtigen Ressourcen, aber lassen Sie mich diese Verbindungen explizit im Fall erklären verschwinden.

CMake Befehl Groß- und Kleinschreibung, aber Kleinschreibung wird im Jahr 2012 nach CMake Entwickler Brad König empfohlen:

Antike CMake Versionen erforderlich Groß- Befehle. Später Befehl Namen wurde Groß-und Kleinschreibung. Jetzt ist der bevorzugte Stil in Kleinbuchstaben.

Der Shell-Code, den Fall zu senken, wurde inspiriert durch den Code hinter den Links steveire Antwort erlaubte mein Projekt CMakeLists.txt Datei zu konvertieren:

Es hat die folgenden Verbesserungen
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 

:

  • grep -v "cmake version" wird nicht mehr benötigt, da es scheint, dass der --help-command-list Ausgang das nicht mehr enthält
  • die ursprüngliche regex ein \b enthalten ist, die es nicht irgend etwas mit GNU statt
  • sed 4.2.2 entsprechen gemacht, muss der Cmake Befehl von einem Nicht-Schreiben vorausgehen/unterstreichen oder der Anfang der Zeile
  • statt Umwandlung Wenn der Befehl cmake für alle Großbuchstaben verwendet wird, wird die Groß-/Kleinschreibung bei Groß- und Kleinschreibung ignoriert. Dies wird auch finden und konvertieren gemischte Fälle wie Find_Package.
  • Es gibt keine spezifischen Teile für die CMake Codebasis. Ändern Sie, um zu Ihrem zu passen. Dieses einfache Konstrukt war genug für meine.