私は最近Qt
プロジェクトをqmake
からCMake
に移植しました。 メインプログラムには#define
という指令に依存する値が含まれています。CMakeで変数の2つの異なる値を持つプログラムを構築する方法
CMake
を介して外部でdefineディレクティブを指定し、同じ実行可能ファイルの3つの異なる名前のビルドを作成したいとします。
どうすればよいですか?
私はset_target_properties
を見ましたが、これはライブラリのみで実行可能ファイルでは機能しません。それは私が
add_executable(myAppV1 -DBUILDTYPE=1)
add_executable(myAppV2 -DBUILDTYPE=2)
add_executable(myAppV3 -DBUILDTYPE=3)
を指定したい私の
CMakeLists.txt
に例えば
BUILDTYPE "define"
に基づいて3種類の味(3つの実行ファイル)にコンパイルされています次のプログラム、
int main()
{
cout << BUILDTYPE << endl;
}
ことを私は望ん例えば
しかしこれは正しい構文ではありません。 ヒント? と3つの実行ファイルが出力されます
ありがとうございました! 私はadd_executable後set_target_propertiesを移動し、あなたが書いた第二版 add_executable(myAppv1 main.cppに) set_target_properties(myAppV1 PROPERTIES COMPILE_DEFINITIONS "BUILDTYPE = 1") ではなく、このよう add_executable(myAppv1でそれを使用する必要がありますmain.cpp) set_target_properties(myAppV1 PROPERTIES COMPILE_DEFINITIONS "-DBUILDTYPE = 1") – linello