2017-06-28 89 views
0

我想從我的項目中壓縮文件夾從CMake。對於我使用下面的代碼片段:Cmake zip文件夾但刪除主導路徑

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時從zip壓縮文件中刪除主導路徑?

回答

2

路徑是相對於工作目錄。所以你只需要指定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 
)