cmake 如何在项目的 vcxproj PropertyGroup 中添加自定义条目?

teu*_*oui 1 c++ cmake visual-studio visual-c++

我正在使用 cmake 生成多平台 C++ 项目的 Windows/VisualStudio 解决方案。

在项目的属性中有一个特定的条目(文件夹数据的简单路径),我希望 cmake 为我填写。此条目是由我无法修改的外部插件添加的。

填写 VS 项目属性中的选项会在MyAppExecutable.vcxproj文件中添加以下条目:

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|PLATFORM'">
  <AppDataFolder>D:\myappdata</AppDataFolder>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

我希望 cmakeAppDataFolder为我添加这个值。

它甚至会更好,如果它可以同时为所有可能的设置PLATFORM,以及是否在编译ReleaseDebug或任何其他。希望将其添加到内部<PropertyGroup Label="Globals">可以实现这一目标?

有没有办法让 cmake 在项目文件中设置这个值?

Flo*_*ian 5

把我的评论变成答案

要设置全局 VS 项目属性,您可以使用VS_GLOBAL_<variable>目标属性:

set_target_properties(MyAppExecutable PROPERTIES VS_GLOBAL_AppDataFolder "D:\\myappdata")
Run Code Online (Sandbox Code Playgroud)

参考