2009-02-20 9 views
21

Sto ottenendo il seguente errore dal CMakeSetup sul nostro albero dei sorgenti:Come posso risolvere un build CMake apparentemente danneggiato?

CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. 
Missing variable is: 
CMAKE_FIND_LIBRARY_PREFIXES 

Cancellare la cache non aiuta, quindi qualcosa in uno dei CMakeLists deve essere il problema. La parte strana è, se copio in un CMakeCache.txt da una vecchia versione dell'albero, e la modifica in modo che i percorsi corrispondano, CMake verrà quindi configurato con successo ... e, anche dopo aver cancellato quella cache fissa, continua a configurare con successo.

Qualche idea di cosa dovrei cercare?

Mancano due variabili dal file CMakeCache.txt non valido quando viene generato: Project_BINARY_DIR e Project_SOURCE_DIR.

risposta

33

Il tuo progetto è dichiarato nella parte superiore e nel tuo file CMakeLists.txt di base o per lo meno questo deve essere dichiarato prima che sia necessario, di cui nella parte superiore è più semplice. Sembra che questo sia un bug in cmake. http://www.mail-archive.com/[email protected]/msg13392.html

cioè

PROJECT(inkscape) 

SET(INKSCAPE_VERSION 0.46+devel) 
SET(PROJECT_NAME inkscape) 
CMAKE_MINIMUM_REQUIRED(VERSION 2.4.6) 
SET(CMAKE_INCLUDE_CURRENT_DIR TRUE) 

... 
+0

Grazie, aggiungendo PROGETTO fissata con precisione il problema nelle versioni rotti del mio albero sorgente. – UltraNurd