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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have some experience at my job with CMake, but some quick testing
has found that adding a check like:

message("MSVC = ${MSVC} , WIN32 = ${WIN32})

shows that the MSVC is uninitialized and WIN322 is initialized.  so the
issue is that the MSVC variable isn't being set which is causing
vcpkg_install.bat to not run, rather than the WIN32 variable.

The msvc variable is intended to be set whenever the compiler is a Visual C/C++
compiler [1].  And it seems like visual studio should be setting that itself
either via a toolchain or some other mechanism.  As you noted the
Ninja generator
is os-agnostic and doesn't imply a compiler unlike the Visual Studio family of
generators.

running CMake with -DMSVC=1 should resolve the issue (Assuming you're
actually using
an MSVC based compiler).  If the CMake is intended to support non-MSVC
compilers like
clang, etc. and vcpkg is required to do that build then the MSVC
portion of the check
should be removed, otherwise I am not sure if it's a Visual Studio
issue for not correctly
configuring with MSVC=1 when using an MSVC-based compiler or on the
CMakeList.txt file
for not correctly specifying when vcpk_install.bat needs to be
installed.  I don't really
know what vcpkg does in the build to be sure though.

1: https://cmake.org/cmake/help/latest/variable/MSVC.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux