FindMinGW patch

DeployMacros dependencies patch, add MinGW "lib" to search path
This commit is contained in:
2020-09-07 14:38:11 +03:00
parent af10c4b410
commit e4a4c88d23
2 changed files with 16 additions and 11 deletions

View File

@@ -479,27 +479,31 @@ endmacro()
macro(__gather_deps _T _search_path_var _dep_libs_var _dep_libs_cs_var _added_)
get_target_property(_LL${_T} ${_T} LINK_LIBRARIES)
foreach (_L${_T} ${_LL${_T}})
set(_lib _L${_T})
set(_lib ${_L${_T}})
if (TARGET ${_lib})
get_target_property(_AT ${_lib} ALIASED_TARGET)
if (NOT "x${_AT}" STREQUAL "x")
#message("${_lib} aliased = ${_AT}")
if (_AT)
set(_lib ${_AT})
endif()
get_target_property(_II${_T} ${_lib} IMPORTED)
if (NOT _II${_T})
get_target_property(_II ${_lib} IMPORTED)
#message("${_lib} imported = ${_II}")
if ((NOT _II) AND (TARGET ${_lib}))
#message("depend on ${_lib}")
get_target_property(_LT${_T} ${_lib} TYPE)
if (("x${_LT${_T}}" STREQUAL "xSHARED_LIBRARY") OR ("x${_LT${_T}}" STREQUAL "xSTATIC_LIBRARY"))
get_target_property(_LT ${_lib} TYPE)
#message("${_lib} type = ${_LT}")
if (("x${_LT}" STREQUAL "xSHARED_LIBRARY") OR ("x${_LT}" STREQUAL "xSTATIC_LIBRARY"))
if (NOT _lib IN_LIST ${_added_})
list(APPEND ${_added_} ${_lib})
__gather_deps(${_lib} ${_search_path_var} ${_dep_libs_var} ${_dep_libs_cs_var} ${_added_})
if ("x${_LT${_T}}" STREQUAL "xSHARED_LIBRARY")
if ("x${_LT}" STREQUAL "xSHARED_LIBRARY")
if (NOT DEFINED ANDROID_PLATFORM)
set(${_search_path_var} "${${_search_path_var}}${_dt_delim}$<TARGET_FILE_DIR:${_lib}>")
endif()
#message("add dep $<TARGET_FILE_DIR:${_lib}>/$<TARGET_FILE_NAME:${_lib}>")
set(${_dep_libs_cs_var} "${${_dep_libs_cs_var}}${_dt_delim}$<TARGET_FILE_DIR:${_lib}>/$<TARGET_FILE_NAME:${_lib}>")
set(${_dep_libs_var} "${${_dep_libs_var}}" "$<TARGET_FILE_DIR:${_lib}>/$<TARGET_FILE_NAME:${_lib}>")
endif()
__gather_deps(${_lib} ${_search_path_var} ${_dep_libs_var} ${_dep_libs_cs_var} ${_added_})
endif()
endif()
endif()
@@ -874,7 +878,7 @@ macro(deploy_target _T)
# gather dir
${_CMD_}
COMMAND ${PIP_DEPLOY_TOOL} ${_VERB} ${_OPTIONS} -W "\"${CMAKE_OBJDUMP}\"" -P windows,minimal -S windows -q "\"${Qt5_ROOT}\"" -s "\"${CMAKE_PREFIX_PATH}/bin${_dt_delim}${MINGW_BIN}${_add_search_path}\"" -o ${_AGD} -p ${_AGD} "\"${_AGD}${_T}.exe\"" ${_ADD_DEPS}
COMMAND ${PIP_DEPLOY_TOOL} ${_VERB} ${_OPTIONS} -W "\"${CMAKE_OBJDUMP}\"" -P windows,minimal -S windows -q "\"${Qt5_ROOT}\"" -s "\"${CMAKE_PREFIX_PATH}/bin${_dt_delim}${MINGW_BIN}${_add_search_path}${_dt_delim}${MINGW_LIB}\"" -o ${_AGD} -p ${_AGD} "\"${_AGD}${_T}.exe\"" ${_ADD_DEPS}
# zip
COMMAND cd "\"${_DEPLOY_DIR}\"" "&&" zip -q -r "\"${_DESTINATION}/${_zip_name}\"" "\"${_TV}_win_${MY_ARCH}\""
COMMENT "Generating ${_zip_name}"

View File

@@ -12,8 +12,9 @@ if(${MINGW})
PATH_SUFFIXES
include)
#message(STATUS "Find MinGW = ${MINGW_INCLUDE}")
find_library(MINGW_LIB m HINTS ${MINGW_BIN}/../lib ${MINGW_INCLUDE}/../lib)
get_filename_component(MINGW_LIB ${MINGW_LIB} PATH)
find_library(_mingw_lib_m m HINTS ${MINGW_BIN}/../lib ${MINGW_INCLUDE}/../lib)
get_filename_component(_mingw_lib ${_mingw_lib_m} PATH)
set(MINGW_LIB "${_mingw_lib}" CACHE PATH "" FORCE)
if (NOT _MGW_MSG)
set(_MGW_MSG 1 CACHE BOOL "msg_mingw" FORCE)
message(STATUS "Found MinGW binary path = ${MINGW_BIN}")