gpt4 book ai didi

linux - 为什么 cmake 在我的构建目录中创建一个 'source' 目录?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:57:13 24 4
gpt4 key购买 nike

我对 cmake 感到有点沮丧,因为我正在尝试学习它并正确使用它。

这是我的设置:

我有一个名为 ~/project 的目录。在这个目录中,我有:

  • 构建目录
  • 目录
  • 包含目录。
  • CMakeLists.txt 文件。

CMakeLists.txt 文件的内容是:

cmake_minimum_required(VERSION 2.8)
project(myProject)
subdirs(source)

我在~/project/source里还有一个CMakeLists.txt,它的内容是:

cmake_minimum_required(VERSION 2.8)
include_directories("~/project/includes")
add_executable(exec entry.cpp)

现在,我进入空的构建目录,然后执行 cmake ..。这很好用。但是,我随后看到创建了一个“源”目录,如图所示 here .

为什么要创建这个?我不知道发生了什么事。据我了解,它不应该这样做,它应该给我在这里看到的所有内容,“源”目录除外。

谢谢。

最佳答案

在您的构建目录中,CMake 会重新创建项目的整个目录结构。合理的是,保持项目结构。想象一个更大的项目,其中包含以有意义的方式分散的多个级别的子文件夹和源、库和测试。要运行测试,您需要遵循测试源所在的结构,只是在构建目录而不是源目录中。

作为您的项目,至少就 CMake 所知,只有 source 子目录,所以只创建此文件夹。

如果您真的只有源项目,我不确定将 CMake 项目放在 source 中是否会更好。

关于linux - 为什么 cmake 在我的构建目录中创建一个 'source' 目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24725580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com