diff options
author | Brad King <brad.king@kitware.com> | 2018-10-23 14:55:12 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2018-10-23 14:58:42 (GMT) |
commit | d004d8c59a6daa5b27c6e737b687793f51557704 (patch) | |
tree | 39e8443bee8953fdae769bc64738a5a4486b123a | |
parent | fd02538974dd952a8639d371c2c0067d30d5469a (diff) | |
download | CMake-d004d8c59a6daa5b27c6e737b687793f51557704.zip CMake-d004d8c59a6daa5b27c6e737b687793f51557704.tar.gz CMake-d004d8c59a6daa5b27c6e737b687793f51557704.tar.bz2 |
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
-rw-r--r-- | Source/cmVisualStudio10TargetGenerator.cxx | 4 | ||||
-rw-r--r-- | Tests/CSharpOnly/CMakeLists.txt | 3 | ||||
-rw-r--r-- | Tests/CSharpOnly/empty.cs | 0 | ||||
-rw-r--r-- | Tests/CSharpOnly/empty.txt | 0 |
4 files changed, 7 insertions, 0 deletions
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 --- /dev/null +++ b/Tests/CSharpOnly/empty.cs diff --git a/Tests/CSharpOnly/empty.txt b/Tests/CSharpOnly/empty.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/Tests/CSharpOnly/empty.txt |