Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmake.preferredGenerators no longer honored in MSVC #4095

Open
jonnysoe opened this issue Sep 26, 2024 · 4 comments
Open

cmake.preferredGenerators no longer honored in MSVC #4095

jonnysoe opened this issue Sep 26, 2024 · 4 comments
Labels
bug a bug in the product enhancement an enhancement to the product that is either not present or an improvement to an existing feature Feature: kits
Milestone

Comments

@jonnysoe
Copy link

Brief Issue Summary

I don't know which CMake tools version onwards was broken but I recently updated to 1.19.52, Windows will always run cmake configuration with MSVC, -G "Visual Studio 17 2022" regardless of user specified preferred generator.
I specified Ninja in .vscode\settings.json or %APPDATA%\Code\User\settings.json:

"cmake.preferredGenerators": [  "Ninja" ],

P.S. This is a Windows bug, it still works on Linux.

CMake Tools Diagnostics

{
  "os": "win32",
  "vscodeVersion": "1.90.2",
  "cmtVersion": "1.19.52",
  "configurations": [
    {
      "folder": "c:\\_\\comfork",
      "cmakeVersion": "3.25.1",
      "configured": true,
      "generator": "Visual Studio 17 2022",
      "usesPresets": false,
      "compilers": {}
    }
  ],
  "cpptoolsIntegration": {
    "isReady": true,
    "hasCodeModel": true,
    "activeBuildType": "Debug",
    "buildTypesSeen": [
      "Debug",
      "Release",
      "MinSizeRel",
      "RelWithDebInfo"
    ],
    "requests": [],
    "responses": [],
    "partialMatches": [],
    "targetCount": 7,
    "executablesCount": 4,
    "librariesCount": 1,
    "targets": [
      {
        "name": "ALL_BUILD",
        "type": "UTILITY"
      },
      {
        "name": "ZERO_CHECK",
        "type": "UTILITY"
      },
      {
        "name": "libcomfork",
        "type": "STATIC_LIBRARY"
      },
      {
        "name": "main_c",
        "type": "EXECUTABLE"
      },
      {
        "name": "main_cpp",
        "type": "EXECUTABLE"
      },
      {
        "name": "main_nowait_c",
        "type": "EXECUTABLE"
      },
      {
        "name": "main_nowait_cpp",
        "type": "EXECUTABLE"
      }
    ]
  },
  "settings": [
    {
      "communicationMode": "automatic",
      "useCMakePresets": "auto",
      "configureOnOpen": false
    }
  ]
}

Debug Log

