From 9fe2044e8f1fe9b09dfa272390c763e7dbca6fc3 Mon Sep 17 00:00:00 2001 From: peri4 Date: Mon, 20 Nov 2023 23:33:55 +0300 Subject: [PATCH] support lists CMAKE_PREFIX_PATH --- DeployMacros.cmake | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/DeployMacros.cmake b/DeployMacros.cmake index e383428..4d70b8b 100644 --- a/DeployMacros.cmake +++ b/DeployMacros.cmake @@ -371,7 +371,10 @@ macro(get_system _OS _ARCH) set(_os_ver "") set(_paths "/usr/lib" "/etc") if (CMAKE_CROSSCOMPILING) - set(_paths "${CMAKE_PREFIX_PATH}/lib" "${CMAKE_PREFIX_PATH}/../etc") + set(_paths "") + foreach (_c ${CMAKE_PREFIX_PATH}) + list(APPEND _paths "${_c}/lib" "${_c}/../etc") + endforeach() endif() find_file(_release_file NAMES os-release lsb-release PATHS ${_paths} NO_DEFAULT_PATH) if (NOT "x${_release_file}" STREQUAL "x") @@ -584,10 +587,15 @@ macro(deploy_target _T) endif() set(_dt_opts -l "${CMAKE_LDD}") if (CMAKE_CROSSCOMPILING) - set(_dt_searchdirs "${CMAKE_PREFIX_PATH}/lib") + set(_dt_searchdirs "") + foreach (_c ${CMAKE_PREFIX_PATH}) + set(_dt_searchdirs "${_dt_searchdirs}${_dt_delim}${_c}/lib") + endforeach() if (NOT "x${CMAKE_LIBRARY_ARCHITECTURE}" STREQUAL "x") - set(_dt_searchdirs "${_dt_searchdirs}${_dt_delim}${CMAKE_PREFIX_PATH}/lib/${CMAKE_LIBRARY_ARCHITECTURE}") - set(_dt_searchdirs "${_dt_searchdirs}${_dt_delim}${CMAKE_PREFIX_PATH}/../lib/${CMAKE_LIBRARY_ARCHITECTURE}") + foreach (_c ${CMAKE_PREFIX_PATH}) + set(_dt_searchdirs "${_dt_searchdirs}${_dt_delim}${_c}/lib/${CMAKE_LIBRARY_ARCHITECTURE}") + set(_dt_searchdirs "${_dt_searchdirs}${_dt_delim}${_c}/../lib/${CMAKE_LIBRARY_ARCHITECTURE}") + endforeach() endif() if (NOT "x${PIP_DEPLOY_LIBDIR}" STREQUAL "x") set(_dt_searchdirs "${_dt_searchdirs}${_dt_delim}${PIP_DEPLOY_LIBDIR}") @@ -710,11 +718,16 @@ macro(deploy_target _T) __make_copy(_CMD_ _LIBS_DIRS _LIBS_FILES "${_AGD}") set(_zip_name "${_TV}_${_TARGET_OS}_${_TARGET_ARCH}.zip") set(_TARGET_PACKAGE "${_zip_name}") + set(_search_path "") + foreach (_c ${CMAKE_PREFIX_PATH}) + set(_search_path "${_search_path}${_dt_delim}${_c}/bin") + endforeach() + set(_search_path "${_search_path}${_dt_delim}${MINGW_BIN}${_add_search_path}${_dt_delim}${MINGW_LIB}") add_custom_target(deploy_${_T} # gather dir ${_CMD_} - COMMAND ${PIP_DEPLOY_TOOL} ${_VERB} ${_OPTIONS} -W "\"${CMAKE_OBJDUMP}\"" -P windows,minimal -S windows -q "\"${Qt${_Qt_}_ROOT}\"" -s "\"${CMAKE_PREFIX_PATH}/bin${_dt_delim}${MINGW_BIN}${_add_search_path}${_dt_delim}${MINGW_LIB}\"" -o "${_AGD}" -p "${_AGD}" "\"${_AGD}$\"" ${_ADD_DEPS} + COMMAND ${PIP_DEPLOY_TOOL} ${_VERB} ${_OPTIONS} -W "\"${CMAKE_OBJDUMP}\"" -P windows,minimal -S windows -q "\"${Qt${_Qt_}_ROOT}\"" -s "\"${_search_path}\"" -o "${_AGD}" -p "${_AGD}" "\"${_AGD}$\"" ${_ADD_DEPS} # zip COMMAND cd "\"${_DEPLOY_DIR}\"" "&&" zip -q -r "\"${_DESTINATION}/${_zip_name}\"" "\"${_TV}_win_${MY_ARCH}\"" COMMENT "Generating ${_zip_name}" @@ -764,6 +777,11 @@ macro(deploy_target _T) set(_TARGET_PACKAGE "${_dmg_name}.zip") endif() set(_comment "Generating ${_TARGET_PACKAGE}") + set(_search_path "") + foreach (_c ${CMAKE_PREFIX_PATH}) + set(_search_path "${_search_path}${_dt_delim}${_c}/lib") + endforeach() + set(_search_path "${_search_path}${_add_search_path}") add_custom_target(deploy_${_T} # gather .app dir COMMAND mkdir ${_VERB} -p "${_res_path}" @@ -771,7 +789,7 @@ macro(deploy_target _T) COMMAND mkdir ${_VERB} -p "${_pli_path}" COMMAND mkdir ${_VERB} -p "${_DESTINATION}" ${_CMD_} - COMMAND ${PIP_DEPLOY_TOOL} ${_VERB} ${_OPTIONS} -M "${CMAKE_OTOOL}" -P cocoa,minimal -S mac -q "${Qt5_ROOT}" --qt-conf-dir "${_res_path}" --qt-plugins-dir "${_pli_path}" -s "${CMAKE_PREFIX_PATH}/lib${_add_search_path}" -o "${_lib_path}" "${_bin_path}/${_T}" ${_ADD_DEPS} + COMMAND ${PIP_DEPLOY_TOOL} ${_VERB} ${_OPTIONS} -M "${CMAKE_OTOOL}" -P cocoa,minimal -S mac -q "${Qt5_ROOT}" --qt-conf-dir "${_res_path}" --qt-plugins-dir "${_pli_path}" -s "${_search_path}" -o "${_lib_path}" "${_bin_path}/${_T}" ${_ADD_DEPS} # prepare dmg dir COMMAND rm -rf "${_DMG}" COMMAND mkdir ${_VERB} -p "${_DMG}"