私が使用してファイルのリストを作成しました:Iが、/ usr/myprojectに、これらのファイルのすべてをインストールしたい/私がインストールしたフォルダにファイルツリーを維持したいcmakeを使用してファイルの階層をインストールするにはどうしたらいいですか?
file(GLOB_RECURSE DEPLOY_FILES "${PROJECT_SOURCE_DIR}/install/*")
を:
install/junk
install/other/junk2
install/other/junk3
私が使用している場合:
install(FILES ${DEPLOY_FILES} DESTINATION "usr/myproject")
すべてのファイルのようには/ usr/myprojectにで終わる:
/usr/myproject/junk
/usr/myproject/junk2
/usr/myproject/junk3
インストールコマンドで相対パスを追跡するにはどうすればよいですか?
私は、forループで手動で行うことで問題を回避働いてきた:
set(BASE "${PROJECT_SOURCE_DIR}/install")
foreach(ITEM ${DEPLOY_FILES})
get_filename_component(ITEM_PATH ${ITEM} PATH)
string(REPLACE ${BASE} "" ITEM_PATH ${ITEM_PATH})
install(FILES ${ITEM} DESTINATION "usr/myproject${ITEM_PATH}")
endforeach()
...しかし、これを行うのは面倒です。確かに簡単な方法がありますか?
は
f *&ingがどのようにして難しい** 'cp -r' **操作を簡単に行うことができて面白いです。 – ulidtko