2013-02-07 18 views
27

cmake dà questo avvertimento quando si costruisce uno script di terze parti:CMAKE_TOOLCHAIN_FILE non è stato utilizzato dal progetto

CMake Warning: 
    Manually-specified variables were not used by the project: 

    CMAKE_TOOLCHAIN_FILE 

C'è qualche consigli comuni Che cosa ho bisogno di controllare o come risolvere questo problema?

+0

Potresti fornire maggiori informazioni? Quale script, sistema operativo, versione cmake e quali opzioni della riga di comando avete usato per la generazione? –

+2

Non preoccupartene. Vedi il [maillist] (http://www.cmake.org/pipermail/cmake/2011-February/042556.html) per i dettagli. – Answeror

+0

@Answeror Good point – pospec4444

risposta

32

Questo è l'avviso standard che indica quando si sta assegnando un'opzione da riga di comando che non sta utilizzando. Ciò sta dando a -DFOO=bar di cmake quando CMakeLists.txt non usa la variabile FOO.

Ora, questo è un caso speciale qui: CMAKE_TOOLCHAIN_FILE viene utilizzato da CMake la prima volta che si configura la build, ma poiché non è possibile modificare la toolchain per una build già configurata, viene ignorata ogni altra volta , quindi l'avvertimento.

Come ha detto @Answeror, puoi tranquillamente ignorare l'avviso, ma se ti dà davvero fastidio, puoi nasconderlo dando --no-warn-unused-cli a cmake.

+21

Ho finito per rimuovere i file cmake con 'rm -rf CMakeCache.txt CMakeFiles /'. –

+1

Grazie mille per il commento sopra! Stavo cancellando CMakeCache.txt e non riuscivo a capire perché non funzionava ancora. Anche l'eliminazione di CMakeFiles è essenziale. – peastman

+0

Ho visto il commento molto tardi, quindi l'ho scritto di nuovo come risposta e spero che OP lo accetti. Complimenti a @js! – h0ru5

6

Nel caso in cui si ottiene questo messaggio con Clion dopo si imposta l'opzione -DCMAKE_TOOLCHAIN_FILE=xxx, ti consigliamo di eliminare tutti i CMake costruire le directory.

fare

Tools-> CMake -> Show Generated CMake Files in File Manager 

quindi eliminare tutti costruire le directory. Poi fate

Tools-> CMake -> Reload the CMake Project 

Una volta fatto questo, si continua a ottenere l'avvertimento, ma almeno si osserverà la prima volta che viene eseguito CMake.

1

Lo stesso è successo qui, come ha sottolineato @js, questo di solito significa che hai relitto di build di cmake da una configurazione passata.

Fare un rm -rf CMakeCache.txt CMakeFiles/ e il messaggio scomparirà la prima volta che si esegue il cmake -DCMAKE_TOOLCHAIN_FILE=foo.cmake .. La seconda volta, saranno di nuovo lì e come @Guilaume ha risposto che va bene.

P.S .: ho fatto un git clean --force ma dal momento che questi file sono di solito in .gitignore, che fa non resettare la compilazione.

Problemi correlati