我正在学习CMake,我在理解其多步骤工作流程时遇到了问题.到目前为止,我的理解是你:
CMakeLists.txtcmake从子目录运行以生成构建文件(在我的情况下为Makefile)make但是,我不明白你应该如何处理不同的目标(Release vs Debug).通过在两个不同的子目录中运行CMake?
另外,我不明白你为什么要编辑CMakeCache.txt(还有一个GUI工具)../configure通过传递不同的选项来模仿你将要实现的目标?
你得到的非常正确.该write CMakeLists.txt> cmake> make序列是正确的.
关于不同的配置(调试与发布),您必须区分多配置生成器(Visual Studio,XCode)和单配置生成器(其他所有内容).使用多配置生成器,您可以生成一个包含所有配置的构建系统(例如解决方案文件),并在构建时进行选择.
对于单配置生成器,通过生成不同的构建系统,即通过在不同目录中多次运行CMake(以及具有不同的CMAKE_BUILD_TYPECMake变量值)来获得不同的配置.
所以你会做这样的事情:
> cd my_project/bld/debug
> cmake ../../src -DCMAKE_BUILD_TYPE=Debug
> cd ../release
> cmake ../../src -DCMAKE_BUILD_TYPE=Release
Run Code Online (Sandbox Code Playgroud)
关于编辑缓存(通常通过CMake GUI或ccmake):你再次正确,这很大程度上对应于./configure从AutoMake世界传递选项.这将是新下载项目的典型工作流程(使用CMake GUI):
| 归档时间: |
|
| 查看次数: |
2044 次 |
| 最近记录: |