2 votes

Est-ce que find_library de CMake recherche LD_LIBRARY_PATH ?

Malgré la lecture de la documentation, je n'arrive pas à savoir si la commande CMake find_library recherche ou non les répertoires énumérés dans LD_LIBRARY_PATH .

Mes tests donnent des résultats mitigés.

2voto

wasthishelpful Points 10726

D'après la documentation (je n'ai pas reproduit le texte relatif aux variables cmake ni les paramètres de find_library qui ne sont pas pertinentes ici) :

Si NO_DEFAULT_PATH est spécifié, aucun chemin supplémentaire n'est ajouté à la recherche. Si l'option NO_DEFAULT_PATH n'est pas spécifié, le processus de recherche est le suivant :

...

  1. Rechercher les variables d'environnement standard du système. Cette étape peut être ignorée si NO_SYSTEM_ENVIRONMENT_PATH i
    • Annuaires en LIB . Sur les hôtes Windows : <prefix>/lib/<arch> si CMAKE_LIBRARY_ARCHITECTURE est fixé, et <prefix>/lib pour chaque <prefix>/[s]bin en PATH , <entry>/lib pour d'autres entrées dans PATH et les répertoires dans PATH même.

...

Donc LD_LIBRARY_PATH n'est pas utilisé par find_library . Ceci est confirmé par la lecture du code source .

Les résultats mitigés de vos tests peuvent provenir d'une autre variable, mais en l'absence d'une description détaillée de ces tests, il ne s'agit que d'une supposition.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X