0

我正在使用 CMake 3.8.1 生成 Visual Studio 2015 项目。

添加自定义属性表:

set_target_properties(${TARGET} PROPERTIES VS_USER_PROPS "my_settings.props")

在 CMakeLists.txt 中找不到将 vcxproj 文件中的“输出目录”、“中间目录”和其他一些 Visual Studio 项目属性设置为所需值的方法。那些输出/中间目录被 CMake 设置为一些默认值。

理想情况下,我希望将这些属性设置为

<inherit from parent or project defaults>

因此该项目将获取我在 my_settings.props 中的值

在 vcsproj 文件中,如果您跳过某个属性的条目,它将从父级继承该值。

有没有办法从 CMakeLists.txt 文件中自定义/设置/控制这些值?

4

1 回答 1

0

Visual Studio 项目中的某些(大多数?)属性字段由设置的值控制,CMakeLists.txt但没有一个命令可以将它们设置为您想要的值。

有许多属性和变量控制如何构建目标。然后每种类型的生成器根据这些项目输出一个项目文件。这就是生成器 forVisual Studio构建与 for 相同的工件的方式MSYS Makefiles。这里有几个例子(我记得):

  1. Output Directory- 参考RUNTIME_OUTPUT_DIRECTORY
  2. Intermediate Directory- 控制者CMake不能改变
  3. Target Name- 参考OUTPUT_NAME
  4. Target Extension- 参考SUFFIX

我想你可以通过使它们等于 Visual Studio 变量或其他东西来滥用其中的一些项目,但这不是我曾经遇到过的东西。

于 2018-12-29T02:36:07.277 回答