私のプロジェクトにはサードパーティのライブラリ(google test、zlib、...)を含むフォルダがあります。私はこのライブラリがすべてビルドされているときにライブラリを共通のフォルダに入れたいと思っています。私はcmakeでこれをやろうとしていますが、私は問題があります。私はこのコードをしようとしている:cmakeでビルドした後にlibsをコピーまたは移動する
add_subdirectory(gtest-1.6.0)
add_custom_command(
TARGET gtest_main
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${SRC_LIB_DIR}/*.a ${DST_LIB_DIR})
私は問題があなたのCMakeListsでCMAKE_LIBRARY_OUTPUT_DIRECTORY
変数を設定した場合は、このレベルではなく、低いレベル
動作しません。このコードを作る:SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY "$ {PROJECT_BINARY_DIR}/third_party/lib/release")そしてgtestサブディレクトリを追加しても何もしません。ライブラリは常にルートディレクトリgtestに移動します。 – Killrazor
gtestはデフォルトで 'STATIC'ライブラリをビルドしているので、[' CMAKE_ARCHIVE_OUTPUT_DIRECTORY'](http://www.cmake.org/cmake/help/v2.8.10/cmake.html#prop_tgt:ARCHIVE_OUTPUT_DIRECTORY)ではなく、 'SHARED'ライブラリ用の' CMAKE_LIBRARY_OUTPUT_DIRECTORY'です。 – Fraser
感謝のフレイザーとパトリック。 CMAKE_ARCHIVE_OUTPUT_DIRECTORYがトリックを行いました。両方のおかげで! – Killrazor