"нет известных функций для компилятора CXX" при компиляции с MSVC++ 2013

У меня относительно простой CMakeLists.txt который содержит следующие строки:

target_compile_features(myapp PRIVATE
    cxx_generalized_initializers
    cxx_lambdas
    cxx_nullptr)

Когда я бегу cmake на Windows 2012 Server с установленным MSVC++ 2013 Express я получаю следующую ошибку:

CMake Error at CMakeLists.txt:61 (target_compile_features):
  target_compile_features no known features for CXX compiler

  "MSVC"

  version 18.0.30723.0.

Что вызывает эту ошибку, и что я могу с этим поделать? У CMake, похоже, нет проблем при сборке проекта в Ubuntu 14.10 с GCC.

Я использую CMake 3.1.0, на случай, если это поможет (это был первый релиз CMake для поддержки target_compile_features).

1 ответ

Решение

CMake 3.1.0 поддерживает только "функции компиляции" для GCC 4.7+ (в UNIX, но не в APPLE) и Clang (но не в AppleClang) 3.4+.

CMake 3.2.0 расширит поддержку GCC 4.4+ (в UNIX, включая APPLE), AppleClang 4.0+ (Xcode 4.4+), SolarisStudio 12.4 и MSVC 2010+.

Патчи и сопровождение для других компиляторов могут быть отправлены в список рассылки cmake.

Удостовериться CMP0025 является NEW если вы на APPLE,

https://cmake.org/cmake/help/v3.6/command/cmake_policy.html

Другие вопросы по тегам