2016-12-07 6 views
2

私はCMakeでビルドされたパッケージをインストールしています。非標準の場所にヘッダファイルをインストールします。インストール時にそのパスを変更するために使用できる変数はありますか?どのようにあなたは、CMakeでヘッダファイルの場所を制御しますか?

現在CMakeの呼び出しは次のとおりです。

cmake /p/a/t/h -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib 

私は-DCMAKE_INSTALL_INCDIRまたは-DCMAKE_INCLUDE_DIRまたは-DCMAKE_INCLUDE_HEADERDIR、または何かを探しています。一般 (例えば、私はautoconfのを使用してconfigure --includedir=/usr/includeで行われるものを達成しようとしているスクリプトを設定し、生成。)

答えて

2

、CMakeのパッケージは、ユーザーがコンポーネントごとのベースでインストールパスを変更できるようにする必要はありません

しかし、パッケージにCMakeモジュールGNUInstallDirsが含まれていて、インストールコンポーネントの変数を使用している場合、ユーザーはこれらの変数の一部を設定することでコンポーネントのインストールパスに影響を与える可能性があります。パッケージは、これらの変数のすべてを使用する必要はないこと

BINDIR   - user executables (bin) 
SBINDIR   - system admin executables (sbin) 
LIBEXECDIR  - program executables (libexec) 
SYSCONFDIR  - read-only single-machine data (etc) 
SHAREDSTATEDIR - modifiable architecture-independent data (com) 
LOCALSTATEDIR - modifiable single-machine data (var) 
LIBDIR   - object code libraries (lib or lib64 or lib/<multiarch-tuple> on Debian) 
INCLUDEDIR  - C header files (include) 
OLDINCLUDEDIR - C header files for non-gcc (/usr/include) 
DATAROOTDIR  - read-only architecture-independent data root (share) 
DATADIR   - read-only architecture-independent data (DATAROOTDIR) 
INFODIR   - info documentation (DATAROOTDIR/info) 
LOCALEDIR  - locale-dependent data (DATAROOTDIR/locale) 
MANDIR   - man documentation (DATAROOTDIR/man) 
DOCDIR   - documentation root (DATAROOTDIR/doc/PROJECT_NAME) 

注:このような各変数は、フォーム<dir>が(マニュアルに従って)の上にあってもよい

CMAKE_INSTALL_<dir> 

を有します。たとえば、パッケージでは、インストールライブラリの場合は変数CMAKE_INSTALL_LIBDIRが使用されますが、インストールヘッダーの場合は、CMAKE_INSTALL_INCLUDEDIRは無視されます。

関連する問題