在 Qt Creator 2.8文档 (现已不存在,可选择链接) 此处) 有一个截图显示了一个向导对话框,在那里我可以传递CMake命令行参数。
下面的截图显示了你如何为你的项目指定CMake的命令行参数。
是否有办法让这些设置不在那里,而是在一个 CMakeLists.txt
文件?
例如,如果我想让一个项目在release中编译,每次我都要键入 -DCMAKE_BUILD_TYPE=Release
进入该对话框。如何设置我希望项目以发布模式在 CMakeLists.txt
文件?
在QtC 4之前,当你建立CMakeLists.txt时,只需将其作为字符串传递即可。
自从QtC 4之后 "Tools" > "Options" > "Build & Run" > "Your kit" > "CMake configuration"
加一条线,然后重建。你可以走捷径 Ctrl+5 (Projects模式) > "Manage Kits...", too.
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DCMAKE_BUILD_TYPE=Release")
在你的CMakeLists.txt中试试这样的东西。
一些评论。因为 cmake 会缓存构建类型,你只需要在改变它的时候设置它。我在Linux上使用QtCreator和cmake,通常我有两种情况。1) 为Release和Debug建立单独的构建树,或者2) 将所有的东西都作为Release构建,然后使用Whitt的方法将构建类型设置为Debug,用于我需要交互式调试的几个项目。当我有完全不同的构建树时,我使用QtCreator与debug配置,然后只用终端来构建发布。
从Qt Creator 4开始,你可以在项目设置中设置CMake配置变量,具体如下。
打开 "Projects "侧边栏标签,在那里进入 "Build & Run →(你的构建配置)→Build → CMake"。
在CMake配置设置表中,检查你要定义的变量是否已经存在。如果存在,双击它的值并更改它。
如果变量还不存在,点击 添加选择类型,然后添加其名称和值。
如果你需要给你的变量分配多个值,请用""分隔它们。;
". 这就相当于CMake定义多值列表的方式。
点击列表下面的 "应用配置更改 "按钮。
虽然也可以在您的 CMakeLists.txt
makefile,最好避免只针对你的机器进行配置设置。这样一来,你可以将 CMakeLists.txt
到你的源代码库中,因为一个版本适合所有的开发人员,那么。