2017-10-12 5 views
0

Je suis en train de faire le travail Ninja avec CMake sur FreeBSD 10,3Obtenez de CMake de commande de test Ninja

cmake -GNinja .. 
-- Configuring done 
CMake Error: 
    The detected version of Ninja() is less than the version of Ninja required 
    by CMake (1.3). 

-- Build files have been written to: /home/me/pj/_build 

Je mets un compilé localement (tag git v1.8.2) Ninja dans ~/bin/ninja (ce qui est dans mon $PATH).

$ cmake -version 
cmake version 3.4.1 
$ ninja --version 
1.8.2 

J'essaie aussi d'ajouter -DCMAKE_MAKE_PROGRAM=ninja et -DCMAKE_MAKE_PROGRAM=~/bin/ninja sans effet. J'ai aussi essayé de voir si le ninja était vraiment appelé (en mettant un script en train d'écrire un nouveau fichier) et on dirait qu'il n'a jamais été appelé.

Y at-il un moyen de voir quelles commandes sont utilisées pour vérifier la version Ninja? En inspectant le CMakeCache.txt généré, vous devriez être capable de dire quelle version ninja est sélectionnée par CMake.

Répondre

0

Dans CMakeCache.txt vous devriez avoir quelque chose de similaire à:

//Path to a program. 
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/ninja 

qui pourrait dire quelle version ninja est choisi par défaut et si -DCMAKE_MAKE_PROGRAM est respecté ou d'une raison ignorée.

Aussi, vaut la peine d'examiner les CMakeOutput.log et CMakeError.log générés.

Je suggère également d'ajouter ninja à votre PATH, en espérant que CMake choisirait à partir de là.