使用CMake创建C#,与创建C++一样,除非要注意一些特殊的目标属性。
但CMake对C#工程的支持有限,复杂工程的构建可使用“配置文件”的功能达到(可参考文章《配置文件(模板文件)》)。

示例代码:

  1. bemehiser / cmake_csharp_example

示例

动态库

  1. # 在定义工程名时,传入工程的语言类型
  2. project(${SWIG_CSHARP_NAME} CSharp)
  3. # 设置C#语言的版本
  4. set(CMAKE_CSharp_FLAGS "/langversion:6")
  5. # 搜索出本文件下所有的cs文件
  6. file(GLOB_RECURSE Csharp_SourceFiles *.cs)
  7. # 创建动态库
  8. add_library(${PROJECT_NAME} SHARED ${Csharp_SourceFiles})
  9. # 设置dotnet版本
  10. set_property(TARGET ${PROJECT_NAME} PROPERTY VS_DOTNET_TARGET_FRAMEWORK_VERSION "v4.5.2")
  11. # 设置xml文档的名字
  12. set_property(TARGET ${PROJECT_NAME} PROPERTY VS_DOTNET_DOCUMENTATION_FILE "${PROJECT_NAME}.xml" )

CSharpUtilities

CSharpUtilities用来添加WPF或其他设计器的属性

  1. include(CSharpUtilities)