3
単一ファイルのコンパイルフラグを上書きする
プロジェクトをコンパイルするためにフラグのグローバルセットを使用したいと思います。つまり、最上位のCMakeLists.txtファイルで次のように指定しました。 ADD_DEFINITIONS ( -Wall -Weffc++ -pedantic -std=c++0x ) ただし、サブディレクトリ内の特定のファイル(たとえば、 "foo.cpp"としましょう)については、コンパイルフラグを切り替えて-Weffc ++(変更できない商用ライブラリが含まれている)を適用しないようにします。-Wallのみを使用するように状況を簡略化するために、私は次のことを試みました。 SET_SOURCE_FILES_PROPERTIES( foo.cpp PROPERTIES COMPILE_FLAGS -Wall ) ADD_EXECUTABLE( foo foo.cpp ) 、動作しませんでした。私も試しました SET_PROPERTY( SOURCE foo.cpp PROPERTY COMPILE_FLAGS -Wall ) ADD_EXECUTABLE( foo foo.cpp ) そして ADD_EXECUTABLE( foo foo.cpp ) SET_TARGET_PROPERTIES( foo PROPERTIES COMPILE_FLAGS -Wall ) 、どちらも機能しませんでした。 最後に、私はこの定義を削除してみました: REMOVE_DEFINITIONS( -Weffc++ ) ADD_EXECUTABLE( …