Мне нужно убедиться, что если пользователь использует мою цель,
find_package(myproject)
они включили C ++.CMake поставляется с множеством функций компиляции для разных языков, но ни одна из них не проверяет, включен ли язык на самом деле.В настоящее время мое решение состоит в том, чтобы требовать поддержки компилятора для старого стандарта C ++:
target_compile_features(myproject INTERFACE cxx_std_98)
Если C ++ не включен, пользователь видит сообщение
Cannot use features from non-enabled language CXX
, которое, как мы надеемся, заставит их включитьязык.Есть ли лучший способ распространения языковых требований с помощью экспортируемой цели?