2016-07-28 9 views
6

Ich würde in ähnlicher Weise in der Lage sein mag, wie ich cmake wieCtest aus einem anderen Verzeichnis ausführen als das von cmake verwendete Verzeichnis?

cmake -H<src-directory> -B<bld-directory> cmake --build <bld_directory>

zu laufen ctest wie

ctest --build <bld_directory>

Offensichtlich ctest aus dem Willen Arbeit laufen laufen kann, aber es wäre schön, wenn ich nur ctest sagen könnte, wo nach seiner Konfigurationsdatei zu suchen ist und wo sich die ausführbaren Testdateien befinden.

Aus der Dokumentation ist nicht ganz klar (oder ich habe vielleicht nicht an der richtigen Stelle gesucht), ob dies überhaupt möglich ist oder nicht.

Es wäre schön, wenn jemand etwas Licht in die Sache bringen könnte, wenn das möglich ist oder nicht? Vielen Dank, Jiri

Antwort

2

Ich kann den Weg nicht findet es durch ctest Optionen zu tun, aber es ist machbar die Regel make test verwendet, die CTest verbunden ist.

Im Makefile erzeugt durch cmake in Ihrem Build-Ordner können Sie die Regel finden:

#Special rule for the target test 
test: 
    @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." 
    /usr/bin/ctest --force-new-ctest-process $(ARGS) 
.PHONY : test 

make bietet die Option, die Sie mit -C /path/to/build_directory/ wollen, und Sie können mit ARGS='your ctest options here'

keine ctest Optionen hinzufügen Beispielsweise können Sie in ein beliebiges Verzeichnis in Ihrem System schreiben:

make test -C /path/to/build_folder ARGS='-R SpecificTestIWantToRun -VV'