vcpkg/ports/qt5-base/cmake/qt_fix_cmake.cmake
Alexander Neumann f8165f7270 [qt5-base] Fix Qt5 linux build and be a bit less flaky in CI (#9260)
* Fix static qt5 builds and ignore system qmake
closes #9234 and #9239

* fix angle conflict and icu dependency

* add egl-registry as a dependency

* remove space

* adding spaces resolved the problem

* move files only if they exist

* Update the Wrapper to use the Postgres target

fixes some observed linkage issues

* update baseline

* add fontconfig on linux so CI is less flaky in a full rebuild

* fix linkage dependent qt5-imageformats libs

* Fix Wrapper for Linux and add other platform libs to Qt5::Core

* fix plugin properties in cmake files

* fix cmake files.

* fix missing plugin qminimal deployment into tools dir

* change wrapper slightly

* UNIX also means APPLE so it needs to be excluded

* fix the static windows build

* mark the parts of fixcmake which require further work to work with single configuration builds

* Update ci.baseline.txt

make qt5-tools pass for CI testing

* fix last regression

* break auto fontconfig in configure script to fix qt5-tools

* update baseline

* enable verbose to debug ci

* try to help it instead of breaking it

* completly link icu

* try to fix fontconfig configure

* fix configure call. cannot be called with a list!

* remove invalid line from patch

* force icu and reduce the required icu libs according to the configure script

* fix icu linkage

* add more icu dependencies and names for windows

* add more icu libs. Seems like all are needed

* fix typo

* print icu libs in debug

* check releasenames

* try again

* change link order

* add icu to wrapper

* fix typo

* patch icu configure for static windows builds

* add other icu libraries to the icu patch

* fix icu in x64-windows-static

* update baseline. VTK builds in local WSL so it should work in CI

* update VTK control to force rebuild

* remove qt5-tools=pass from baseline

* remove qcustomplot:x64-linux=fail from baseline

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
2020-01-06 12:36:51 -08:00

33 lines
1.3 KiB
CMake

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()
#Install cmake files
if(EXISTS ${PACKAGE_DIR_TO_FIX}/lib/cmake)
file(MAKE_DIRECTORY ${PACKAGE_DIR_TO_FIX}/share)
file(RENAME ${PACKAGE_DIR_TO_FIX}/lib/cmake ${PACKAGE_DIR_TO_FIX}/share/cmake)
endif()
#Remove extra cmake files
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()