Я использую macOS 10.14 и установил bison
версию 3.2 с brew
, но он отказывается связываться:
$ brew link bison --force
Warning: Refusing to link macOS-provided software: bison
If you need to have bison first in your PATH run:
echo 'export PATH="/usr/local/opt/bison/bin:$PATH"' >> ~/.bash_profile
For compilers to find bison you may need to set:
export LDFLAGS="-L/usr/local/opt/bison/lib"
Мой CMakeLists.txt
имеет следующие строки:
find_package(BISON 3.2 REQUIRED)
...
message(STATUS "Found bison ${BISON_VERSION} at: ${BISON_EXECUTABLE}")
cmake
завершается с ошибкой со следующим выводом:
Could NOT find BISON: Found unsuitable version "2.3", but required is at
least "3.2" (found /usr/bin/bison)
Установленная системой bison
имеет версию 2.3, и я знаю, что установленная Homebrew версия имеет версию 3.2.
Модуль FindBISON
, очевидно, использует директиву find_program
CMake, и я попытался добавить /usr/local/opt/bison/bin
к CMAKE_PROGRAM_PATH
, но /usr/bin/bison
всегда выбирается первым, несмотря ни на что.Как я могу заставить CMake отдать предпочтение установленной Homebrew версии исполняемого файла Bison?