Не удается настроить CMake для поиска версии Bison, установленной Homebrew - PullRequest
0 голосов
/ 21 декабря 2018

Я использую 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?

...