CMake のコマンドラインでプリプロセッサ マクロを設定しようとしています。試したことは次のとおりです。
set generator="Visual Studio 8 2005"
set params=-D MY_MACRO=1
cmake.exe -G %generator% %params% ..\some_project
MY_MACRO
しかし、コンパイル時に定義されておらず、CMake によって生成されたファイル内でも、CMakeCache.txt
次の形式で存在する場合を除いて、名前がまったく見つかりません。
MY_MACRO:UNINITIALIZED=1
どうすればいいですか?
ベストアンサー1
良い代替案としては、CMake オプションを定義することです。
OPTION(DEFINE_MACRO "Option description" ON) # Enabled by default
条件が続きます:
IF(DEFINE_MACRO)
ADD_DEFINITIONS(-DMACRO)
ENDIF(DEFINE_MACRO)
次に、フラグを使用して CMake のコマンド ラインからそのオプションをオン/オフにすることができます-D
。例:
cmake -DDEFINE_MACRO=OFF ..
コンパイラが定義を正しく受け取っていることを確認するには、make を詳細モードで呼び出して、マクロが定義されているかどうかを確認します。
make VERBOSE=1
make
これは、CMake オプションが変更されたときにコードが再コンパイルされるため、優れたソリューションでもあります。