Почему CMake не уважает LIBRARY_PATH и CPATH - PullRequest
0 голосов
/ 15 мая 2018

Я использую CMake в системе HPC, которая использует модули.Эти модули обычно устанавливают LIBRARY_PATH и CPATH, поэтому можно просто включать заголовки и ссылаться на библиотеки без дополнительных -L или -I.

Однако при использовании CMake эти библиотеки должны быть найдены CMake.Я ожидаю, что LIBRARY_PATH и CPATH были автоматически рассмотрены CMake и записаны, например, в CMAKE_SYSTEM_LIBRARY_PATH и CMAKE_SYSTEM_INCLUDE_PATH, но это не так.?

Не было бы неплохо (пока вручную, позже автоматически CMake) добавить LIBRARY_PATH к CMAKE_SYSTEM_LIBRARY_PATH и CPATH к CMAKE_SYSTEM_INCLUDE_PATH?

1 Ответ

0 голосов
/ 15 мая 2018

Есть ли причины, по которым это было (не) сделано?

Не будет ли хорошей идеей (сейчас вручную, позже автоматически CMake) добавить LIBRARY_PATH к CMAKE_SYSTEM_LIBRARY_PATH и CPATH к CMAKE_SYSTEM_INCLUDE_PATH?

Существует еще одно мнение, что зависимость вашей сборки от переменных среды приводит к ненадежным сборкам. Из GNU Make manual :

Не стоит, чтобы make-файлы зависели от своего функционирования от переменных среды, установленных вне их контроля, поскольку это привело бы к тому, что разные пользователи получали разные результаты из одного и того же make-файла. Это противоречит цели большинства make-файлов.

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