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 サイトの他の関連記事を参照してください。