CMake:为 #cmakedefine 变量设置不同的名称

2023-12-13

我知道你可以使用 CMakeconfigure_file使 CMake 变量可用于您的程序。例如,我可以使用

#define ${CMAKE_BUILD_TYPE}

导致

#define Release

但是,为了使我的代码更具可读性,我更愿意定义

#define BUILD_TYPE_RELEASE

有没有一种简单的方法可以实现这一目标?


这是一个相当简单的解决方法:

In CMakesLists.txt:

if (NOT CMAKE_BUILD_TYPE)
    set (CMAKE_BUILD_TYPE Release)
endif (NOT CMAKE_BUILD_TYPE)

string (TOUPPER ${CMAKE_BUILD_TYPE} BUILD_TYPE_NAME)

configure_file (config.h.in config.h)

And in config.h.in:

#define BUILD_TYPE_${BUILD_TYPE_NAME}

然而,我仍然很好奇是否有更优雅的解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CMake:为 #cmakedefine 变量设置不同的名称 的相关文章

随机推荐