/ / Правильний шлях, щоб повідомити CMake, щоб знайти (n) прокляття в місці, де відсутнє за замовчуванням? - macos, cmake

Правильний шлях, щоб повідомити CMake, щоб знайти (n) прокляття в розташуванні за замовчуванням? - macos, cmake

У мене є проект 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.