Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[qt5-base, qt5-imageformat] fix issues on osx #9705

Merged
merged 51 commits into from
Apr 10, 2020
Merged
Show file tree
Hide file tree
Changes from 30 commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
6e7c510
[qt5-imageformats] freeglut is not a dependency on osx
Neumann-A Jan 15, 2020
a6265b8
[qt5-base] fontconfig can require iconv on linux and osx
Neumann-A Jan 15, 2020
e99b626
include the jasper fix to get CI coverage?
Neumann-A Jan 15, 2020
8b9b188
trying to get ci coverage for qt on osx
Neumann-A Jan 15, 2020
56b493f
Revert "trying to get ci coverage for qt on osx"
Neumann-A Jan 15, 2020
7058612
apply the correct ci hack
Neumann-A Jan 15, 2020
bf12fef
fix wrapper to include macosx debug suffix
Neumann-A Jan 16, 2020
486580c
update baseline
Neumann-A Jan 16, 2020
1a744c9
first try to fix the Qt5 cmake configs at the root.
Neumann-A Jan 16, 2020
baaa467
fix missing backslash
Neumann-A Jan 16, 2020
65531c3
fix plugin patch
Neumann-A Jan 16, 2020
0c3767c
fix qt config patch
Neumann-A Jan 16, 2020
795acd0
remove 90% of fixcmake.py
Neumann-A Jan 16, 2020
2c43ad4
update baseline
Neumann-A Jan 16, 2020
430e311
experimental removal of fixcmake.py and dll copying into tools/qt5/bin
Neumann-A Jan 16, 2020
7957d50
fix experimental dll copying.
Neumann-A Jan 16, 2020
a7d5029
fix static windows builds
Neumann-A Jan 16, 2020
d62c0ee
fix static builds
Neumann-A Jan 16, 2020
8da5f7e
fix plugin copy
Neumann-A Jan 16, 2020
cf1ff50
add quotes around configuration to make it work
Neumann-A Jan 16, 2020
136322c
remove dll debug messages
Neumann-A Jan 16, 2020
d0446cf
note about the cmake fix
Neumann-A Jan 17, 2020
4779bc0
revert fontconfig changes on linux. Make qt.conf relative and not abs…
Neumann-A Jan 17, 2020
728e9bd
make qt.conf relative
Neumann-A Jan 17, 2020
708d825
trying to fix ogre osx ci regression
Neumann-A Jan 17, 2020
d4797af
fix silly path error
Neumann-A Jan 17, 2020
ddb9443
Revert "trying to fix ogre osx ci regression"
Neumann-A Jan 17, 2020
e4b66ea
add ogre:x64-osx=fail to CI baseline
Neumann-A Jan 17, 2020
473f004
retry on osx
Neumann-A Jan 17, 2020
04f4209
fix configure error. since in qt5-base everything is in the package d…
Neumann-A Jan 17, 2020
50e4600
Merge branch 'master' into fix_osx_qt_2
Neumann-A Jan 22, 2020
a03d3d1
revert change to ci.baseline
Neumann-A Jan 22, 2020
b039084
update ci baseline
Neumann-A Jan 23, 2020
ac205c0
Merge branch 'master' into fix_osx_qt_2
Neumann-A Feb 14, 2020
b8988ef
Merge remote-tracking branch 'upstream/master' into fix_osx_qt_2
Neumann-A Feb 25, 2020
90521fd
bump control
Neumann-A Feb 25, 2020
0bd892e
update baseline
Neumann-A Feb 26, 2020
108d47f
ws change to osg-qt
Neumann-A Feb 26, 2020
250b3ec
Merge branch 'master' into fix_osx_qt_2
Neumann-A Mar 5, 2020
b44bd0c
reset ci baseline to upstream/master
Neumann-A Mar 10, 2020
276e43d
Merge remote-tracking branch 'upstream/master' into fix_osx_qt_2
Neumann-A Mar 10, 2020
ed966fb
update baseline
Neumann-A Mar 10, 2020
4fa5b57
fix osg-qt?
Neumann-A Mar 10, 2020
40b9c87
skip ms-angle on osx and linux since the normal angle port should be …
Neumann-A Mar 10, 2020
47c2ae3
update ci baseline
Neumann-A Mar 10, 2020
c317b90
try adding fontconfig manually
Neumann-A Mar 10, 2020
6842aa9
update ci baseline to remove osg-qt for the time being
Neumann-A Mar 10, 2020
30c5687
remove manual library.
Neumann-A Mar 10, 2020
38b34fa
Merge remote-tracking branch 'upstream/master' into fix_osx_qt_2
Neumann-A Mar 17, 2020
9ff7788
Merge remote-tracking branch 'upstream/master' into fix_osx_qt_2
Neumann-A Apr 2, 2020
ae1c302
Merge remote-tracking branch 'upstream/master' into fix_osx_qt_2
Neumann-A Apr 8, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions ports/jasper/CONTROL
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Source: jasper
Version: 2.0.16-2
Version: 2.0.16-3
Homepage: https://github.com/mdadams/jasper
Description: Open source implementation of the JPEG-2000 Part-1 standard
Build-Depends: libjpeg-turbo, opengl, freeglut
Build-Depends: libjpeg-turbo, opengl, freeglut (!osx)
Neumann-A marked this conversation as resolved.
Show resolved Hide resolved
4 changes: 2 additions & 2 deletions ports/pango/CONTROL
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Source: pango
Version: 1.40.11-5
Version: 1.40.11-6
Homepage: https://ftp.gnome.org/pub/GNOME/sources/pango/
Description: Text and font handling library.
Build-Depends: glib, gettext, cairo, fontconfig, freetype, harfbuzz[glib] (!(windows&static))
Build-Depends: glib, gettext, cairo, fontconfig, freetype, harfbuzz[glib] (!(windows&static)&!osx)
2 changes: 1 addition & 1 deletion ports/qt5-base/CONTROL
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Source: qt5-base
Version: 5.12.5-8
Version: 5.12.5-10
Homepage: https://www.qt.io/
Description: Qt5 Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components.
Build-Depends: zlib, libjpeg-turbo, libpng, freetype, pcre2, harfbuzz, sqlite3, libpq, double-conversion, openssl, angle (!windows), egl-registry, icu (!uwp), fontconfig (!windows)
Expand Down
19 changes: 19 additions & 0 deletions ports/qt5-base/cmake/qt_build_submodule.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,25 @@ function(qt_build_submodule SOURCE_PATH)
endforeach()
if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/qt5/bin")
file(COPY "${CURRENT_PACKAGES_DIR}/tools/qt5/bin" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}")

