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

CMake ビルド出力をカスタム ディレクトリにリダイレクトするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-12 17:00:12774ブラウズ

How Can I Redirect CMake Build Output to a Custom Directory?

CMake の出力を特定のディレクトリにリダイレクトする方法?

プロジェクト構造には、別のディレクトリにコンパイルされたプラグインが含まれています。 CMake はこれらのプラグインを正常にコンパイルしますが、バイナリとダイナミック ライブラリをソース ディレクトリ構造の外に配置するという課題に直面しています。この記事は、これらのファイルを「./bin」などの特定のディレクトリに保存するように CMake を構成する方法を説明することを目的としています。

回答で示唆されているように、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 はビルド ディレクトリ (CMAKE_BINARY_DIR) を基準にして指定されたディレクトリにコンパイルされたアーティファクトを配置します。

あるいは、ターゲットごとに出力ディレクトリを設定することもできますbased:

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 など) の出力ディレクトリを指定できます。 CMake を適切に構成することで、プロジェクトのコンパイルされた出力を効果的に管理し、バイナリとプラグインが目的のディレクトリ構造に確実に編成されるようにすることができます。

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

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