既存のC++マルチプロジェクトは、これまでのところQTでCMake2.8を使用しています。Visual Studio2010で引き続き維持したいと思います。オプションを使用してCMakeでVisualStudioプロジェクトを生成し-G "Visual Studio 10"
ましたが、次の理由でコンパイルに失敗しました。
プロジェクトでは、よく知られているマクロを使用します。このマクロ自体は、たとえばこの質問で説明されています。
#define DISALLOW_COPY_AND_ASSIGN(TypeName) \
TypeName(const TypeName&); \
void operator=(const TypeName&)
マクロは、プリプロセッサ定義としてコンパイラ(cl.exe)に提供するために、CMakeで定義されます。
add_definitions(-DDISALLOW_COPY_AND_ASSIGN\(TypeName\)=\" TypeName(const TypeName&)\; void operator=(const TypeName&)\; \")
Visual Studioは、CMakeの出力を受け入れず、コードでマクロが使用されている場合は常にコンパイルエラーをスローします。CMakeがVisualStudio2010用に適切に生成できるようにするための適切な構文は何でしょうか?