set(CURRENT_INSTALLED_DIR_BACKUP "${CURRENT_INSTALLED_DIR}")
set(CURRENT_INSTALLED_DIR "./../../.." ) # Making the qt.conf relative and not absolute
configure_file(${CURRENT_INSTALLED_DIR_BACKUP}/tools/qt5/qt_release.conf ${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/qt.conf) # This makes the tools at least useable for release
set(CURRENT_INSTALLED_DIR "${CURRENT_INSTALLED_DIR_BACKUP}")

vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin")
if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
file(GLOB_RECURSE DLL_DEPS_AVAIL "${CURRENT_INSTALLED_DIR}/tools/qt5/bin/*.dll")
string(REPLACE "${CURRENT_INSTALLED_DIR}/tools/qt5/bin/" "" DLL_DEPS_AVAIL "${DLL_DEPS_AVAIL}")
file(GLOB_RECURSE DLL_DEPS_NEEDED "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/*.dll")
string(REPLACE "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/" "" DLL_DEPS_NEEDED "${DLL_DEPS_NEEDED}")
if(DLL_DEPS_AVAIL AND DLL_DEPS_NEEDED)
list(REMOVE_ITEM DLL_DEPS_NEEDED ${DLL_DEPS_AVAIL})
endif()
foreach(dll_dep ${DLL_DEPS_NEEDED})
string(REGEX REPLACE "[^/]+$" "" dll_subpath "${dll_dep}")
file(COPY "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/${dll_dep}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/qt5/bin/${dll_subpath}")
endforeach()
endif()
endif()
endfunction()
30 changes: 9 additions & 21 deletions ports/qt5-base/cmake/qt_fix_cmake.cmake
Original file line number Diff line number Diff line change
@@ -1,25 +1,14 @@
function(qt_fix_cmake PACKAGE_DIR_TO_FIX PORT_TO_FIX)
set(BACKUP_PATH "$ENV{PATH}")
#Find Python and add it to the path
vcpkg_find_acquire_program(PYTHON2)
get_filename_component(PYTHON2_EXE_PATH ${PYTHON2} DIRECTORY)
vcpkg_add_to_path("${PYTHON2_EXE_PATH}")

#Fix the cmake files if they exist
if(EXISTS ${PACKAGE_DIR_TO_FIX}/lib/cmake)
vcpkg_execute_required_process(
COMMAND ${PYTHON2} ${CURRENT_INSTALLED_DIR}/share/qt5/fixcmake.py ${PORT_TO_FIX}
WORKING_DIRECTORY ${PACKAGE_DIR_TO_FIX}/lib/cmake
LOGNAME fix-cmake
)
endif()
if(EXISTS ${PACKAGE_DIR_TO_FIX}/share/cmake)
vcpkg_execute_required_process(
COMMAND ${PYTHON2} ${CURRENT_INSTALLED_DIR}/share/qt5/fixcmake.py ${PORT_TO_FIX}
WORKING_DIRECTORY ${PACKAGE_DIR_TO_FIX}/share/cmake
LOGNAME fix-cmake
)
endif()
file(GLOB_RECURSE cmakefiles ${PACKAGE_DIR_TO_FIX}/share/cmake/*.cmake ${PACKAGE_DIR_TO_FIX}/lib/cmake/*.cmake)
foreach(cmakefile ${cmakefiles})
file(READ "${cmakefile}" _contents)
if(_contents MATCHES "_install_prefix}/tools/qt5/bin/([a-z0-9]+)") # there are only about 3 to 5 cmake files which require the fix in ports: qt5-tools qt5-xmlpattern at5-activeqt qt5-quick
string(REGEX REPLACE "_install_prefix}/tools/qt5/bin/([a-z0-9]+)" "_install_prefix}/tools/${PORT_TO_FIX}/bin/\\1" _contents "${_contents}")
file(WRITE "${cmakefile}" "${_contents}")
endif()
endforeach()

#Install cmake files
if(EXISTS ${PACKAGE_DIR_TO_FIX}/lib/cmake)
file(MAKE_DIRECTORY ${PACKAGE_DIR_TO_FIX}/share)
Expand All @@ -29,5 +18,4 @@ function(qt_fix_cmake PACKAGE_DIR_TO_FIX PORT_TO_FIX)
if(EXISTS ${PACKAGE_DIR_TO_FIX}/debug/lib/cmake)
file(REMOVE_RECURSE ${PACKAGE_DIR_TO_FIX}/debug/lib/cmake)
endif()
set(ENV{PATH} "${BACKUP_PATH}")
endfunction()
88 changes: 0 additions & 88 deletions ports/qt5-base/fixcmake.py

This file was deleted.

78 changes: 78 additions & 0 deletions ports/qt5-base/patches/Qt5BasicConfig.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
index c72989288..a88234dca 100644
--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
@@ -53,7 +53,11 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})

!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
- set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+ if(\"${Configuration}\" STREQUAL \"DEBUG\")
+ set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/debug/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+ else()
+ set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+ endif()
!!ELSE
set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
!!ENDIF
@@ -69,8 +73,12 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
)

!!IF !isEmpty(CMAKE_WINDOWS_BUILD)
!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
- set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+ if(\"${Configuration}\" STREQUAL \"DEBUG\")
+ set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/debug/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+ else()
+ set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+ endif()
!!ELSE
set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
!!ENDIF
@@ -270,9 +278,8 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD

!!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
-!!IF isEmpty(CMAKE_DEBUG_TYPE)
!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
- if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+ if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/debug/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
@@ -281,20 +288,19 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
!!ELSE // CMAKE_STATIC_WINDOWS_BUILD
if (EXISTS
!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
+ \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/debug/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
!!ELSE
\"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
!!ENDIF
AND EXISTS
!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+ \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/debug/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
!!ELSE
\"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
!!ENDIF
_populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
endif()
-!!ENDIF // CMAKE_DEBUG_TYPE
!!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD

!!ENDIF // CMAKE_RELEASE_TYPE
@@ -347,7 +353,12 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})

!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
+ if(\"${Configuration}\" STREQUAL \"DEBUG\")
+ set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/debug/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
+ else()
set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
+ endif()
+
!!ELSE
set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
!!ENDIF
22 changes: 22 additions & 0 deletions ports/qt5-base/patches/Qt5PluginTarget.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
index 5baf0fdb1..185abfffd 100644
--- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
@@ -1,11 +1,11 @@

add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)

-!!IF !isEmpty(CMAKE_RELEASE_TYPE)
-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
-!!ENDIF
-!!IF !isEmpty(CMAKE_DEBUG_TYPE)
-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
-!!ENDIF
+if(EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
+ _populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
+endif()
+if(EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/debug/$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
+ _populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
+endif()

list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
Loading