Как сказать CMake, где найти каталог библиотеки? - PullRequest
0 голосов
/ 01 февраля 2020

Я пытаюсь установить glnemo2 на рабочий стол, к которому у меня нет доступа root. ОС CentOS. glnemo2 требует CCfits, которые я установил локально в $ HOME / local / CCfits. Итак, я скачал и распаковал исходный файл, и, следуя инструкции, все, что мне нужно сделать, это

  cd build
  cmake ..
  make
  make install

Однако во время make он жалуется: fatal error: CCfits: No such file or directory #include <CCfits>.

Итак, мой вопрос, как сказать cmake, где искать установленную библиотеку CCfits?

1 Ответ

0 голосов
/ 01 февраля 2020

Глядя на проект glnemo2:

  1. Нет find_package(CCfits) ср c: https://gitlab.lam.fr/jclamber/glnemo2/blob/master/CMakeLists.txt

  2. Они используют CMAKE_MODULE_PATH
    https://gitlab.lam.fr/jclamber/glnemo2/blob/master/CMakeLists.txt#L20 -21

  3. , но не предоставляют FindCCfits.cmake модуль

  4. Они используют уродливый (не target_include_directories () + жестко закодированный путь):

include_directories(/usr/include/CCfits /opt/local/include /opt/local/include/CCfits  /usr/include/cfitsio /usr/local/include/CCfits)

sr c: https://gitlab.lam.fr/jclamber/glnemo2/blob/master/CMakeLists.txt#L156
затем другой хаки sh

target_link_libraries (glnemo2 ... CCfits cfitsio ...)

ср c: https://gitlab.lam.fr/jclamber/glnemo2/blob/master/CMakeLists.txt#L230

Быстрое решение состоит в том, чтобы изменить эти строки, * На 1044 * меньше взлома будет предоставление findCCfits.cmake, скажем, цели CCfits::CCfits.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...