私はCMakeについては初心者ですので、私はあなたの助けをしたいと思います。 A.c、B.cpp、c.cppのソースファイルに依存する実行可能なターゲットTがあるとしましょう。 A.cを特定のフラグでコンパイルし、オブジェクトファイルA.oを作成したいと思います。簡単にするために、BとCはg ++で同じフラグセットでコンパイルされ、対応するオブジェクトファイルはB.o C.oとして作成されるものとしましょう。次に、これらのオブジェクトファイルをリンクし、gccでTを生成することができます。私は定期的なmakefileを使っていくつかのステップでそれを行うことができることを知っています。基本的には、特定のフラグを持つA.cと残りのファイルを同じフラグでコンパイルするのに問題があります。私はどのように正確にそれがCMakeで行う必要がありますか分からないのですか?CMakeを使用して、単一のターゲットに対して異なるオプションで異なるソースファイルをコンパイルするには?
add_executable(T A.c B.cpp C.cpp)
私はcmakeのはtarget_compile_options()
を提供しています知っているが、私は私の場合のためにそれを使用することはありませんか?私はそれが目標のグローバルフラグに設定することができると思うが、私は何の後ではない!
は、交流のための別のライブラリのターゲットを作成することでしたが、https://cmake.org/Wiki/CMake/Tutorials/ [ここ](で説明したようにOBJECT引数で渡されましたObject_Library)に必要なオプションとフラグを設定します。実際のターゲットでは、 'add_executable(T B.cpp C.cpp $)'を使うことができました。したがって、BとCは別のオプションでコンパイルされ、A.oとリンクされます。 –
Aref