[main] Configuring project: comfork 
[main] Saving open files before configure/build
[expand] expanded ${workspaceFolder}/build
[driver] Start configure 
[driver] Running pre-configure checks and steps
[expand] expanded ${workspaceFolder}/build
[cmakefileapi-driver] Configuring using kit
[cmakefileapi-driver] Invoking CMake C:\Program Files\CMake\bin\cmake.EXE with arguments ["-DCMAKE_BUILD_TYPE:STRING=Debug","-DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE","--no-warn-unused-cli","-SC:/_/comfork","-Bc:/_/comfork/build","-G","Visual Studio 17 2022","-T","host=x64","-A","x64"]
[proc] Executing command: "C:\Program Files\CMake\bin\cmake.EXE" -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE --no-warn-unused-cli -SC:/_/comfork -Bc:/_/comfork/build -G "Visual Studio 17 2022" -T host=x64 -A x64
[proc]   with environment: {"ALLUSERSPROFILE":"C:\\ProgramData","APPDATA":"C:\\Users\\wjsoe\\AppData\\Roaming","CHROME_CRASHPAD_PIPE_NAME":"\\\\.\\pipe\\crashpad_27168_JPGAMWXAWTDZJIPT","COMPUTERNAME":"KL-LAP-079","ComSpec":"C:\\Windows\\system32\\cmd.exe","CommonProgramFiles":"C:\\Program Files\\Common Files","CommonProgramFiles(x86)":"C:\\Program Files (x86)\\Common Files","CommonProgramW6432":"C:\\Program Files\\Common Files","DriverData":"C:\\Windows\\System32\\Drivers\\DriverData","EFC_12308":"1","ELECTRON_NO_ATTACH_CONSOLE":"1","ELECTRON_RUN_AS_NODE":"1","FPS_BROWSER_APP_PROFILE_STRING":"Internet Explorer","FPS_BROWSER_USER_PROFILE_STRING":"Default","HOMEDRIVE":"C:","HOMEPATH":"\\Users\\wjsoe","JAVA_HOME":"C:\\Program Files\\Amazon Corretto\\jdk21.0.4_7","LOCALAPPDATA":"C:\\Users\\wjsoe\\AppData\\Local","LOGONSERVER":"\\\\OSTAR-SVDC-001","NUMBER_OF_PROCESSORS":"16","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","OS":"Windows_NT","OneDrive":"C:\\Users\\wjsoe\\OneDrive","PATHEXT":".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW","PROCESSOR_ARCHITECTURE":"AMD64","PROCESSOR_IDENTIFIER":"AMD64 Family 25 Model 117 Stepping 2, AuthenticAMD","PROCESSOR_LEVEL":"25","PROCESSOR_REVISION":"7502","PROMPT":"$P$G","PSModulePath":"C:\\Program Files\\WindowsPowerShell\\Modules;C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules","PUBLIC":"C:\\Users\\Public","Path":"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.40.33807\\bin\\HostX64\\x64;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\IDE\\VC\\VCPackages;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\IDE\\CommonExtensions\\Microsoft\\TestWindow;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\MSBuild\\Current\\bin\\Roslyn;C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.8 Tools\\x64\\;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\IDE\\Extensions\\Microsoft\\CodeCoverage.Console;C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.26100.0\\\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\bin\\\\x64;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\\\MSBuild\\Current\\Bin\\amd64;C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\IDE\\;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\Tools\\;C:\\Program Files\\Amazon Corretto\\jdk21.0.4_7\\bin;C:\\VulkanSDK\\1.3.283.0\\Bin;C:\\Program Files\\Python310\\Scripts\\;C:\\Program Files\\Python310\\;C:\\Perl64\\site\\bin;C:\\Perl64\\bin;C:\\Users\\wjsoe\\AppData\\Roaming\\ActiveState\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\System32\\OpenSSH\\;C:\\Program Files\\7-Zip;C:\\Program Files\\aria2;C:\\Program Files\\wget;C:\\Program Files\\pttb;C:\\Program Files\\Git\\cmd;C:\\Program Files\\LLVM\\bin;C:\\Program Files\\CMake\\bin;C:\\Program Files\\Ninja;C:\\Program Files\\Ccache;C:\\Program Files (x86)\\GnuWin32\\bin;C:\\Program Files\\pkg-config\\bin;C:\\Program Files\\pthreads;C:\\Program Files\\pthreads\\bin;C:\\Program Files\\zlib;C:\\Program Files\\win_flex_bison;C:\\Program Files\\tbb;C:\\Program Files\\tbb\\cmake;C:\\Program Files\\tbb\\bin\\intel64\\vc14;C:\\Program Files\\nodejs\\;C:\\Program Files\\Microsoft VS Code\\bin;C:\\Users\\wjsoe\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\wjsoe\\AppData\\Roaming\\npm;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\Llvm\\x64\\bin;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\IDE\\CommonExtensions\\Microsoft\\CMake\\CMake\\bin;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\IDE\\CommonExtensions\\Microsoft\\CMake\\Ninja;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\IDE\\VC\\Linux\\bin\\ConnectionManagerExe","ProgramData":"C:\\ProgramData","ProgramFiles":"C:\\Program Files","ProgramFiles(x86)":"C:\\Program Files (x86)","ProgramW6432":"C:\\Program Files","SESSIONNAME":"Console","SystemDrive":"C:","SystemRoot":"C:\\Windows","TEMP":"C:\\Users\\wjsoe\\AppData\\Local\\Temp","TMP":"C:\\Users\\wjsoe\\AppData\\Local\\Temp","USERDNSDOMAIN":"OPPSTAR.LOCAL","USERDOMAIN":"OPPSTAR","USERDOMAIN_ROAMINGPROFILE":"OPPSTAR","USERNAME":"wjsoe","USERPROFILE":"C:\\Users\\wjsoe","VK_SDK_PATH":"C:\\VulkanSDK\\1.3.283.0","VS140COMNTOOLS":"C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\Tools\\","VSCODE_AMD_ENTRYPOINT":"vs/workbench/api/node/extensionHostProcess","VSCODE_CLI":"1","VSCODE_CODE_CACHE_PATH":"C:\\Users\\wjsoe\\AppData\\Roaming\\Code\\CachedData\\5437499feb04f7a586f677b155b039bc2b3669eb","VSCODE_CRASH_REPORTER_PROCESS_TYPE":"extensionHost","VSCODE_CWD":"C:\\_\\comfork","VSCODE_HANDLES_UNCAUGHT_ERRORS":"true","VSCODE_IPC_HOOK":"\\\\.\\pipe\\42dd6a25-1.90.2-main-sock","VSCODE_L10N_BUNDLE_LOCATION":"","VSCODE_NLS_CONFIG":"{\"locale\":\"en-us\",\"osLocale\":\"en-us\",\"availableLanguages\":{},\"_languagePackSupport\":true}","VSCODE_PID":"27168","VULKAN_SDK":"C:\\VulkanSDK\\1.3.283.0","windir":"C:\\Windows","DevEnvDir":"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\IDE\\","Framework40Version":"v4.0","FrameworkDir":"C:\\Windows\\Microsoft.NET\\Framework64\\","FrameworkDIR64":"C:\\Windows\\Microsoft.NET\\Framework64","FrameworkVersion":"v4.0.30319","FrameworkVersion64":"v4.0.30319","INCLUDE":"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.40.33807\\include;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.40.33807\\ATLMFC\\include;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Auxiliary\\VS\\include;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.26100.0\\ucrt;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\um;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\shared;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\winrt;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\cppwinrt;C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\include\\um","LIB":"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.40.33807\\ATLMFC\\lib\\x64;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.40.33807\\lib\\x64;C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\lib\\um\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.26100.0\\ucrt\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\\\lib\\10.0.26100.0\\\\um\\x64","LIBPATH":"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.40.33807\\ATLMFC\\lib\\x64;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.40.33807\\lib\\x64;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.40.33807\\lib\\x86\\store\\references;C:\\Program Files (x86)\\Windows Kits\\10\\UnionMetadata\\10.0.26100.0;C:\\Program Files (x86)\\Windows Kits\\10\\References\\10.0.26100.0;C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319","NETFXSDKDir":"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\","UCRTVersion":"10.0.26100.0","UniversalCRTSdkDir":"C:\\Program Files (x86)\\Windows Kits\\10\\","VCIDEInstallDir":"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\IDE\\VC\\","VCINSTALLDIR":"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\","VCToolsInstallDir":"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.40.33807\\","VCToolsRedistDir":"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Redist\\MSVC\\14.40.33807\\","VCToolsVersion":"14.40.33807","VisualStudioVersion":"17.0","VSINSTALLDIR":"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\","WindowsLibPath":"C:\\Program Files (x86)\\Windows Kits\\10\\UnionMetadata\\10.0.26100.0;C:\\Program Files (x86)\\Windows Kits\\10\\References\\10.0.26100.0","WindowsSdkBinPath":"C:\\Program Files (x86)\\Windows Kits\\10\\bin\\","WindowsSdkDir":"C:\\Program Files (x86)\\Windows Kits\\10\\","WindowsSDKLibVersion":"10.0.26100.0\\","WindowsSDKVersion":"10.0.26100.0\\","WindowsSDK_ExecutablePath_x64":"C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.8 Tools\\x64\\","WindowsSDK_ExecutablePath_x86":"C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.8 Tools\\","VS170COMNTOOLS":"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\Tools","CC":"cl.exe","CXX":"cl.exe"}
[cmake] Not searching for unused variables given on the command line.
[cmake] -- CMAKE_GENERATOR: Visual Studio 17 2022
[cmake] -- Selecting Windows SDK version 10.0.26100.0 to target Windows 10.0.22631.
[cmake] -- Using ccache: C:/Program Files/Ccache/ccache.exe
[cmake] -- Configuring done
[cmake] -- Generating done
[cmake] -- Build files have been written to: C:/_/comfork/build
[cmakefileapi-parser] Read reply folder: c:\_\comfork\build\.cmake\api\v1\reply
[cmakefileapi-parser] Found index files: ["cache-v2-9664a26e2b57ab50b009.json","cmakeFiles-v1-50c756c520bc3f25d889.json","codemodel-v2-3df67870b710b7e5ed44.json","directory-.-Debug-d0094a50bb2071803777.json","directory-.-MinSizeRel-d0094a50bb2071803777.json","directory-.-Release-d0094a50bb2071803777.json","directory-.-RelWithDebInfo-d0094a50bb2071803777.json","index-2024-09-26T12-20-17-0127.json","target-ALL_BUILD-Debug-664eedef0ffc8dfe5fa3.json","target-ALL_BUILD-MinSizeRel-664eedef0ffc8dfe5fa3.json","target-ALL_BUILD-Release-664eedef0ffc8dfe5fa3.json","target-ALL_BUILD-RelWithDebInfo-664eedef0ffc8dfe5fa3.json","target-libcomfork-Debug-51d6f331e575759755f1.json","target-libcomfork-MinSizeRel-57ae672f545e1eb38d31.json","target-libcomfork-Release-0dc02df4c99f32c54eb2.json","target-libcomfork-RelWithDebInfo-08bb1ba7110bc32ba359.json","target-main_c-Debug-7ae811bab930eb326937.json","target-main_c-MinSizeRel-30232eeb7db25532fc77.json","target-main_c-Release-d0b18f02a86221cf6106.json","target-main_c-RelWithDebInfo-6f9790898be9a6042cc3.json","target-main_cpp-Debug-2b747ba69a8cc53231d5.json","target-main_cpp-MinSizeRel-8fc9cf5a65a467af7949.json","target-main_cpp-Release-4709698e289ba9590d83.json","target-main_cpp-RelWithDebInfo-35a8eec352538fbcaebe.json","target-main_nowait_c-Debug-1ca417090994cf2354af.json","target-main_nowait_c-MinSizeRel-83286f2904cb83f7adb5.json","target-main_nowait_c-Release-66f3d4d2e93e8c5e533c.json","target-main_nowait_c-RelWithDebInfo-1eaa6b2b0bd9bdec5f56.json","target-main_nowait_cpp-Debug-827b4b259fdb76713f07.json","target-main_nowait_cpp-MinSizeRel-6e895991d682adcac09d.json","target-main_nowait_cpp-Release-15bd802b2f83af26ed5c.json","target-main_nowait_cpp-RelWithDebInfo-617fb87f66832c5cdb8a.json","target-ZERO_CHECK-Debug-140f73551e9b2781638a.json","target-ZERO_CHECK-MinSizeRel-140f73551e9b2781638a.json","target-ZERO_CHECK-Release-140f73551e9b2781638a.json","target-ZERO_CHECK-RelWithDebInfo-140f73551e9b2781638a.json","toolchains-v1-6b6625babe32d2748d4c.json"]
[cache] Reading CMake cache file c:/_/comfork/build/CMakeCache.txt
[cache] Parsing CMake cache string
[visual-studio] OK running C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat x64 , env vars: {"DevEnvDir":"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\IDE\\","Framework40Version":"v4.0","FrameworkDir":"C:\\Windows\\Microsoft.NET\\Framework64\\","FrameworkDIR64":"C:\\Windows\\Microsoft.NET\\Framework64","FrameworkVersion":"v4.0.30319","FrameworkVersion64":"v4.0.30319","INCLUDE":"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.40.33807\\include;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.40.33807\\ATLMFC\\include;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Auxiliary\\VS\\include;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.26100.0\\ucrt;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\um;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\shared;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\winrt;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\cppwinrt;C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\include\\um","LIB":"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.40.33807\\ATLMFC\\lib\\x64;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.40.33807\\lib\\x64;C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\lib\\um\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.26100.0\\ucrt\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\\\lib\\10.0.26100.0\\\\um\\x64","LIBPATH":"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.40.33807\\ATLMFC\\lib\\x64;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.40.33807\\lib\\x64;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.40.33807\\lib\\x86\\store\\references;C:\\Program Files (x86)\\Windows Kits\\10\\UnionMetadata\\10.0.26100.0;C:\\Program Files (x86)\\Windows Kits\\10\\References\\10.0.26100.0;C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319","NETFXSDKDir":"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\","Path":"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.40.33807\\bin\\HostX64\\x64;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\IDE\\VC\\VCPackages;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\IDE\\CommonExtensions\\Microsoft\\TestWindow;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\MSBuild\\Current\\bin\\Roslyn;C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.8 Tools\\x64\\;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\IDE\\Extensions\\Microsoft\\CodeCoverage.Console;C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.26100.0\\\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\bin\\\\x64;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\\\MSBuild\\Current\\Bin\\amd64;C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\IDE\\;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\Tools\\;C:\\Program Files\\Amazon Corretto\\jdk21.0.4_7\\bin;C:\\VulkanSDK\\1.3.283.0\\Bin;C:\\Program Files\\Python310\\Scripts\\;C:\\Program Files\\Python310\\;C:\\Perl64\\site\\bin;C:\\Perl64\\bin;C:\\Users\\wjsoe\\AppData\\Roaming\\ActiveState\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\System32\\OpenSSH\\;C:\\Program Files\\7-Zip;C:\\Program Files\\aria2;C:\\Program Files\\wget;C:\\Program Files\\pttb;C:\\Program Files\\Git\\cmd;C:\\Program Files\\LLVM\\bin;C:\\Program Files\\CMake\\bin;C:\\Program Files\\Ninja;C:\\Program Files\\Ccache;C:\\Program Files (x86)\\GnuWin32\\bin;C:\\Program Files\\pkg-config\\bin;C:\\Program Files\\pthreads;C:\\Program Files\\pthreads\\bin;C:\\Program Files\\zlib;C:\\Program Files\\win_flex_bison;C:\\Program Files\\tbb;C:\\Program Files\\tbb\\cmake;C:\\Program Files\\tbb\\bin\\intel64\\vc14;C:\\Program Files\\nodejs\\;C:\\Program Files\\Microsoft VS Code\\bin;C:\\Users\\wjsoe\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\wjsoe\\AppData\\Roaming\\npm;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\Llvm\\x64\\bin;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\IDE\\CommonExtensions\\Microsoft\\CMake\\CMake\\bin;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\IDE\\CommonExtensions\\Microsoft\\CMake\\Ninja;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\IDE\\VC\\Linux\\bin\\ConnectionManagerExe","UCRTVersion":"10.0.26100.0","UniversalCRTSdkDir":"C:\\Program Files (x86)\\Windows Kits\\10\\","VCIDEInstallDir":"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\IDE\\VC\\","VCINSTALLDIR":"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\","VCToolsInstallDir":"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.40.33807\\","VCToolsRedistDir":"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Redist\\MSVC\\14.40.33807\\","VCToolsVersion":"14.40.33807","VisualStudioVersion":"17.0","VSINSTALLDIR":"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\","WindowsLibPath":"C:\\Program Files (x86)\\Windows Kits\\10\\UnionMetadata\\10.0.26100.0;C:\\Program Files (x86)\\Windows Kits\\10\\References\\10.0.26100.0","WindowsSdkBinPath":"C:\\Program Files (x86)\\Windows Kits\\10\\bin\\","WindowsSdkDir":"C:\\Program Files (x86)\\Windows Kits\\10\\","WindowsSDKLibVersion":"10.0.26100.0\\","WindowsSDKVersion":"10.0.26100.0\\","WindowsSDK_ExecutablePath_x64":"C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.8 Tools\\x64\\","WindowsSDK_ExecutablePath_x86":"C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.8 Tools\\","TMP":"C:\\Users\\wjsoe\\AppData\\Local\\Temp"}
[extension] [6054] cmake.configureAll finished (returned 0)

Additional Information

Here is a screenshot of mismatching launch.json and cmake generator:
image

Here is a screenshot that shows I have ninja installed:
image

@jonnysoe
Copy link
Author

I'm currently using "cmake.generator": "Ninja" as a workaround

@jonnysoe
Copy link
Author

jonnysoe commented Sep 26, 2024

I did some code inspection, this is caused by #3869, specifically this line https://github.com/microsoft/vscode-cmake-tools/blob/main/src/drivers/cmakeDriver.ts#L733:

preferredGenerators.unshift(kit.preferredGenerator);

It shouldn't unshift to top of the array because MSVC's kit.preferredGenerator is MSVC, this is nullifying cmake.preferredGenerators, the original issue in #2709 is because the head of cmake.preferredGenerators wasn't available in Linux, the proper approach is to test the generator and shift out of the array if its not available on the system.

I'm aware of testHaveCommand, but it only tests for executable binary, I don't know how to check if a "Visual Studio 17 2022" is a valid generator or not.

@jonnysoe jonnysoe changed the title cmake.preferredGenerators no longer honored in Windows cmake.preferredGenerators no longer honored in MSVC Sep 26, 2024
@Amy-Li03
Copy link

@gcampbell-msft I can repro this issue with following environment, the output window displays -G "Visual Studio 17 2022" after setting "cmake.preferredGenerators": [ "Ninja" ] in settings.json.

Environment:
"os": "win32"
"vscodeVersion": "1.93.1"
"cmtVersion": "1.19.52"

Repro Steps:

  1. Extract and open test project: Test_project.zip with VS code.
  2. Open the command palette(F1 or Ctrl+Shift+P).
  3. Enter and select the command: CMake: Configure.

image

@v-frankwang v-frankwang added more info needed More info is needed from the community for us to properly triage and investigate. and removed triage labels Sep 27, 2024
@gcampbell-msft
Copy link
Collaborator

@jonnysoe Thank you for posting this issue. This is expected behavior currently, as the kit preferred generator is preferred over cmake.preferredGenerator currently, and as you pointed out, we currently don't detect whether the MSVC generator is present, we only check if you're on Windows and if so, assume that it is present.

Your workaround is currently the suggested use case / workaround, and we'll take your feedback into consideration. Again, we appreciate the issue and feedback!

@jophippe @moyo1997 FYI.

@gcampbell-msft gcampbell-msft added bug a bug in the product enhancement an enhancement to the product that is either not present or an improvement to an existing feature Feature: kits and removed more info needed More info is needed from the community for us to properly triage and investigate. labels Sep 30, 2024
@gcampbell-msft gcampbell-msft added this to the Backlog milestone Sep 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug a bug in the product enhancement an enhancement to the product that is either not present or an improvement to an existing feature Feature: kits
Projects
Status: Pending Prioritization
Development

No branches or pull requests

4 participants