From 996e706abd2fd6da3ffdd73cd6f8d7c8a6f53722 Mon Sep 17 00:00:00 2001 From: andrey Date: Tue, 15 Sep 2020 16:44:00 +0300 Subject: [PATCH] using cmake -E for copy and mkdir in some macros --- DeployMacros.cmake | 49 +++++++--------------------------------------- 1 file changed, 7 insertions(+), 42 deletions(-) diff --git a/DeployMacros.cmake b/DeployMacros.cmake index f103de2..0102ece 100644 --- a/DeployMacros.cmake +++ b/DeployMacros.cmake @@ -425,55 +425,20 @@ if ("x${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "xDarwin") set(__mac_host 1) endif() -macro(__make_win_path _in_path _out_var _is_dir _out_dir) - set(_add "") - if (${_is_dir}) - set(_add "/") - endif() - file(TO_NATIVE_PATH "${_in_path}" ${_out_var}) - string(REPLACE "//" "/" ${_out_var} "${${_out_var}}${_add}") - if (NOT "x${_out_dir}" STREQUAL "x") - string(LENGTH "${${_out_var}}" __sl) - math(EXPR __sl ${__sl}-1) - string(SUBSTRING "${${_out_var}}" 0 ${__sl} __substr) - get_filename_component(${_out_dir} "${__substr}" NAME) - #message("dirname src=\"${${_out_var}}\", len=${__sl} \"${__substr}\" = \"${${_out_dir}}\"") - endif() - string(REPLACE "/" "\\" ${_out_var} "${${_out_var}}") -endmacro() - macro(__make_dir _cmd _dest) - if (__win_host) - __make_win_path("${_dest}" __d 1 "") - set(${_cmd} ${${_cmd}} COMMAND if not exist "\"${__d}\"" mkdir "\"${__d}\"") - else() - set(${_cmd} ${${_cmd}} COMMAND mkdir ${_VERB} -p "${_dest}") - endif() + set(${_cmd} ${${_cmd}} COMMAND cmake -E make_directory "${_dest}") endmacro() macro(__make_copy _cmd _dirs _files _dest) if (${_dirs} OR ${_files}) __make_dir(${_cmd} "${_dest}") endif() - if (__win_host) - __make_win_path("${_dest}" _wdest 1 "") - foreach(_d ${${_dirs}}) - __make_win_path("${_d}" _wsrc 1 _dirname) - __make_dir(${_cmd} "${_dest}/${_dirname}") - set(${_cmd} ${${_cmd}} COMMAND xcopy /y /r /e "${_wsrc}*" "\"${_wdest}${_dirname}\\\"" ${_WVERB}) - endforeach() - foreach(_f ${${_files}}) - __make_win_path("${_f}" _wsrc 0 "") - set(${_cmd} ${${_cmd}} COMMAND xcopy /y /r "\"${_wsrc}\"" "\"${_wdest}\"" ${_WVERB}) - endforeach() - else() - foreach(_d ${${_dirs}}) - set(${_cmd} ${${_cmd}} COMMAND cp ${_VERB} -rf "${_d}" "${_dest}/") - endforeach() - foreach(_f ${${_files}}) - set(${_cmd} ${${_cmd}} COMMAND cp ${_VERB} -f "${_f}" "${_dest}/") - endforeach() - endif() + foreach(_d ${${_dirs}}) + set(${_cmd} ${${_cmd}} COMMAND cmake -E copy_directory "${_d}" "${_dest}/") + endforeach() + foreach(_f ${${_files}}) + set(${_cmd} ${${_cmd}} COMMAND cmake -E copy "${_f}" "${_dest}/") + endforeach() endmacro() macro(__gather_deps _T _search_path_var _dep_libs_var _dep_libs_cs_var _added_)