You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取CMake构建目录名称(不含完整路径)

提取CMake构建目录名称的方法

CMake 3.23没有专门的内置变量直接返回构建目录的名称(即路径的最后一段),但可以通过字符串处理命令从${CMAKE_CURRENT_BINARY_DIR}中提取,下面是两种可靠的实现方式:

方法1:使用get_filename_component命令

这是CMake中处理路径的原生工具,专门用于提取路径的不同组成部分:

get_filename_component(BUILD_DIR_NAME "${CMAKE_CURRENT_BINARY_DIR}" NAME)

执行后,${BUILD_DIR_NAME}变量就会存储cmake-build-debug-vs这个目录名。

方法2:使用字符串正则替换

利用CMake的字符串匹配替换功能,移除路径中最后一个分隔符之前的所有内容:

string(REGEX REPLACE ".*/" "" BUILD_DIR_NAME "${CMAKE_CURRENT_BINARY_DIR}")

该正则表达式会匹配并清除路径里最后一个斜杠(含之前的全部内容),仅保留最后一段目录名。

额外说明

  • 两种方法在Windows和类Unix系统下都能正常工作,CMake会自动适配不同系统的路径分隔符(\或/)。
  • 若构建目录为根目录(这种场景极少),上述方法会返回空字符串,实际使用时可根据需求添加判断逻辑。

内容的提问来源于stack exchange,提问作者shashashamti2008

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 03:21:02