2017-10-26 13 views
2

CMakeでXcodeプロジェクトを生成しています。 Xcodeでは、コンパイル、実行、およびデバッグが正常に行われます。しかし、それはSource Filesグループのcppファイルだけを表示します。別のHeader Filesグループを追加する方法はありますか?私のプロジェクトはLinux上でうまくコンパイルされています.LinuxではKDevelopを使用しています。そこには問題なく動作しますが、私はそれを打破したくありません。私はADD_EXECUTABLEにヘッダーを入れたくありません。Xcodeヘッダーグループを作成する

このようなファイルグループを特定のIDE専用に作成するマクロはありますか?その後、ヘッダー用のグループ、uiファイル用のグループ、リソース用の別のグループなどを作成します。

答えて

1

CMakeでプロジェクトタイプを簡単に区別できます。ただし、ヘッダーをプロジェクトに含めるには、add_executableステートメントに含める必要があります。なぜ私は実際にadd_executableステートメントでヘッダーを追加したくないのか、コンパイルには影響しないはずです(CMakeの全ポイントは複数のコンパイラで動作するようになっています)。ただし、簡単に行うことができます:

if (defined XCODE_VERSION) 
    add_executable(<ExeName> ${SOURCES} ${HEADERS}); 
else() 
    add_executable(<ExeName> ${SOURCES}); 
endif() 

XCodeプロジェクトにのみ影響します。ソース(ヘッダーなど)をIDE内の別のグループに配置する場合は、そのための一般的なCMakeコマンドはsource_groupです。だから、あなたができる:(定義されXCODE_VERSION)のIF

source_group("Source Files" FILES ${SOURCES}); 
source_group("Header Files" FILES ${HEADERS}); 
+0

を私はXCODE_VERSION "不明な引数が –

+0

感謝を指定" "定義された" エラーを取得しています ''働いていました。しかし、どのようにUIファイルをグループ化できますか? –

+0

IMO、Xcodeのために条件付きで行うのではなく、常にヘッダーを追加します。他のIDE(VS、CLionなど)にもヘッダーが必要です。また、私はあなたが ';'でCMakeコマンドをなぜ最後に書くのか分かりません。これはCMake構文ではありません。コマンドは閉じ括弧で終わります。 – legalize

関連する問題