Search code examples
cmakeclion

Blender in CLion: MSVC_REDIST_DIR-NOTFOUND, LIBDIR cmake variable


I am trying to build the Blender project in CLion, and failing with just configuring the IDE.

First, but not so crucial IMO, I am not sure which Architecture should I select in the Settings. By default CLion decided to go with x86, but that sounds like 32bit Windows to me... in 2022? enter image description here (But as long as I can build the project I guess win32 should not bother me.)

This seems like a bigger problem:

  CMake Warning at C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/InstallRequiredSystemLibraries.cmake:601 (message):
  system runtime library file does not exist: 
'MSVC_REDIST_DIR-NOTFOUND/x86/Microsoft.VC142.CRT/msvcp140.dll'
...
'MSVC_REDIST_DIR-NOTFOUND/x86/Microsoft.VC142.CRT/vcruntime140.dll'
...
'MSVC_REDIST_DIR-NOTFOUND/x86/Microsoft.VC142.CRT/concrt140.dll'
...
'MSVC_REDIST_DIR-NOTFOUND/x86/Microsoft.VC142.OPENMP/vcomp140.dll'
...

CMake Error at build_files/cmake/platform/platform_win32.cmake:264 (message):
  32 bit compiler detected, blender no longer provides pre-build libraries
  for 32 bit windows, please set the `LIBDIR cmake variable` to your own
  library folder

All those "missing" files are scattered in the Visual Studio subdirectory "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.30.30704\x86\Microsoft.VC143*" directories, but for some reason CMake "decided" to go with VC142.

1) How does one convince CMake to go with VC143?

2) How does one set the LIBDIR cmake variable?
I suppose this one could go away once the Nr.1 problem gets resolved, but if not... Where should the variable point to, and what would its full name be? Just LIBDIR? (I am seeing CMAKE_INSTALL_ and CMAKE_INSTALL_FULL_ prefixes mentioned in GNUInstallDirs.cmake.)

Anyways, I suspect it should be set here? enter image description here


Solution

  • So apparently there's a bug in VS2022. This version comes with CRT143 (whatever it is) yet the bundled scripts identify the VS as 2019 which only knows/recognizes CRT up to version 142.

    https://developercommunity.visualstudio.com/t/1616850