同じクラスの 1 つの CMakeLists.txt ファイル内に別々の実行可能ファイルを作成する方法はありますが、目的は異なりますか? これはDEBUG/RELEASE スイッチに似ていますが、ソース コード レベルで決定する必要があります。
疑似 CMakeLists.txt:
SET_INTENTION(app1 1)
ADD_EXECUTABLE(app1 main.cxx)
SET_INTENTION(app2 2)
ADD_EXECUTABLE(app2 main.cxx)
疑似コード main.cxx:
if (intention == 1)
//do something different to intention == 2
ADD_DEFINITIONS
プリプロセッサの定義とソースで試してみまし#ifdef
たが、CMake はファイル全体を解釈し、定義が追加された位置に関係なく、すべての定義を取得しているようです。ADD_EXECUTABLES()
を (サブフォルダーで) 2 つに分割するのCMakeLists.txt
は簡単ではなく、 と を使用するときに問題が発生しQT4_WRAP_CPP
ますQT4_WRAP_UI
。アイデア/回避策をいただければ幸いです。