本文を読み飛ばす

cmakeコマンドでのビルド・クリーン・テスト

CMake は、Makefile や Visual Studio プロジェクトといったビルドツール用ファイル群を生成するだけでなくコンパイルや単体テストの実行もできる。もちろん makemsbuild コマンドでビルドも単体テスト実行もできるのだけれど、cmake コマンドから行うと各ビルドツールのコマンドラインオプションを忘れても良いため、Linux と Windows を行ったり来たりしながら開発する場合などは少し脳ミソの負担が軽減される。また、地味ながらリリースビルド時に msbuild の長ったらしいコマンドラインオプションを打たずに済むのもメリットかもしれない。あと、単純に実行するだけなら単体テストランナーの実行ファイルを直接指定して実行する必要が無いため、単体テストランナーの出力パス等を忘れられる点もメリットかもしれない。

続きを読む…

CMakeでCRTライブラリを静的リンクするVisual Studioプロジェクトを出力する

CRT ライブラリを静的リンクする (/MT コンパイルオプションを使う)よう設定した Visual Studio のプロジェクトファイル (.vcxproj) を CMake で生成する方法について勉強したので、備忘録。

なお、本質的な内容は 公式 Wiki の FAQ に掲載されている方法 と変わらない。 ただ Wiki の記載をすんなりと理解できなかったので、自分なりにかみ砕いて理解して、 自分の価値観的なメリット・デメリットを沿えつつ書き起こしてみた次第。

続きを読む…

ackをvimの外部grepで使う

一度に複数のソースファイルから特定のテキストパターンを検索するには ack を使うと便利。自分にとっての "find | xargs grep" イディオムに対する ack の最大のメリットは、特別なオプションを指定しなくともプログラミングに無関係なファイルを検索対象から除外してくれる点。これを vim の外部 grep 機能から呼び出して使う方法について備忘録。

続きを読む…

_MSC_VERマクロの値

Windows 用の C/C++ プログラムを開発していると、Visual Studio のバージョンによる機能差に対処するためソースコード中でコンパイラバージョンを判断する必要が出てくる。 そのときに使うのが _MSC_VER という定義済みプリプロセッサマクロ。 この値を暗記すれば苦労は無いのだけれど、イマイチ覚えきれないので備忘録を作った。

なお、新しい Visual Studio が出るたびに随時追記する予定。

続きを読む…