現在、QT プロジェクトに使用されるビルド システムを Visual Studio から CMake に変更しようとしていますが、qt_wrap_ui コマンドの正しい使用法を理解するのに苦労しています。現在、私は次のように使用しています:
macro(addQtForProject argLibraryName argSourceList)
...
qt_wrap_ui(${argLibraryName} ${argSourceList} ${argSourceList} ${varUiList})
endmacro()
ソースとヘッダーを 1 つのリストとして扱うので、もちろん、生成されたファイルが同じリストに収まるようにします。varUiList には、プロジェクトで使用される 4 つの .ui ファイルが含まれています。
このマクロで CMakes Visual Studio 2005 ジェネレーターを使用すると、.ui ファイルごとに 1 つずつ、4 つの .h ファイルが Visual Studio プロジェクト ファイルに追加されますが、ファイル自体はまったく存在していないように見えるので、何か間違ったことをしているに違いありません。残念なことに、 CMakes のドキュメントは、この件に関してかなりまばらです。これは CMake 2.8.10 でテストされています。