2017-06-28 3 views
0

Ich möchte Ordner in meinem Projekt von CMake Zip Zip. Für die ich verwende folgende Code-Schnipsel:Cmake Zip-Ordner, aber führende Pfad entfernen

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/ 
) 

Das Problem mit diesem Code ist, dass die Dateien nach enthalten Pfadkomponente unzipping (../../my_file.txt in meinem Fall). Ich habe versucht, tar cvf -C ${FOLDER_TO_ZIP}/another_folder zu verwenden, aber unglücklicherweise CMake akzeptiert diese Option nicht.

Wie kann ich den führenden Pfad von zip-Archiv loswerden, wenn CMake verwendet wird?

Antwort

2

Die Pfade sind relativ zum Arbeitsverzeichnis. Sie müssen also nur die 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 
) 
angeben
Verwandte Themen