gpt4 book ai didi

cmake - 如何使用 CMake 为某个目标创建 C#define?

转载 作者:行者123 更新时间:2023-12-03 12:32:14 25 4
gpt4 key购买 nike

我现在觉得有点傻。在最近将一些较小的项目转换为使用 CMake 之后,我决定也摆脱一些“Platform_Config.h”文件。这些文件包含一些预处理指令,如 #define USE_NEW_CACHE和控制编译。

我将如何“转换”这些定义以使用 CMake 进行控制?理想情况下,通过使用这些“缓存”变量,用户可以轻松地进行编辑。

最佳答案

使用 target_compile_options。不要引用您的定义,否则它不会被检测为定义。 CMake 解析/define 并将实际定义添加到 csproj 的 DefineConstants 部分,如果有引号,它将把整个带引号的字符串放在 csproj 的 AdditionalOptions 部分中。
我的一个项目中使用生成器表达式的示例:

target_compile_options( ${LIBRARY_NAME} PRIVATE
$<${IS_ART_ITERATION_BUILD}:/define:ART_ITERATION_BUILD>
)
没有生成器表达式的示例:
target_compile_options( ${LIBRARY_NAME} PRIVATE
/define:GRAPHICS_VULKAN
)

关于cmake - 如何使用 CMake 为某个目标创建 C#define?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5352074/

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