Как мне исправить явно поврежденную сборку CMake?
-
05-09-2019 - |
Вопрос
Я получаю следующую ошибку от 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.Странная часть заключается в том, что если я скопирую в a CMakeCache.txt из старой версии дерева и отредактирую его так, чтобы пути совпадали, CMake затем успешно настроится...и даже после удаления этого исправленного кэша он продолжает успешно настраиваться.
Есть какие-нибудь идеи, на что мне следует обратить внимание?
В bad отсутствуют две переменные CMakeCache.txt когда он генерируется:Project_BINARY_DIR и Project_SOURCE_DIR.
Решение
Объявлен ли ваш проект вверху и в вашей базе данных 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)
...