ホームページ >バックエンド開発 >C++ >CMake はコンパイルされたファイルを別の 'bin' ディレクトリに整理するにはどうすればよいですか?

CMake はコンパイルされたファイルを別の 'bin' ディレクトリに整理するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-13 07:51:11268ブラウズ

How Can CMake Organize Compiled Files into a Separate 'bin' Directory?

CMake 出力を別の 'bin' ディレクトリに整理する

プラグイン アーキテクチャを利用するマルチモジュール プロジェクトを扱う場合、多くの場合、これが望ましいですコンパイルされたファイルをソース コードから分離しておきます。強力なビルド システム ジェネレーターである CMake は、コンパイルされたファイルを指定された 'bin' ディレクトリに出力するように構成できます。

これを実現するには、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)

この設定は、CMake に、アーカイブとライブラリをバイナリ ディレクトリ内の 'lib' ディレクトリに保存するように指示します。動的ライブラリは「bin」ディレクトリに配置されます。

または、ターゲットごとに出力ディレクトリを設定することもできます。 using 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"
)

いずれかのアプローチを採用すると、コンパイルされた出力をソース コードから効果的に分離でき、よりクリーンでより組織化されたプロジェクト構造を確保できます。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。