From ab2ef244bd226bd484125cf3fc74a63b202175ce Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 19 Jan 2026 14:15:44 -0500 Subject: VS: Add include_external_msproject detection of `.njsproj` type It is a NodeJS Project. --- Source/cmGlobalVisualStudioGenerator.cxx | 3 +++ Source/cmVSSolution.cxx | 2 ++ Source/cmVSSolution.h | 1 + Tests/RunCMake/include_external_msproject/AutoType-check-sln.cmake | 1 + Tests/RunCMake/include_external_msproject/AutoType-check-slnx.cmake | 4 ++++ Tests/RunCMake/include_external_msproject/AutoType.cmake | 1 + 6 files changed, 12 insertions(+) diff --git a/Source/cmGlobalVisualStudioGenerator.cxx b/Source/cmGlobalVisualStudioGenerator.cxx index 84f036d..6105ee5 100644 --- a/Source/cmGlobalVisualStudioGenerator.cxx +++ b/Source/cmGlobalVisualStudioGenerator.cxx @@ -798,6 +798,9 @@ cm::string_view cmGlobalVisualStudioGenerator::ExternalProjectTypeId( if (extension == ".dbproj"_s) { return Solution::Project::TypeIdDatabase; } + if (extension == ".njsproj"_s) { + return Solution::Project::TypeIdNodeJS; + } if (extension == ".wapproj"_s) { return Solution::Project::TypeIdWinAppPkg; } diff --git a/Source/cmVSSolution.cxx b/Source/cmVSSolution.cxx index cc75b8a..dc6630f 100644 --- a/Source/cmVSSolution.cxx +++ b/Source/cmVSSolution.cxx @@ -27,6 +27,8 @@ cm::string_view const Solution::Project::TypeIdFSharp = "F2A71F9B-5D33-465A-A702-920D77279786"_s; cm::string_view const Solution::Project::TypeIdFortran = "6989167D-11E4-40FE-8C1A-2192A86A7E90"_s; +cm::string_view const Solution::Project::TypeIdNodeJS = + "9092AA53-FB77-4645-B42D-1CCCA6BD08BD"_s; cm::string_view const Solution::Project::TypeIdPython = "888888A0-9F3D-457C-B088-3A5042F75D52"_s; cm::string_view const Solution::Project::TypeIdVDProj = diff --git a/Source/cmVSSolution.h b/Source/cmVSSolution.h index 5d6b306..4117ecc 100644 --- a/Source/cmVSSolution.h +++ b/Source/cmVSSolution.h @@ -75,6 +75,7 @@ struct Solution final static cm::string_view const TypeIdDefault; static cm::string_view const TypeIdFSharp; static cm::string_view const TypeIdFortran; + static cm::string_view const TypeIdNodeJS; static cm::string_view const TypeIdPython; static cm::string_view const TypeIdVDProj; static cm::string_view const TypeIdVisualBasic; diff --git a/Tests/RunCMake/include_external_msproject/AutoType-check-sln.cmake b/Tests/RunCMake/include_external_msproject/AutoType-check-sln.cmake index 070f62b..22b2c4e 100644 --- a/Tests/RunCMake/include_external_msproject/AutoType-check-sln.cmake +++ b/Tests/RunCMake/include_external_msproject/AutoType-check-sln.cmake @@ -1,6 +1,7 @@ check_project(AutoType externalCS "" "FAE04EC0-301F-11D3-BF4B-00C04F79EFBC" "" "") check_project(AutoType externalDB "" "C8D11400-126E-41CD-887F-60BD40844F9E" "" "") check_project(AutoType externalFS "" "F2A71F9B-5D33-465A-A702-920D77279786" "" "") +check_project(AutoType externalNJS "" "9092AA53-FB77-4645-B42D-1CCCA6BD08BD" "" "") check_project(AutoType externalPy "" "888888A0-9F3D-457C-B088-3A5042F75D52" "" "") check_project(AutoType externalVB "" "F184B08F-C81C-45F6-A57F-5ABD9991F28F" "" "") check_project(AutoType externalVD "" "54435603-DBB4-11D2-8724-00A0C9A8B90C" "" "") diff --git a/Tests/RunCMake/include_external_msproject/AutoType-check-slnx.cmake b/Tests/RunCMake/include_external_msproject/AutoType-check-slnx.cmake index de43352..a065ee8 100644 --- a/Tests/RunCMake/include_external_msproject/AutoType-check-slnx.cmake +++ b/Tests/RunCMake/include_external_msproject/AutoType-check-slnx.cmake @@ -13,6 +13,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/AutoType.slnx" [[ + @@ -35,6 +36,9 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/AutoType.slnx" [[ + + + diff --git a/Tests/RunCMake/include_external_msproject/AutoType.cmake b/Tests/RunCMake/include_external_msproject/AutoType.cmake index 0ab0be7..c994a5e 100644 --- a/Tests/RunCMake/include_external_msproject/AutoType.cmake +++ b/Tests/RunCMake/include_external_msproject/AutoType.cmake @@ -2,6 +2,7 @@ include_external_msproject(externalCS external.csproj) include_external_msproject(externalDB external.dbproj) include_external_msproject(externalFS external.fsproj) include_external_msproject(externalPy external.pyproj) +include_external_msproject(externalNJS external.njsproj) include_external_msproject(externalVB external.vbproj) include_external_msproject(externalVD external.vdproj) include_external_msproject(externalVF external.vfproj) -- cgit v0.12