【发布时间】:2021-02-19 06:54:00
【问题描述】:
问题 Debug vs Release in CMake 表示
cd ~/codebase
mkdir Release
cd Release
cmake -DCMAKE_BUILD_TYPE=Release ..
make
将在release 中创建 Makefile,并在那里构建二进制文件。中间 .o 文件将位于 this 的子目录中。
但是,当我对我的项目执行此操作时,CMake 会忽略启动它的 PWD。最终目标始终是包含CMakeList.txt 的目录~/codebase/。
在 cmake-gui 工具中,我将源目录和构建目录指定为同一目录,FQN 到代码库
我是 CMake 的新手,不知道如何让它按我的预期工作。我应该修改什么才能按预期完成这项工作?
【问题讨论】:
-
如果你希望你的构建在一个子文件夹中,你为什么要指定源和构建到同一个目录? “在cmake-gui工具中,我指定source和build目录是同一个目录” 在gui中,你应该将source指向带有CMakeLists.txt的文件夹,并将build指向不同的文件夹(没关系如果它是一个子文件夹或者它在其他地方的单独文件夹中)。
-
我还想通过在我的命令中将
Release替换为Debug来进行调试构建。我不想将 Release 子目录硬连线到 cmakecache.txt 文件中 -
你需要为每个调试和发布版本有一个不同的文件夹...在调试和发布文件夹中都会有一个 CMakeCache.txt 文件。
标签: cmake