CMakeファイル(CMake 2.8.10.2)のCとC++のコンパイル行にさまざまなフラグを追加する必要があります。私はいくつかの人がadd_definitions
を使用しているのを見ていますが、それはプリプロセッサフラグ(-D
)を対象としています。私はプリプロセッサに渡したくないフラグをいくつか持っています。cmake listにコンパイラフラグを追加すると偽の結果になるか?
だから私はCMAKE_C_FLAGS
とCMAKE_CXX_FLAGS
を修正しようとしていました。私は何人かの人々のようなものに使用していたことを参照してください。
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -new -flags -here")
をその後私は、これはあまり効率的であることをcmakeのドキュメントに読み込み、それを行うための正しい方法はこのように、list(APPEND ...)
を使用することです:
list(APPEND CMAKE_C_FLAGS -new -flags -here)
しかし、これを実行すると、コンパイル行にセミコロンで区切られたフラグが含まれており、構文エラーです。私はこれが今ではリストが内部的に保存されていることを読んでいますが、変数を使用したときにcmakeがこれを処理すると考えました。これはとても基本的です。私は何か間違っているのですか?セミコロンで区切られた値のリスト(そして、Windows%PATH%の設定など)以外のものが必要な場合を除き、使用できない場合には、これらのリストはどれですか?私は引用符で囲まれたバージョンを使用するべきですか?
私はそれが物事などをコピーするときのvar名の不一致を取得するのは簡単ですといえセット()アプローチのためのマクロを使用します endmacro() – Trass3r