2017-03-29 4 views
1

VS2015で32ビットと64ビットの両方のOpenCVをビルドする必要があります。新しいジェネレータで既存のCMake変数を再利用する方法

私は、ジェネレータごとに別々のビルドツリーが必要であることを知っています。

OpenCVのCMake設定には、約300個のユーザ設定可能な変数がありますが、これはついに私が満足するように設定しました。今私は64ビットバージョンを構築するために全く同じ決定を使用したいと思います。

私の決定を表す変数値を新しいビルドツリーに転送する方法はありますか? (2つのCMake-GUIを並べて開き、〜300の値がすべて一致することを確認する以外は)

BTWでは、CMakeメーリングリスト[http://cmake.3232098.n2.nabble.com/Changing-the-the-current-generator-in-CMake-GUI-td7587876.html]に従って、CMakeCache.txtを削除する必要があります。手動で編集するのは非常に危険で、未定義の動作につながる可能性があります。

おかげ

+0

の可能性のある重複した[どのようにバックアップ・ウィンドウ上にcmakeのGUI用発電機のキャッシュ/設定をする?](http://stackoverflow.com/questions/22039113/how-to-backup-generator-cache-settings-for-cmake-gui-on-windows) – Florian

+0

同じではありません。まったく同じビルドを繰り返すためにCMakeCache.txtを再利用することをお勧めします。ジェネレータが変更されている場合は、CMakeCache.txtを削除する必要があります。新しいジェネレータとの整合性が保たれていることを確認することはほとんど不可能です。 [参考:http://cmake.3232098.n2.nabble.com/Changing-the-current-generator-in-CMake-GUI-td7587876.html] – Roofus

+0

私はあなたのことを理解しています。しかし部分的な 'CMakeCache.txt'も許されます(CMakeはそこにある値をあらかじめロードして残りの部分を再評価します)。だからあなたは 'grep'のようなアプローチを使用して、' findstr "OpenCV_" CMakeCache.txt> \ My \ New \ Path \ CMakeCache.txt'を実行することができます。ちょうどそれをテストし、期待どおりに動作するようです。 – Florian

答えて

0

あなたは(CMakeのはただそこにある値を事前にロードし、残りの部分を再評価します)新しいディレクトリに部分的CMakeCache.txtを使用することができます答え

に私のコメントを回します。

だから、アプローチのようなグレップを使用して

findstr "OpenCV_" CMakeCache.txt > \My\New\Path\CMakeCache.txt 

ちょうどそれをテストし、期待どおりに動作しているようだを行うことができます。

リファレンス

+0

私はそれを回答としてマークしますが、実際にはテストしていません。 – Roofus

関連する問題