From d004d8c59a6daa5b27c6e737b687793f51557704 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 23 Oct 2018 10:55:12 -0400 Subject: VS: Fix crash on CSharp sources in a custom target The target generator does not compute ClOptions for custom targets, so we should not use them either. Fixes: #18377, #18485 --- Source/cmVisualStudio10TargetGenerator.cxx | 4 ++++ Tests/CSharpOnly/CMakeLists.txt | 3 +++ Tests/CSharpOnly/empty.cs | 0 Tests/CSharpOnly/empty.txt | 0 4 files changed, 7 insertions(+) create mode 100644 Tests/CSharpOnly/empty.cs create mode 100644 Tests/CSharpOnly/empty.txt diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx index 16eca96..d3ea24c 100644 --- a/Source/cmVisualStudio10TargetGenerator.cxx +++ b/Source/cmVisualStudio10TargetGenerator.cxx @@ -1130,6 +1130,10 @@ void cmVisualStudio10TargetGenerator::WriteMSToolConfigurationValues( void cmVisualStudio10TargetGenerator::WriteMSToolConfigurationValuesManaged( Elem& e1, std::string const& config) { + if (this->GeneratorTarget->GetType() > cmStateEnums::OBJECT_LIBRARY) { + return; + } + cmGlobalVisualStudio10Generator* gg = this->GlobalGenerator; Options& o = *(this->ClOptions[config]); diff --git a/Tests/CSharpOnly/CMakeLists.txt b/Tests/CSharpOnly/CMakeLists.txt index 0e3e39e..84b58ca 100644 --- a/Tests/CSharpOnly/CMakeLists.txt +++ b/Tests/CSharpOnly/CMakeLists.txt @@ -8,3 +8,6 @@ add_library(lib2 SHARED lib2.cs) add_executable(CSharpOnly csharponly.cs) target_link_libraries(CSharpOnly lib1 lib2) + +add_custom_target(CSharpCustom SOURCES empty.cs) +add_custom_target(custom.cs DEPENDS empty.txt) diff --git a/Tests/CSharpOnly/empty.cs b/Tests/CSharpOnly/empty.cs new file mode 100644 index 0000000..e69de29 diff --git a/Tests/CSharpOnly/empty.txt b/Tests/CSharpOnly/empty.txt new file mode 100644 index 0000000..e69de29 -- cgit v0.12