在 CMake 中导入的外部 msproject 无法构建

External msproject, imported in CMake, would not build

我有一个基于 CMake 的 C++ 项目,最近我将现有的 C# 程序包含在其中。

这是 CMake 代码:

include_external_msproject(MarkTrainingSet MarkTrainingSet.csproj
                        GUID 77A5B8C9-998E-4D0E-A444-6AD14FB0DC37
                        PLATFORM AnyCPU)

.csproj 文件由 Visual Studio 2013 生成,与构建我的 C++ 项目时相同。 GUID 值和 AnyCPU 平台是该文件中的值。

我的问题是,当我向 Visual Studio 发出 Build solution 命令时,这个 C# 项目没有构建。 我必须转到解决方案属性(右键单击解决方案资源管理器中的解决方案),然后配置属性 -> 配置,并手动选中行中的 Build 复选框,对应于我的 MarkTrainingSet 项目。

如果 CMake 重新生成解决方案,我必须回忆起那个复选框并重做该过程。

关于 include_external_msproject 的文档非常不完整。

我应该怎么做才能让这个 C# 项目始终自动构建?

我上次查看时,CMake 对 include_external_msproject() 的实现仅限于 C/C++ 项目。

您可能会发现此缺陷报告值得一看,尽管它看起来很陈旧。 http://www.cmake.org/Bug/view.php?id=9742 ... ( also see http://marc.info/?l=cmake&m=133319401303885)

尽管我无法确定这些补丁是否包含在 CMake 中,但该缺陷仍然存在。

一般语法如下:

include_external_msproject(projectname folder/projectname.csproj PLATFORM AnyCPU)

似乎可以与包含 cmake 的 vs2019 一起使用。