gpt4 book ai didi

c++ - 如何在 C++ 预处理器定义中获取 CMake 可执行文件名称

转载 作者:行者123 更新时间:2023-11-27 23:40:41 25 4
gpt4 key购买 nike

我的 CMake 文件中有两个可执行定义

add_executable(ProjectFoo ...)
add_executable(ProjectFoo_UnitTests ...)

有什么方法可以像下面这样在 C++ 代码中获取可执行文件的名称(ProjectFoo 或 ProjectFoo_UnitTests)?语法可能不正确,但我希望它能阐明意图。

#if executable_name == ProjectFoo
...

最佳答案

如果您只想在运行时知道正在运行的可执行文件是否是单元测试配置,请将专用预处理器定义传递给您的单元测试可执行文件:

target_compile_definitions(ProjectFoo_UnitTests IS_UNIT_TEST)

然后在你的 C++ 代码中检查这个定义:

#if defined (IS_UNIT_TEST)
# include "some_mock.hpp"
#endif

关于c++ - 如何在 C++ 预处理器定义中获取 CMake 可执行文件名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55270056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com