Răsfoiți Sursa

Use msbuild for MBansheeEditor csproj for MSVC without MSVC generator

This resolves issues with Ninja builds inside MSVC (The default build type for using MSVC 'open folder')
James Mitchell 6 ani în urmă
părinte
comite
1e40dc7d93
1 a modificat fișierele cu 14 adăugiri și 3 ștergeri
  1. 14 3
      Source/EditorManaged/CMakeLists.txt

+ 14 - 3
Source/EditorManaged/CMakeLists.txt

@@ -5,10 +5,21 @@ generate_csharp_project(${PROJECT_SOURCE_DIR}/Source/EditorManaged MBansheeEdito
 set(BS_CS_PROJ "MBansheeEditor.csproj")
 
 if(MSVC)
-	include_external_msproject(MBansheeEditor ${CMAKE_CURRENT_SOURCE_DIR}/${BS_CS_PROJ})
+	if(CMAKE_GENERATOR MATCHES "Visual Studio")
+		include_external_msproject(MBansheeEditor ${CMAKE_CURRENT_SOURCE_DIR}/${BS_CS_PROJ})
 	
-	add_dependencies(MBansheeEditor MBansheeEngine)
-	set_property(TARGET MBansheeEditor PROPERTY FOLDER Script)
+		add_dependencies(MBansheeEditor MBansheeEngine)
+		set_property(TARGET MBansheeEditor PROPERTY FOLDER Script)
+	else()
+		# Generator expressions don't support 'A' else 'B', otherwise
+		# this could be simplified to 'Debug' else 'Release'.
+		# Another possible improvement for this would be if we support
+		# all configuration types (e.g. RelWithDebInfo, etc) in MBansheeEditor
+		# then we could use $<CONFIG>
+		add_custom_target(MBansheeEditor
+				COMMAND msbuild /p:Configuration=$<$<CONFIG:Debug>:Debug>$<$<NOT:$<CONFIG:Debug>>:Release> ${CMAKE_CURRENT_SOURCE_DIR}/${BS_CS_PROJ}
+				COMMENT "Building managed assembly \"MBansheeEditor\"")
+	endif()
 else()
 	find_package(mcs)