ко мне...
В общем, пишу в CMakeLists.txt:
find_package(Clang 12.0.0 REQUIRED CONFIG)
Получаю ошибку:
CMake Error at CMakeLists.txt:8 (find_package):
Could not find a configuration file for package "Clang" that is compatible
with requested version "12.0.0".
The following configuration files were considered but not accepted:
/usr/lib/cmake/clang-10/ClangConfig.cmake, version: unknown
/usr/lib/cmake/clang-11/ClangConfig.cmake, version: unknown
/usr/lib/cmake/clang-12/ClangConfig.cmake, version: unknown
/lib/cmake/clang-10/ClangConfig.cmake, version: unknown
/lib/cmake/clang-11/ClangConfig.cmake, version: unknown
/lib/cmake/clang-12/ClangConfig.cmake, version: unknown
Подскажите, как мне "найти" тот конфиг, который относится к clang 12?
Не писать версию и явно подсунуть CLANG_DIR?
Я не шарю особо в Линукс — отсюда вопрос — как это с другими дистрами будет работать? Если не будет, то делать if на каждый дистр, условно?
Да это вообще от линукса зависеть не будет. Просто всегда подсовывать явно clang_dir. Если нужна вариативность, то нужно смотреть что там ClangConfig экспортирует.
Ааа, имелось в виду подсовывать прям при генерации cmake'ом через CLI?
Не, такое не очень устраивает..
А почему не устраивает? Это вполне себе общепринятый процесс при использовании cmake — в реальности при конфигурации какие-то флаги, да задаются — хоть из cli, хоть через IDE, везде такая возможность есть, ибо это базовая вещь для cmake. Чаще всего есть одна нужная версия и тут дефолтное поведение отлично подходит. Вот и пусть по дефолту находит то, что найдёт, а если кому-то нужно задать конкретную версию — пусть подсовывает Clang_DIR/Clang_ROOT
Обсуждают сегодня