Qt5BasicConfig.patch 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
  2. index c72989288..a88234dca 100644
  3. --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
  4. +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
  5. @@ -53,8 +53,12 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura
  6. set(_lib_deps)
  7. set(_link_flags)
  8. -!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
  9. - set(_qt5_install_libs \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}\")
  10. +!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
  11. + if(\"${Configuration}\" STREQUAL \"DEBUG\")
  12. + set(_qt5_install_libs \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/debug/$${CMAKE_LIB_DIR}\")
  13. + else()
  14. + set(_qt5_install_libs \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}\")
  15. + endif()
  16. !!ELSE
  17. set(_qt5_install_libs \"$${CMAKE_LIB_DIR}\")
  18. !!ENDIF
  19. @@ -125,6 +129,8 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura
  20. elseif(EXISTS \"${_flag}\")
  21. # The flag is an absolute path to an existing library
  22. list(APPEND _lib_deps \"${_flag}\")
  23. + elseif(_flag MATCHES \"\\\\.lib$\") #Library name only. No -l. Probably missing some cases
  24. + list(APPEND _lib_deps \"${_flag}\")
  25. elseif(_flag MATCHES \"^-L(.*)$\")
  26. # Handle -Lfoo flags by putting their paths in the search path used by find_library above
  27. list(APPEND _search_paths \"${CMAKE_MATCH_1}\")
  28. @@ -147,7 +153,11 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
  29. set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
  30. !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
  31. - set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
  32. + if(\"${Configuration}\" STREQUAL \"DEBUG\") # 1
  33. + set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/debug/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
  34. + else()
  35. + set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
  36. + endif()
  37. !!ELSE
  38. set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
  39. !!ENDIF
  40. @@ -174,21 +184,22 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
  41. )
  42. !!IF !isEmpty(CMAKE_STATIC_TYPE)
  43. - if(NOT "${IsDebugAndRelease}")
  44. - set(_genex_condition \"1\")
  45. + #if(NOT "${IsDebugAndRelease}")
  46. + # set(_genex_condition \"1\")
  47. + #else()
  48. + if("${Configuration}" STREQUAL "DEBUG")
  49. + set(_genex_condition \"$<CONFIG:Debug>\")
  50. else()
  51. - if("${Configuration}" STREQUAL "DEBUG")
  52. - set(_genex_condition \"$<CONFIG:Debug>\")
  53. - else()
  54. - set(_genex_condition \"$<NOT:$<CONFIG:Debug>>\")
  55. - endif()
  56. + set(_genex_condition \"$<NOT:$<CONFIG:Debug>>\")
  57. endif()
  58. + #endif()
  59. if(_static_deps)
  60. set(_static_deps_genex \"$<${_genex_condition}:${_static_deps}>\")
  61. set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
  62. \"${_static_deps_genex}\"
  63. )
  64. + #message(STATUS \"Target Qt5::$${CMAKE_MODULE_NAME} static links: ${_static_dep} through ${_static_dep_genex}\") # Added for debugging
  65. endif()
  66. set(_static_link_flags \"${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${Configuration}_LINK_FLAGS}\")
  67. @@ -205,13 +216,18 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
  68. set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
  69. \"${_static_link_flags_genex}\"
  70. )
  71. + #message(STATUS \"Target Qt5::$${CMAKE_MODULE_NAME} static link flags: ${_static_link_flags} through ${_static_link_flags_genex}\")
  72. endif()
  73. endif()
  74. !!ENDIF
  75. !!IF !isEmpty(CMAKE_WINDOWS_BUILD)
  76. !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
  77. - set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
  78. + if(\"${Configuration}\" STREQUAL \"DEBUG\")
  79. + set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/debug/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
  80. + else()
  81. + set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
  82. + endif()
  83. !!ELSE
  84. set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
  85. !!ENDIF
  86. @@ -373,13 +389,14 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
  87. !!IF !isEmpty(CMAKE_STATIC_TYPE)
  88. if(NOT Qt5_EXCLUDE_STATIC_DEPENDENCIES)
  89. -!!IF !isEmpty(CMAKE_DEBUG_TYPE)
  90. !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
  91. + if(EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/debug/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\")
  92. _qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
  93. - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG
  94. + \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/debug/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG
  95. _Qt5$${CMAKE_MODULE_NAME}_STATIC_DEBUG_LIB_DEPENDENCIES
  96. _Qt5$${CMAKE_MODULE_NAME}_STATIC_DEBUG_LINK_FLAGS
  97. )
  98. + endif()
  99. !!ELSE
  100. _qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
  101. \"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG
  102. @@ -387,22 +404,21 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
  103. _Qt5$${CMAKE_MODULE_NAME}_STATIC_DEBUG_LINK_FLAGS
  104. )
  105. !!ENDIF
  106. -!!ENDIF
  107. -!!IF !isEmpty(CMAKE_RELEASE_TYPE)
  108. !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
  109. + if(EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\")
  110. _qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
  111. \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE
  112. _Qt5$${CMAKE_MODULE_NAME}_STATIC_RELEASE_LIB_DEPENDENCIES
  113. _Qt5$${CMAKE_MODULE_NAME}_STATIC_RELEASE_LINK_FLAGS
  114. )
  115. + endif()
  116. !!ELSE
  117. _qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
  118. \"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE
  119. _Qt5$${CMAKE_MODULE_NAME}_STATIC_RELEASE_LIB_DEPENDENCIES
  120. _Qt5$${CMAKE_MODULE_NAME}_STATIC_RELEASE_LINK_FLAGS
  121. )
  122. -!!ENDIF
  123. !!ENDIF
  124. endif()
  125. @@ -466,7 +482,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
  126. !!IF isEmpty(CMAKE_DEBUG_TYPE)
  127. !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
  128. !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
  129. - if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
  130. + if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/debug/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
  131. !!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
  132. if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
  133. !!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
  134. @@ -474,13 +490,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
  135. !!ELSE // CMAKE_STATIC_WINDOWS_BUILD
  136. if (EXISTS
  137. !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
  138. - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
  139. + \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/debug/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
  140. !!ELSE
  141. \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
  142. !!ENDIF
  143. AND EXISTS
  144. !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
  145. - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
  146. + \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/debug/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
  147. !!ELSE
  148. \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
  149. !!ENDIF
  150. @@ -543,7 +559,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
  151. set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
  152. !!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
  153. - set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
  154. + if(\"${Configuration}\" STREQUAL \"DEBUG\")
  155. + set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/debug/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
  156. + else()
  157. + set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
  158. + endif()
  159. !!ELSE
  160. set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
  161. !!ENDIF
  162. @@ -557,15 +577,15 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
  163. ${_Qt5${Plugin}_STATIC_${Configuration}_LIB_DEPENDENCIES}
  164. )
  165. - if(NOT "${IsDebugAndRelease}")
  166. - set(_genex_condition \"1\")
  167. + #if(NOT "${IsDebugAndRelease}")
  168. + # set(_genex_condition \"1\")
  169. + #else()
  170. + if("${Configuration}" STREQUAL "DEBUG")
  171. + set(_genex_condition \"$<CONFIG:Debug>\")
  172. else()
  173. - if("${Configuration}" STREQUAL "DEBUG")
  174. - set(_genex_condition \"$<CONFIG:Debug>\")
  175. - else()
  176. - set(_genex_condition \"$<NOT:$<CONFIG:Debug>>\")
  177. - endif()
  178. + set(_genex_condition \"$<NOT:$<CONFIG:Debug>>\")
  179. endif()
  180. + #endif()
  181. if(_static_deps)
  182. set(_static_deps_genex \"$<${_genex_condition}:${_static_deps}>\")
  183. set_property(TARGET Qt5::${Plugin} APPEND PROPERTY INTERFACE_LINK_LIBRARIES