3

我正在尝试通过 Google 构建 BoringSSL。BUILDING 文件说明清楚地表明输出应该放在构建目录下。

我有一个目录project,在它下面我创建了build. 下有一个 CMakeLists.txt 文件project,我希望它在build目录中构建。但是,当我cmake ..从内部运行时build,生成文件是在project目录而不是当前build目录中生成的。

我发现的大多数指令似乎表明 cmake 的输出进入当前目录,无论 CMakeLists.txt 位于何处。我做错了什么?

4

2 回答 2

2

事实证明,由于我在顶级project目录中运行了 cmake,因此从内部再次运行它build并没有产生新的输出。从中删除 CMakeCache.txtproject应该可以解决问题。

于 2014-07-22T01:34:59.107 回答
0

我制作了以下文件/目录:

.
`-- project
    |-- build
    `-- CMakeLists.txt

使用 CMakeLists.txt 内容:

PROJECT(TEST)
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

然后我进入 ./project/build 文件夹并运行cmake ..

[~/project/build] cmake ..
-- The C compiler identification is Intel 13.1.0.20130313
-- The CXX compiler identification is Intel 13.1.0.20130313
-- Check for working C compiler: /usr/local/bin/icc
-- Check for working C compiler: /usr/local/bin/icc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/local/bin/icpc
-- Check for working CXX compiler: /usr/local/bin/icpc -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Configuring done
-- Generating done
-- Build files have been written to: ~/project/build

所有生成的文件都在./project/build文件夹中。

尝试打开您的 CMakeCache.txt 文件(它应该在您运行 CMake 的目录中生成)并检查 TEST_BINARY_DIR 和 CMAKE_CACHEFILE_DIR 等变量。例如,它们应该设置为您的构建目录。

于 2014-07-22T00:36:34.737 回答