使用CMake创建C#,与创建C++一样,除非要注意一些特殊的目标属性。
但CMake对C#工程的支持有限,复杂工程的构建可使用“配置文件”的功能达到(可参考文章《配置文件(模板文件)》)。
示例代码:
示例
动态库
# 在定义工程名时,传入工程的语言类型
project(${SWIG_CSHARP_NAME} CSharp)
# 设置C#语言的版本
set(CMAKE_CSharp_FLAGS "/langversion:6")
# 搜索出本文件下所有的cs文件
file(GLOB_RECURSE Csharp_SourceFiles *.cs)
# 创建动态库
add_library(${PROJECT_NAME} SHARED ${Csharp_SourceFiles})
# 设置dotnet版本
set_property(TARGET ${PROJECT_NAME} PROPERTY VS_DOTNET_TARGET_FRAMEWORK_VERSION "v4.5.2")
# 设置xml文档的名字
set_property(TARGET ${PROJECT_NAME} PROPERTY VS_DOTNET_DOCUMENTATION_FILE "${PROJECT_NAME}.xml" )
CSharpUtilities
CSharpUtilities用来添加WPF或其他设计器的属性
include(CSharpUtilities)