microsoft / vscode-cmake-tools

CMake integration in Visual Studio Code
https://marketplace.visualstudio.com/items?itemName=vector-of-bool.cmake-tools
MIT License
1.44k stars 432 forks source link

preferredGenerators does not fallback on linux #2709

Open ZgblKylin opened 1 year ago

ZgblKylin commented 1 year ago

Brief Issue Summary

I'm using VSCode on Windows machine, and with remote-ssh to Linux machine, so I configured cmake.preferredGenerators as:

  "cmake.preferredGenerators": [
    "Visual Studio 16 2019",
    "Ninja",
    "Unix Makefiles",
  ]

In this situation, it's expected to be:

But CMake: Configure fails on Linux with first generator, and didn't try of others.

CMake Tools Diagnostics

{
  "os": "linux",
  "vscodeVersion": "1.71.0-insider",
  "cmtVersion": "1.11.26",
  "configurations": [
    {
      "folder": "/home/chongfei/git/YSG-Vision",
      "cmakeVersion": "3.22.1",
      "configured": true,
      "generator": "Visual Studio 16 2019",
      "usesPresets": false,
      "compilers": {}
    }
  ],
  "cpptoolsIntegration": {
    "isReady": true,
    "hasCodeModel": true,
    "activeBuildType": "Debug",
    "buildTypesSeen": [
      "Debug"
    ],
    "requests": [],
    "responses": [],
    "partialMatches": [],
    "targetCount": 65,
    "executablesCount": 16,
    "librariesCount": 20,
    "targets": []
  },
  "settings": [
    {
      "communicationMode": "automatic",
      "useCMakePresets": "auto",
      "configureOnOpen": false
    }
  ]
}

Debug Log

[main] Configuring folder: YSG-Vision 
[main] Saving open files before configure/build
[driver] Start configure 
[driver] Running pre-configure checks and steps
[cmakefileapi-driver] Configuring using kit
[cmakefileapi-driver] Invoking CMake /usr/local/bin/cmake with arguments ["--no-warn-unused-cli","-DCMAKE_C_COMPILER_LAUNCHER:STRING=ccache","-DCMAKE_CXX_COMPILER_LAUNCHER:STRING=ccache","-DBUILD_TESTING:BOOL=TRUE","-DPERCEPTION_BUILD_EXECUTABLE:BOOL=TRUE","-DCALMCAR_UNITY_BUILD:BOOL=TRUE","-DWARNING:BOOL=TRUE","-DSYSTEM_VISION_NAME:STRING=mkz_vision","-DXAVIER:BOOL=TRUE","-DPLUGIN_LIST:STRING=","-DCMAKE_TOOLCHAIN_FILE:STRING=/home/chongfei/git/YSG-Vision/cmake/Toolchain-V5L.cmake","-DVIBRANTE_PDK:STRING=/home/nvidia/sdk_install/DRIVE_OS_5.2.6.0_SDK_Linux_OS_DDPX/DRIVEOS/drive-t186ref-linux","-DCUDA_VERSION:STRING=10.2","-DSIMULATOR:BOOL=TRUE","-DCHECK_LICENSE:BOOL=TRUE","-DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE","-DCMAKE_BUILD_TYPE:STRING=Debug","-S/home/chongfei/git/YSG-Vision","-B/home/chongfei/git/YSG-Vision/build/ASUS/mkz/Debug","-G","Visual Studio 16 2019"]
[proc] Executing command: /usr/local/bin/cmake --no-warn-unused-cli -DCMAKE_C_COMPILER_LAUNCHER:STRING=ccache -DCMAKE_CXX_COMPILER_LAUNCHER:STRING=ccache -DBUILD_TESTING:BOOL=TRUE -DPERCEPTION_BUILD_EXECUTABLE:BOOL=TRUE -DCALMCAR_UNITY_BUILD:BOOL=TRUE -DWARNING:BOOL=TRUE -DSYSTEM_VISION_NAME:STRING=mkz_vision -DXAVIER:BOOL=TRUE -DPLUGIN_LIST:STRING= -DCMAKE_TOOLCHAIN_FILE:STRING=/home/chongfei/git/YSG-Vision/cmake/Toolchain-V5L.cmake -DVIBRANTE_PDK:STRING=/home/nvidia/sdk_install/DRIVE_OS_5.2.6.0_SDK_Linux_OS_DDPX/DRIVEOS/drive-t186ref-linux -DCUDA_VERSION:STRING=10.2 -DSIMULATOR:BOOL=TRUE -DCHECK_LICENSE:BOOL=TRUE -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_BUILD_TYPE:STRING=Debug -S/home/chongfei/git/YSG-Vision -B/home/chongfei/git/YSG-Vision/build/ASUS/mkz/Debug -G "Visual Studio 16 2019"
[cmake] CMake Error: Could not create named generator Visual Studio 16 2019
[cmake] Not searching for unused variables given on the command line.
[cmake] 
[cmake] Generators
[cmake]   Green Hills MULTI            = Generates Green Hills MULTI files
[cmake]                                  (experimental, work-in-progress).
[cmake] * Unix Makefiles               = Generates standard UNIX makefiles.
[cmake]   Ninja                        = Generates build.ninja files.
[cmake]   Ninja Multi-Config           = Generates build-<Config>.ninja files.
[cmake]   Watcom WMake                 = Generates Watcom WMake makefiles.
[cmake]   CodeBlocks - Ninja           = Generates CodeBlocks project files.
[cmake]   CodeBlocks - Unix Makefiles  = Generates CodeBlocks project files.
[cmake]   CodeLite - Ninja             = Generates CodeLite project files.
[cmake]   CodeLite - Unix Makefiles    = Generates CodeLite project files.
[cmake]   Eclipse CDT4 - Ninja         = Generates Eclipse CDT 4.0 project files.
[cmake]   Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.
[cmake]   Kate - Ninja                 = Generates Kate project files.
[cmake]   Kate - Unix Makefiles        = Generates Kate project files.
[cmake]   Sublime Text 2 - Ninja       = Generates Sublime Text 2 project files.
[cmake]   Sublime Text 2 - Unix Makefiles
[cmake]                                = Generates Sublime Text 2 project files.
[cmake] 
[extension] [8706] cmake.configure finished (returned 1)

Additional Information

Version of plugin is v1.11.26.

elahehrashedi commented 1 year ago

Thank you for reporting this issue. We will take a look at it for the next release.