в find_package() можно указать минимальную версию bison'а (https://cmake.org/cmake/help/latest/module/FindBISON.html) там же и оверрайд (-DBISON_EXECUTABLE=/path/to/bison)
Подскажите, пожалуйста, как это можно записать, если через IDE работаю с CMakeLists, сам не догоняю, опыта не хватает
Например, в IDE открыть CMakeCache.txt из build-директории, там найти BISON_EXECUTABLE и его поправить, если вдруг надо
(это весьма такой себе подход, но на один раз сгодится)
Нашёл CMakeCache.txt проекта, поменял там два поля, теперь новая ошибка /Applications/CMake.app/Contents/share/cmake-3.26/Modules/FindBISON.cmake:113: error: Command "/opt/homebrew/Cellar/bison/3.8.2 --version" failed with output: CMakeLists.txt:32 (find_package)
а что за значения вы туда вписали?
/opt/homebrew/Cellar/bison/3.8.2
что-то мне подсказывает, что это не полный путь до бинарника попробуйте что-то вроде /opt/homebrew/Cellar/bison/3.8.2/bin/bison вписать
А эта информация от homebrew может быть полезна? For compilers to find bison you may need to set: export LDFLAGS="-L/opt/homebrew/opt/bison/lib"
Да, вы оказались абсолютно правы Большое вам спасибо!
звучит как стандартная фраза от brew, вроде bison не в виде либы поставляется (но я могу что-то не знать)
Обсуждают сегодня