如何在Qt Creator中添加并使用自定义CMake构建类型?
在Qt Creator中添加并使用自定义CMake构建类型
方法一:通过CMakeLists.txt注册自定义构建类型
在项目根目录的CMakeLists.txt中,通过CMAKE_CONFIGURATION_TYPES变量声明你的自定义构建类型,同时配置对应的编译选项。示例如下:
# 声明自定义构建类型,追加到现有配置列表 set(CMAKE_CONFIGURATION_TYPES "${CMAKE_CONFIGURATION_TYPES};Foo;Bar;Baz" CACHE STRING "Available build configurations" FORCE) # 为Foo构建类型配置编译与链接选项 set(CMAKE_CXX_FLAGS_FOO "${CMAKE_CXX_FLAGS_DEBUG} -DFOO_BUILD" CACHE STRING "CXX flags for Foo configuration" FORCE) set(CMAKE_C_FLAGS_FOO "${CMAKE_C_FLAGS_DEBUG} -DFOO_BUILD" CACHE STRING "C flags for Foo configuration" FORCE) set(CMAKE_EXE_LINKER_FLAGS_FOO "${CMAKE_EXE_LINKER_FLAGS_DEBUG}" CACHE STRING "Linker flags for Foo configuration" FORCE) # 配置Bar构建类型 set(CMAKE_CXX_FLAGS_BAR "${CMAKE_CXX_FLAGS_RELEASE} -DBAR_BUILD" CACHE STRING "CXX flags for Bar configuration" FORCE) set(CMAKE_C_FLAGS_BAR "${CMAKE_C_FLAGS_RELEASE} -DBAR_BUILD" CACHE STRING "C flags for Bar configuration" FORCE) set(CMAKE_EXE_LINKER_FLAGS_BAR "${CMAKE_EXE_LINKER_FLAGS_RELEASE}" CACHE STRING "Linker flags for Bar configuration" FORCE) # 配置Baz构建类型 set(CMAKE_CXX_FLAGS_BAZ "${CMAKE_CXX_FLAGS_PROFILE} -DBAZ_BUILD" CACHE STRING "CXX flags for Baz configuration" FORCE) set(CMAKE_C_FLAGS_BAZ "${CMAKE_C_FLAGS_PROFILE} -DBAZ_BUILD" CACHE STRING "C flags for Baz configuration" FORCE) set(CMAKE_EXE_LINKER_FLAGS_BAZ "${CMAKE_EXE_LINKER_FLAGS_PROFILE}" CACHE STRING "Linker flags for Baz configuration" FORCE)
方法二:在Qt Creator中加载自定义配置
- 保存修改后的
CMakeLists.txt,返回Qt Creator - 点击左侧边栏的项目按钮(扳手图标),进入构建和运行配置页面
- 在配置列表下方点击添加按钮,此时会弹出包含自定义类型
Foo、Bar、Baz的选项 - 选择对应的自定义类型完成添加,新配置会自动关联你在CMake中定义的编译规则
注意事项
- 确保使用CMake 3.10及以上版本,旧版本对自定义构建类型的支持有限
- 若添加后未显示自定义选项,点击项目页面顶部的重新配置项目按钮刷新
- 自定义类型名称不要与Qt Creator预定义的五种类型(Debug、Release等)重名
内容的提问来源于stack exchange,提问作者jiandingzhe
相关产品推荐
相关产品推荐

