У мене є проект CMake, який використовує FindCurses.cmake
. Я в ОС X, де ОС поставляється зі старшимиверсія ncurses (і, можливо, не включає прив'язки C ++), і код, який я намагаюся побудувати, вимагає ncurses 5.9. Я використовував домашній браузер для встановлення 5,9, але, як хороший сусід, власник не перезаписує ресурси curses / ncurses, які постачаються разом із ОС (і я не хочу це робити).
Мій інстинкт полягає в тому, що це те, що я повинен це зробитибути в змозі без редагування файлів CMake, чи не так? (Через те, що ця зміна поведінки є специфічною для мого середовища створення та не є зміною самого проекту, вірно?) За допомогою проекту autoconf я, мабуть, додати CFLAGS
і LDFLAGS
змінні середовища перед запуском ./configure
, але CMake, здається, набагато більше йде.
Який ідіоматичний спосіб зробити це в CMake?
Відповіді:
1 для відповіді № 1Ви можете надати додаткові шляхи пошуку через CMAKE_PREFIX_PATH
. Шляхи всередині CMAKE_PREFIX_PATH
шукаються спочатку.
Ви можете вказати CMAKE_PREFIX_PATH
або жорстко закодований у файлі CMakeLists.txt або, бажано, через:
cmake -D CMAKE_PREFIX_PATH=/path/where/brew/installed/curses .
0 для відповіді № 2
Ви можете додати до своїх CMakeLists.txt include_directories та link_directories, що вказують на вашу версію ncurses.
Також я спробую знайти, чи має ncurses 5.9 модуль pkg-config. Див. З pkg-config --list-all.