web-dev-qa-db-fra.com

Comment faire pour que CMake utilise la variable d'environnement LD_LIBRARY_PATH et C_INCLUDE_DIRS

Existe-t-il un moyen de passer C_INCLUDE_DIRS et LD_LIBRARY_PATH à partir de la ligne de commande cmake ou existe-t-il un moyen de définir env pour que CMAKE puisse les trouver et les utiliser?

8
user1610950

On ne sait pas exactement ce que vous avez l'intention de faire avec ces variables. Voici quelques possibilités:

  1. Dans un script CMake, vous pouvez lire les variables d'environnement en utilisant la syntaxe $ENV{<VARIABLE_NAME>}. Donc, dans votre CMakeLists.txt vous pouvez avoir quelque chose comme

    message( "Found environment variable LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH}" )
    
  2. Si vous souhaitez ajouter l'emplacement contenu dans cette variable pour être disponible pour vos exécutables et bibliothèques cibles CMake, vous pouvez utiliser la commande link_directories () comme

    link_directories( $ENV{LD_LIBRARY_PATH} )
    
  3. Ou si vous avez le projet de quelqu'un d'autre et que vous souhaitez demander à CMake de rechercher des bibliothèques dans certains répertoires supplémentaires, vous pouvez utiliser CMAKE_PREFIX_PATH ou CMAKE_LIBRARY_PATH . Par exemple, pour passer ces variables dans une ligne de commande, vous pouvez faire

    cmake -D CMAKE_PREFIX_PATH=/path/to/custom/location
    
12
user6764549