web-dev-qa-db-ja.com

CMakeに環境変数LD_LIBRARY_PATHおよびC_INCLUDE_DIRSを使用させる方法

CmakeコマンドラインからC_INCLUDE_DIRSとLD_LIBRARY_PATHを渡す方法はありますか、またはCMAKEがそれらを見つけて使用できるようにenvを設定する方法はありますか?

8
user1610950

これらの変数を使用して何をするつもりなのかは完全には明らかではありません。ここにいくつかの可能性があります:

  1. CMakeスクリプト内では、$ENV{<VARIABLE_NAME>}という構文を使用して環境変数を読み取ることができます。したがって、CMakeLists.txtには次のようなものを含めることができます

    message( "Found environment variable LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH}" )
    
  2. この変数に含まれる場所を追加して、CMakeターゲットの実行可能ファイルとライブラリで使用できるようにする場合は、次のように link_directories() コマンドを使用できます。

    link_directories( $ENV{LD_LIBRARY_PATH} )
    
  3. または、他の誰かのプロジェクトがあり、追加のディレクトリでライブラリを探すようにCMakeに指示する場合は、 CMAKE_PREFIX_PATH または CMAKE_LIBRARY_PATH を使用できます。たとえば、これらの変数をコマンドラインで渡すには、次のようにします

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