【发布时间】:2017-11-22 12:22:32
【问题描述】:
我正在使用 cmake 生成一个多平台 C++ 项目的 Windows/VisualStudio 解决方案。
我希望 cmake 为我填写项目属性中的特定条目(文件夹数据的简单路径)。此条目是由我无法修改的外部插件添加的。
在 VS 项目属性中填写选项会在 MyAppExecutable.vcxproj 文件中添加以下条目:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|PLATFORM'">
<AppDataFolder>D:\myappdata</AppDataFolder>
</PropertyGroup>
我希望 cmake 为我添加这个 AppDataFolder 值。
如果它可以同时为所有可能的PLATFORM 设置它会更好,无论是在Release、Debug 还是其他任何地方编译。希望在<PropertyGroup Label="Globals"> 中添加它可以实现这个目标?
有没有办法让 cmake 在项目文件中设置这个值?
【问题讨论】:
-
你可以试试
set_target_properties(MyAppExecutable PROPERTIES VS_GLOBAL_AppDataFolder "D:\\myappdata") -
我试过了,效果很好!谢谢你的建议。你能回答一下,以便我可以选择它作为解决方案吗?
-
不客气。将我的评论放入答案中。如果 CMake 知道路径,我认为您甚至可以使用
$<SHELL_PATH:...>生成器表达式(以避免手动转换为反斜杠)。
标签: c++ visual-studio visual-c++ cmake