Как исправить поврежденную сборку CMake? - PullRequest
24 голосов
/ 21 февраля 2009

Я получаю следующую ошибку от CMakeSetup в нашем дереве исходных текстов:

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

Удаление кеша не помогает, поэтому проблема в одном из списков CMakeLists. Странная часть заключается в том, что если я скопирую файл CMakeCache.txt из старой версии дерева и отредактирую его так, чтобы пути соответствовали, то CMake затем успешно настроится ... и даже после удаления этого фиксированного кэша он продолжит настроить успешно.

Есть идеи, что мне искать?

В неверном CMakeCache.txt при его создании отсутствуют две переменные: Project_BINARY_DIR и Project_SOURCE_DIR.

1 Ответ

37 голосов
/ 22 февраля 2009

Ваш проект объявлен вверху и в вашем базовом файле CMakeLists.txt или, по крайней мере, его нужно объявить до того, как он понадобится, из которых вверху проще всего. Похоже, это ошибка в cmake. http://www.mail-archive.com/cmake@cmake.org/msg13392.html

т.е.

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)

...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...