时,如何从zip存档中摆脱前路。
我想通过 cmake 在项目中汇编片段夹。为此,我使用以下代码段:
ADD_CUSTOM_COMMAND (
TARGET ${PROJECT_NAME}
PRE_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E tar cvf ${ZIP_OUT_DIR}/my_archive.zip --format=zip -- ${FOLDER_TO_ZIP}/another_folder/
)
此代码的问题是解压缩后的文件包含路径组件(在我的情况下为../../my_file.txt
(。我尝试使用 tar cvf -C ${FOLDER_TO_ZIP}/another_folder
,但不幸的是 cmake 不接受此选项。
使用 cmake ?
路径相对于工作目录。因此,您只需要指定WORKING_DIRECTORY
:
ADD_CUSTOM_COMMAND(
TARGET ${PROJECT_NAME}
PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E tar cvf ${ZIP_OUT_DIR}/my_archive.zip --format=zip -- .
WORKING_DIRECTORY ${FOLDER_TO_ZIP}/another_folder
)