CMake + Visual C++で、main関数を呼ばせる

OpenGLのようなプロジェクトでは、Windows上でコマンドプロンプトを表示させないためにexecutableにWIN32を付ける。

しかしWinMain()関数が呼ばれては困るので、main()関数が呼ばれるよう、以下のようにリンクフラグを追加する。

add_executable(MyApp main.cpp)

if (WIN32)
    set_target_properties(MyApp PROPERTIES
         LINK_FLAGS "/ENTRY:\"mainCRTStartup\"")
endif ()