CMakeでのPDBファイルの扱い,その後

やや旧聞になりますが,VS2015もリリースされて開発環境の整備に追われる日々です.

Visual Studioが新しくなるたび,よく使うライブラリは新しいコンパイラでビルドし直しているのですが, そういえばCMakeでのPDBファイルの扱いがどうなったのか気になって調べてみました.

*  *  *

Visual Studioでコードをデバッグするには,Program Database(.pdb)という ファイルが必要なのですが,以前のCMakeではコンパイラが生成する.pdbファイルのファイル名と,リンカが生成する .pdbファイルのファイル名を個別に指定できない,という問題がありました(PDB_NAMEというターゲットプロパティはあるのですがコンパイラ・リンカともに同じファイル名になってしまい,そのようにするとビルドに失敗する).

それが理由で以前からCMakeを改造して使っていたのですが,CMake v3.1以上ではCOMPILE_PDB_NAMEというターゲットプロパティが追加されたようです. これは名前の通り,コンパイラが生成する.pdbファイルの名前(つまりclの/Fdオプションの値)を制御するターゲットプロパティです.PDB_NAMEは従来通り,リンカが生成する.pdbファイルの名前を制御するのに使用されます.

これで,ようやくCMakeを改造して使用する必要はなくなりました.作業がすこし楽になりますね.

Leave a Reply