常用cmake記録
1925 ワード
buildで生成されたexeファイルとlibファイルを指定したディレクトリに配置
方法1:
CMAKEには、出力ファイルの場所を指定する2つの変数(EXECUTTABLE_OUTPUT_PATHとLIBRARY_OUTPUT_PATH)があり、これら2つの変数の値を設定することで、exeファイルとlibファイルが配置されているディレクトリを指定します.set(EXECUTABLE_OUTPUT_PATH )
set(LIBRARY_OUTPUT_PATH )
複数のビルド構成(Release、Debugなど)をサポートする場合、CMAKEは各構成にサブディレクトリを生成します.現在使用されているbuild構成に従って、exeまたはlibファイルは実際には/Debugまたは/Releaseに配置されます.
方法2:
targetの属性ARCHIVE_を設定することでOUTPUT_DIRECTORY,LIBRARY_OUTPUT_DIRECTORYとRUNTIME_OUTPUT_DIRECTORYは、指定された出力ディレクトリです.マルチ構成のgeneratorの場合、cmakeは各構成のサブディレクトリを指定した出力ディレクトリに添付します.異なる構成で生成されたtargetをそれぞれの構成のサブディレクトリに配置しない場合は、targetのプロパティARCHIVE_を同時に設定できます.OUTPUT_DIRECTORY_,LIBRARY_OUTPUT_DIRECTORY_とRUNTIME_OUTPUT_DIRECTORY_.上記の属性は、実行可能ファイルが常にRUMTIME target、静的ライブラリが常にARCHIVE target、Moduleライブラリが常にLIBRARY target、Windowsプラットフォームではshared libraryのDLL部分がRUNTIME target、対応するImport libraryがARCHIVE targetの3つの異なるタイプのtargetの出力にそれぞれ作用する.すべての構成の実行可能なtargetを${CMAKE_BINARY_DIR}/binディレクトリに出力するには、set_target_properties(${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set_target_properties(${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/bin)
set_target_properties(${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/bin)
生成したtargetをコンパイルツリーのbinフォルダに配置します.
方法3:
CMAKE_の設定LIBRARY_OUTPUT_DIRECTORY、CMAKE_ARCHIVE_OUTPUT_DIRECTORY、CMAKE_RUNTIME_OUTPUT_DIRECTORYは指定されたディレクトリであり、対応するタイプのtargetが指定されたパスに出力されます.CMAKEは,上記変数の値を用いて対応する(メソッド2における)ターゲット属性を初期化する.マルチ構成のgeneratorの場合、targetは指定したディレクトリの下の構成サブディレクトリに出力されます.構成サブディレクトリに出力しない場合は、CMAKE_のような構成の値を設定する必要があります.ARCHIVE_OUTPUT_DIRECTORY_.
作者:valar_dohaerisソース:CSDN原文:https://blog.csdn.net/u012487272/article/details/12882283本文は博主のオリジナルの文章で、転載して博文のリンクを添付してください!
set(EXECUTABLE_OUTPUT_PATH )
set(LIBRARY_OUTPUT_PATH )
set_target_properties(${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set_target_properties(${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/bin)
set_target_properties(${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/bin)