diff options
author | Brad King <brad.king@kitware.com> | 2024-09-26 12:41:16 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2024-09-26 12:41:34 (GMT) |
commit | 8d69aa79b059c9b6145de04458088a6e1e700837 (patch) | |
tree | 68498c1817efac0202d590a3cc6db07686fcf236 | |
parent | f8c96b23951babb168694509c28140bdc989ff4a (diff) | |
parent | 55a5094f0e7313b4fb5244091a4d1b7faa48bbf9 (diff) | |
download | CMake-8d69aa79b059c9b6145de04458088a6e1e700837.zip CMake-8d69aa79b059c9b6145de04458088a6e1e700837.tar.gz CMake-8d69aa79b059c9b6145de04458088a6e1e700837.tar.bz2 |
Merge topic 'net-sdk-configurations'
55a5094f0e VS: Fix missing <Configurations> property for DOTNET_SDK
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9849
4 files changed, 34 insertions, 0 deletions
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx index 71a140b..1e338b2 100644 --- a/Source/cmVisualStudio10TargetGenerator.cxx +++ b/Source/cmVisualStudio10TargetGenerator.cxx @@ -914,6 +914,8 @@ void cmVisualStudio10TargetGenerator::WriteSdkStyleProjectFile( Elem e1(e0, "PropertyGroup"); this->WriteCommonPropertyGroupGlobals(e1); + e1.Element("Configurations", cmJoinStrings(this->Configurations, ";", "")); + e1.Element("EnableDefaultItems", "false"); // Disable the project upgrade prompt that is displayed the first time a // project using an older toolset version is opened in a newer version diff --git a/Tests/RunCMake/VsDotnetSdk/RunCMakeTest.cmake b/Tests/RunCMake/VsDotnetSdk/RunCMakeTest.cmake index 276451d..151b907 100644 --- a/Tests/RunCMake/VsDotnetSdk/RunCMakeTest.cmake +++ b/Tests/RunCMake/VsDotnetSdk/RunCMakeTest.cmake @@ -6,6 +6,7 @@ run_cmake(VsDotnetSdkDefines) run_cmake(DotnetSdkVariables) run_cmake(VsDotnetSdkXamlFiles) run_cmake(VsDotnetSdkAssemblyName) +run_cmake(VsDotnetSdkConfigurations) function(run_VsDotnetSdk) set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/VsDotnetSdk-build) diff --git a/Tests/RunCMake/VsDotnetSdk/VsDotnetSdkConfigurations-check.cmake b/Tests/RunCMake/VsDotnetSdk/VsDotnetSdkConfigurations-check.cmake new file mode 100644 index 0000000..f7fc6de --- /dev/null +++ b/Tests/RunCMake/VsDotnetSdk/VsDotnetSdkConfigurations-check.cmake @@ -0,0 +1,20 @@ +set(csProjectFile ${RunCMake_TEST_BINARY_DIR}/foo.csproj) + +if(NOT EXISTS "${csProjectFile}") + set(RunCMake_TEST_FAILED "Project file ${csProjectFile} does not exist.") + return() +endif() + +set(hasConfigurations FALSE) + +file(STRINGS "${csProjectFile}" lines) + +foreach(line IN LISTS lines) + if(line MATCHES "<Configurations>Debug;Release;MinSizeRel;RelWithDebInfo;ExtraTestConfig</Configurations>") + set(hasConfigurations TRUE) + endif() +endforeach() + +if(NOT hasConfigurations) + set(RunCMake_TEST_FAILED "<Configurations> not found in ${csProjectFile}.") +endif() diff --git a/Tests/RunCMake/VsDotnetSdk/VsDotnetSdkConfigurations.cmake b/Tests/RunCMake/VsDotnetSdk/VsDotnetSdkConfigurations.cmake new file mode 100644 index 0000000..178cd00 --- /dev/null +++ b/Tests/RunCMake/VsDotnetSdk/VsDotnetSdkConfigurations.cmake @@ -0,0 +1,11 @@ +enable_language(CSharp) + +if(NOT CMAKE_CSharp_COMPILER) + return() +endif() + +set(CMAKE_SHARED_LINKER_FLAGS_EXTRATESTCONFIG "${CMAKE_SHARED_LINKER_FLAGS_Debug}") +list(APPEND CMAKE_CONFIGURATION_TYPES ExtraTestConfig) + +set(CMAKE_DOTNET_SDK "Microsoft.NET.Sdk") +add_library(foo SHARED lib1.cs) |