如何修复明显损坏的CMake构建?

时间:2009-02-20 21:25:45

标签: cmake

我在源代码树上从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 个答案:

答案 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)

...