CMake的2.8.9和加起来一TYPE
参数include_external_msproject
像这样:
include_external_msproject(
MyProject MyProject.csproj
TYPE FAE04EC0-301F-11D3-BF4B-00C04F79EFBC)
这让你指定,该项目是C#(魔法GUID以上),否则事情奋斗(see docs)。
除非您直接构建源代码树,否则您可能仍然希望使用模板方法在其他地方提到您的.csproj
文件以获取正确的路径。
好消息是,你可以通配符的C#文件在.csproj.template
文件像这样:
<ItemGroup>
<Compile Include="${DOS_STYLE_SOURCE_DIR}\**\*.cs" />
</ItemGroup>
而且你需要像这样在你的CMakeLists.txt
向CMake的UNIX风格forwardslash路径分隔符转换成Windows风格的反斜杠,否则会编译文件,但他们不会在Visual Studio中的项目链接显示:
FILE(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}" DOS_STYLE_SOURCE_DIR)
然后,它只是:
CONFIGURE_FILE(MyProject.csproj.template MyProject.csproj)
在您的CMakeLists.txt
中将模板文件配置为具有正确通配符路径的实际项目文件。
HTH。
更新:是CMake的创建C++与C#源文件的项目,他们的事实使得项目几乎无法使用 - 智能感知不工作,app.config中无法通过常规手段来访问等 我停止进一步调查在这个方向上并切换到基于MsBuild的项目配置。 – Leonid 2010-01-20 01:45:28