ホームページ > バックエンド開発 > C++ > CMake ビルド出力を別の 'bin' ディレクトリにリダイレクトするにはどうすればよいですか?

CMake ビルド出力を別の 'bin' ディレクトリにリダイレクトするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-15 14:35:15
オリジナル
169 人が閲覧しました

How Can I Redirect CMake Build Outputs to a Separate 'bin' Directory?

CMake ビルド出力を「bin」ディレクトリにリダイレクトする

CMake を使用してプラグインを含むプロジェクトをビルドする場合、通常、コンパイルされたバイナリとライブラリは分散されます。ソースディレクトリ構造内。これらのファイルを整理するには、CMake の出力を './bin' などの別のディレクトリに送信する必要があります。

解決策は、適切な CMake 変数を設定して目的の出力パスを指定することです。 Oleg のアドバイスに従って、変更する正しい変数は CMAKE_RUNTIME_OUTPUT_DIRECTORY です。

ルートの CMakeLists.txt ファイルで、次のように出力ディレクトリを指定できます。

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
ログイン後にコピー

これにより、出力ディレクトリが設定されます。アーカイブ、ライブラリ、およびランタイム バイナリの場合は、「lib」サブディレクトリと「bin」へ

または、set_target_properties コマンドを使用して、ターゲットごとに出力ディレクトリを指定できます。

set_target_properties(targets...
    PROPERTIES
    ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
    LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
)
ログイン後にコピー

この方法では、バイナリ ディレクトリ内の異なる出力ディレクトリを指定できます。異なるターゲットを使用して、ビルド プロセスをより詳細に制御できます。

どちらの場合も、変数またはプロパティ名に「_[CONFIG]」を追加して、特定の構成の出力ディレクトリを設定します。標準の構成値は DEBUG、RELEASE、MINSIZEREL、および RELWITHDEBINFO です。

以上がCMake ビルド出力を別の 'bin' ディレクトリにリダイレクトするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート