我在源代码树上从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。
答案 0 :(得分:37)
您的项目是在顶部和基础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)
...