git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [RFH] CMake: detect if being run via Visual Studio, independent of build generator?

From
Sibi Siddharthan <sibisiddharthan.github@gmail.com>
Date
May 29, 2021, 22:14 UTC
Message-ID
<CAKiG+9UeT70S3_jNXUbx2KCM6UDUxPKMizFX_fUiioDo-zmp+Q@mail.gmail.com>
In-Reply-To
<7ac2c0f4-e8ed-5676-1f81-3446e33def9c@iee.email>
> Ahh, so it (MSVC) would be unset at that point no matter what at that
> early point in the code, yes?
>
yes
Show 13 quoted lines
> >
> > To fix this I would suggest to change line:53
> >
> > -  if(MSVC AND NOT EXISTS ${VCPKG_DIR})
> > + if(CMAKE_GENERATOR MATCHES "Visual Studio" AND NOT EXISTS ${VCPKG_DIR})
>
> I'd seen this one recommended on a few StackOverflow answers but it no
> longer works (for a new install of Visual Studio) because
> CMAKE_GENERATOR is now set to "Ninja" as default (sigh).
>
> Simply dropping the MSVC test may be one option - we are already guarded
> by the earlier WIN32 test so were aren't on another OS, though I expect
> there could be some who want to not use VS, and already have options..
I am one of them, I use clang and MSVC with Ninja.
Show 8 quoted lines
> > and
>
> > add CMakeSettings.json to force Visual Studio to use MSBuild.
>
> I was trying to avoid requiring VS users do any extra set up steps. Too
> many steps often puts off new users, and forcing a change could be
> annoying for established users - hence the caution.
>
Yeah, I agree.

Right now, I seriously think that we need to revert 958a5f5dfe4dda4fd59af30c1d58abe43ff19d6e. This patch also hurts command line users like me.

A more complete solution would involve adding an explicit option to use vcpkg. This can cater to people who prefer using vcpkg and to people who prefer using their own packages (like me). But this means that you have to generate the solution file using the command line. Some people might be put off due to this extra 'single' step.

I am afraid this is a situation where you cannot make everyone happy.

Thank You, Sibi Siddharthan

.
Previous: Philip OakleyNext: Matt Rogers
Message 6 of 14 in “[RFH] CMake: detect if being run via Visual Studio, independent of build generator?”
  1. Philip OakleyMay 29, 2021
  2. Matt RogersMay 29, 2021
  3. Philip OakleyMay 29, 2021
  4. Sibi SiddharthanMay 29, 2021
  5. Philip OakleyMay 29, 2021
  6. Sibi SiddharthanMay 29, 2021
  7. Matt RogersMay 30, 2021
  8. Philip OakleyMay 30, 2021
  9. Matt RogersMay 30, 2021
  10. Sibi SiddharthanMay 30, 2021
  11. Philip OakleyMay 30, 2021
  12. Philip OakleyMay 30, 2021
  13. Matt RogersMay 31, 2021
  14. Philip OakleyMay 31, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.