[解決済み] Cmakeビルドシステムで、ディレクトリ内のすべての*.cファイルを使用するにはどうすればよいですか?
質問
あるディレクトリの下にあるすべての.cファイルを探し出し、それらをすべてSRCファイルに追加してcmakeでコンパイルしたいのです。CMakeList.txtでどうすればいいのでしょうか?
通常のmakefileで作成できるのは
SPECIFIED_SRC_FILE = $(foreach d,$(SPECIFIED_SRC_DIRS),$(wildcard $(addprefix $(d)/*,*.c)))
が、CMakeList.txtでこのようなことをするにはどうしたらいいのかがわかりませんでした。
どのように解決するのですか?
これを試してみてください。
AUX_SOURCE_DIRECTORY
ディレクトリ内の全てのソースファイルを検索します。
AUX_SOURCE_DIRECTORY(dir VARIABLE)
指定されたディレクトリにある全てのソースファイルの名前を集め を収集し、そのリストを指定された変数に格納します。このコマンドは、明示的なテンプレートのインスタンス化を使用するプロジェクトで使用することを目的としています。 このコマンドは、明示的なテンプレートのインスタンス化を使用するプロジェクトで使用されることを意図しています。 テンプレート・インスタンス化ファイルは "Templates".サブディレクトリに格納することができ、このコマンドを使用して自動的に収集されます。 サブディレクトリに保存し、このコマンドを使用して自動的に収集することで、すべてのインスタンス化を手動で一覧表示する必要がなくなります。 すべてのインスタンス化を手動でリストする必要はありません。
このコマンドを使用して、ライブラリまたは実行可能なターゲットのソース ファイルのリストを記述しないようにすることは魅力的です。 ファイルのリストを書かないようにするために、このコマンドを使用したくなります。これはうまくいくように見えますが CMake が新しいソース ファイルが追加されたことを認識するビルド システムを生成する方法はありません。 新しいソースファイルが追加されたことを知るビルドシステムを生成する方法はありません。通常、生成されたビルドシステムは CMakeLists.txt ファイルが新しいソースを追加するために変更されるため、生成されたビルドシステムは CMake の再実行が必要なときを知ることができます。 が変更され、新しいソースが追加されるからです。このファイルを変更せずに、ソースを単に ディレクトリに追加されただけで、このファイルを変更しない場合、ビルドを生成するために CMake を手動で再実行する必要があります。 CMake を再実行し、新しいファイルを組み込んだビルド システムを生成する必要があります。
関連
-
[解決済み] CMake出力/ビルドディレクトリ
-
[解決済み】CMakeでC++ 11を有効にするには?
-
[解決済み】CMakeの出力を'bin'ディレクトリにする方法は?
-
[解決済み】CMAKE_MODULE_PATHを指定する必要がある場合、find_package()はどのように使用するのでしょうか?
-
[解決済み] CMakeを使用して、フォルダ内のすべてのファイルをターゲットに自動的に追加しますか?
-
[解決済み] cmakeで共有ライブラリを作成する方法は?
-
[解決済み] CMakeでディレクトリを作成する
-
[解決済み] メイクファイル ifeq 論理的または
-
[解決済み] GNU make: ジョブの数はシステムの CPU コアの数と同じであるべきか?
-
[解決済み] Makefile - セパレータがない [重複].
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] CMakeを使用して、フォルダ内のすべてのファイルをターゲットに自動的に追加しますか?
-
[解決済み] CMakeでソースファイルを指定する場合、GLOBで指定するのと、1ファイルずつ指定するのと、どちらが良いですか?
-
[解決済み] makeファイルによるディレクトリの作成
-
[解決済み] 1つのソースファイルからいくつかのターゲットを生成するGNU Makefileルール
-
[解決済み] GNU make: ジョブの数はシステムの CPU コアの数と同じであるべきか?
-
[解決済み] GNU make で、複数の拡張子を持つリストの各ファイルの拡張子を変更するには?
-
[解決済み] 別ファイルの内容を読み込んでmakefileに変数を作成する
-
[解決済み] ifeq の Make エラー: 予期しないトークン付近のシンタックスエラー
-
[解決済み] Makefile - セパレータがない [重複].
-
[解決済み] Makefile の変数が空の場合、条件付きで何かに設定するにはどうすればよいですか?