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?
On ne sait pas exactement ce que vous avez l'intention de faire avec ces variables. Voici quelques possibilités:
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}" )
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} )
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