| 123456789101112131415161718192021222324252627282930313233343536 |
- function(run_pzip target_name source destination glob)
- if(NOT TARGET pzip)
- # If pzip isn't built, we just copy instead.
- file(COPY "${source}"
- DESTINATION "${destination}"
- FILES_MATCHING PATTERN "${glob}")
- return()
- endif()
- file(GLOB_RECURSE files RELATIVE "${source}" "${source}/${glob}")
- set(dstfiles "")
- foreach(filename ${files})
- string(REGEX REPLACE "^/" "" filename "${filename}")
- file(RELATIVE_PATH srcfile "${destination}" "${source}/${filename}")
- get_filename_component(dstdir "${destination}/${filename}" DIRECTORY)
- file(MAKE_DIRECTORY "${dstdir}")
- set(dstfile "${filename}.pz")
- list(APPEND dstfiles "${destination}/${dstfile}")
- add_custom_command(OUTPUT "${destination}/${dstfile}"
- COMMAND pzip -c > "${dstfile}" < "${srcfile}"
- WORKING_DIRECTORY "${destination}"
- DEPENDS pzip
- COMMENT "")
- endforeach(filename)
- add_custom_target(${target_name} ALL
- DEPENDS ${dstfiles}
- WORKING_DIRECTORY "${destination}")
- endfunction(run_pzip)
|