2

CMake で次のオプションを定義しています。

option(OURAPP-DEV-USE_EXTREME_DEBUGGING "Use extreme debugging features" OFF)

このオプションが(CMake-GUIで)チェックされているかどうかをC++ファイルでチェックインしたいと思います。

つまり、次のような C++ コードを記述します。

#if OURAPP-DEV-USE_EXTREME_DEBUGGING
 print_extra_debugging();
#endif

-私たちのプロジェクトのセットアップでは、コンポーネントに関するオプション (OURAPP や DEV など) の間にオプションが必要であることに注意してください。

それを実現する方法はありますか?

4

2 に答える 2

5

プリプロセッサの定義を使用して、CMake オプションを C++ の世界に転送します。

IF(OURAPP-DEV-USE_EXTREME_DEBUGGING)
    ADD_DEFINITIONS(-DUSE_EXTREME_DEBUGGING)
ENDIF()

内部的には、これにより定義がコンパイラ コマンド ラインに追加され、プリプロセッサで使用できるようになります。

#ifdef USE_EXTREME_DEBUGGING
    print_extra_debugging();
#endif

ハイフンは C プリプロセッサ トークンでは有効な文字ではないため、定義で名前を変更する必要があることに注意してください。

于 2012-10-11T14:07:36.617 に答える
0

cmake を使用することもできますCONFIGURE_FILEhttp://www.cmake.org/cmake/help/cmake2.6docs.html#command%3Aconfigure_file

于 2012-10-11T22:32:12.690 に答える