から、それはこのようなconfigure.ac
でAC_CONFIG_HEADERS
マクロを指定してconfig.h
ファイルを生成することが一般的ですAutotool群を使用する場合のようにconfig.hの生成:CMakeのは、Autoconfの
AC_CONFIG_HEADERS([config.h])
CMakeのを使用して、このため、それぞれの同等とは何ですか?
から、それはこのようなconfigure.ac
でAC_CONFIG_HEADERS
マクロを指定してconfig.h
ファイルを生成することが一般的ですAutotool群を使用する場合のようにconfig.hの生成:CMakeのは、Autoconfの
AC_CONFIG_HEADERS([config.h])
CMakeのを使用して、このため、それぞれの同等とは何ですか?
config.h.in
のようなファイルを作成する必要があります。
#cmakedefine HAVE_FEATURE_A @[email protected]
#cmakedefine HAVE_FEATURE_B @[email protected]
#cmakedefine HAVE_FEATURE_BITS @[email protected]
のようなものは、その後、あなたはFeature_A_FOUND
、あなたのCMakeのコードでFeature_B_FOUND
、B_BITSIZE
とは呼んで変数を宣言する必要がautotoolsのからのものと同様にconfig.hファイルになります
configure_file(config.h.in config.h)
。変数が見つからないか、またはfalseに設定されている場合は、その行にコメントが付けられます。それ以外の場合は、値が挿入されます。おそらくHAVE_FEATURE_Bより良い変数の値に応じて0または1をもたらす
#cmakedefine01
として定義される
/* #undef HAVE_FEATURE_A @[email protected] */
#define HAVE_FEATURE_B /usr/lib/b
#define HAVE_FEATURE_BITS 64
をもたらすであろう、Feature_A_FOUND=A-NOTFOUND
B_BITSIZE=64
、Feature_B_FOUND=/usr/lib/b
°をとります。
一般に、CMakeはより柔軟なので、Autotoolsによって生成されたすべてのconfig.hファイルを作成することができます。しかし、より多くの作業が必要で、自動的にconfig.hを取得することはできませんが、.inファイルを自分で記述する必要があります。
ドキュメント: https://cmake.org/cmake/help/v3.6/command/configure_file.html
見る(https://cmake.org/cmake/help/v3.0/command/configure_file.html)[特定]と [一般](のhttp:// WWW。 vtk.org/Wiki/CMake:How_To_Write_Platform_Checks)のドキュメント。 –
[CMake:Autotoolsのようなヘッダーファイルとライブラリ関数をチェックする方法?](http://stackoverflow.com/questions/647892/cmake-how-to-check-header-files-and-library-functions) autotoolsのような) – usr1234567