我知道您可以使用CMake configure_file
为您的程序提供CMake变量。例如,我可以使用
#define ${CMAKE_BUILD_TYPE}
导致
#define Release
但是,为了使我的代码更易于阅读,我宁愿定义
#define BUILD_TYPE_RELEASE
有没有一种简单的方法可以达到这个目的?
答案 0 :(得分:1)
这是解决问题的一种相当简单的方法:
在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)
在config.h.in
:
#define BUILD_TYPE_${BUILD_TYPE_NAME}
但是,如果有一个更优雅的解决方案,我仍然很好奇。