我对cmake感到很沮丧,因为我正在努力学习并正确使用它。
这是我的设置:
我有一个名为~/project
的目录。在这个目录中,我有:
build
目录source
目录includes
目录。CMakeLists.txt
档案。此CMakeLists.txt
文件的内容为:
cmake_minimum_required(VERSION 2.8)
project(myProject)
subdirs(source)
我在CMakeLists.txt
中还有另一个~/project/source
,其内容为:
cmake_minimum_required(VERSION 2.8)
include_directories("~/project/includes")
add_executable(exec entry.cpp)
现在,我进入构建目录,该目录为空,并执行cmake ..
。这很好用。然而,我接着看到了一个'来源'目录创建如here所示。
为什么要创建?我不知道发生了什么事。根据我的理解,它不应该这样做,它应该给我我在这里看到的一切,除了源'目录。
感谢。
答案 0 :(得分:1)
在构建目录中,CMake重新创建项目的整个目录结构。理性是,保持项目结构。想象一个更大的项目,包含几个级别的子文件夹和源,库和测试以有意义的方式分散。要运行测试,请遵循测试源所在的结构,只需在构建目录而不是源目录中。
作为您的项目,至少就CMake而言,它只是source
子目录,只创建了这个文件夹。
如果你真的只有源项目,我不确定将CMake项目放在source
内是否更好。