3 Stimmen

Globbing-Ausdruck in CMake: Kann ich Klammern verwenden?

Im Theorie sollte cmake eigentlich Ausdrücke mit Platzhaltern unterstützen, ähnlich wie ein glob-Befehl.

Allerdings finde ich keinen Weg, um zum Beispiel "eine Sequenz von 3 Zahlen oder nichts" zu finden. Ich vermute, es sollte irgendwie so aussehen:

file (GLOB outputVar *theImportantStringIWantedToMatch{[0-9][0-9][0-9],}.dll)

Aber es scheint nicht zu funktionieren. Zum Beispiel:

*opencv_*flann{[0-9][0-9][0-9],}.a

passt nicht zu einer Datei namens

libopencv_flann.a

(Sollte auch zu libopencv_flann462.a passen, zum Beispiel)

Es passt nicht einmal, wenn ich einen Ausdruck wie diesen verwende:

*opencv_*flann{.,.}a

Das Escapen von Klammern oder dem Komma hilft nicht. Gibt es einen Weg, um Klammern zum Funktionieren zu bringen oder eine Alternative zu dem Ausdruck, den ich versuche zu erreichen?

0voto

Antonio Punkte 18108

Also, im Moment ist die einzige Lösung, die mir einfällt, die Ausdrücke in den beiden Versionen zu wiederholen, nämlich:

file (GLOB outputVar *theImportantStringIWantedToMatch[0-9][0-9][0-9].dll
                     *theImportantStringIWantedToMatch.dll
     )

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X