CMakeユーザーはcmake -Eを活用せよ
CMakeでちょっと複雑なソフトを作っていると、ビルド時に単にソースをコンパイルするだけでなく、ちょっとしたコマンド実行やファイル操作をしたくなる場合がある。何らかのスクリプトで設定ファイルからソースコードを生成したり、あるファイルを必要な場所にコピーしたりなど。
そういう場合にはadd_custom_commandやadd_custom_targetを使えば任意のシェルコマンドを実行することができる。もちろんLinuxならcpやrm、Windowsであればcopyやdelが実行できるのだが、こうしたプラットフォーム依存な処理をするのはCMakeの意義に照らしてあまり良いことではない。
そこで出てくるのがcmake -Eだ。これを使うとif(WIN32)みたいな不格好な場合分けをせずに済む。


