C++のビルドツールとして、先月くらいからCMakeを使い始めました。理由はVisual Studio用のソリューションファイル生成機能を使いたかったからです。
このプロジェクトではBoostも使用しているのですが、せっかくなのでNuGetを使ってBoostを導入してみました。手順は以下のページを参照してください。
ただ、私の環境ではCMakeとNuGetを同時に使うと、好ましくない挙動をしています。NuGetを使ってBoostを導入した直後は正常にコンパイルできるのですが、CMakeLists.txt
を編集してソリューションファイルの更新処理が走るとBoostがinclude_directoryから外れてしまうみたいで、Boostのヘッダファイルが見つからない旨のコンパイルエラーが出ます。
CMakeLists.txt
の編集はそれほど頻繁には行わないので、今のところは対処療法として以下のような手順を踏んでいます。
- パッケージマネージャーコンソールを開く
Uninstall-Package boost -ProjectName プロジェクト名
Install-Package boost -ProjectName プロジェクト名
-ProjectName
を指定すれば管理情報だけが消えるのでUninstallもInstallもそれほど時間はかかりませんが、-ProjectName
を指定しない状態だとNuGetで導入したファイルごと消えてしまうので注意してください。
今のところはストレスになるほど困ってはいませんが、できれば根本的に治したいですね。