early-access version 2853
This commit is contained in:
151
externals/vcpkg/ports/qt5-base/cmake/configure_qt.cmake
vendored
Executable file
151
externals/vcpkg/ports/qt5-base/cmake/configure_qt.cmake
vendored
Executable file
@@ -0,0 +1,151 @@
|
||||
function(configure_qt)
|
||||
cmake_parse_arguments(_csc "" "SOURCE_PATH;TARGET_PLATFORM;HOST_PLATFORM;HOST_TOOLS_ROOT" "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE" ${ARGN})
|
||||
|
||||
if(NOT _csc_TARGET_PLATFORM)
|
||||
message(FATAL_ERROR "configure_qt requires a TARGET_PLATFORM argument.")
|
||||
endif()
|
||||
|
||||
if(DEFINED _csc_HOST_PLATFORM)
|
||||
list(APPEND _csc_OPTIONS -platform ${_csc_HOST_PLATFORM})
|
||||
endif()
|
||||
|
||||
if(DEFINED _csc_HOST_TOOLS_ROOT)
|
||||
## vcpkg internal file struture assumed here!
|
||||
message(STATUS "Building Qt with prepared host tools from ${_csc_HOST_TOOLS_ROOT}!")
|
||||
vcpkg_add_to_path("${_csc_HOST_TOOLS_ROOT}/bin")
|
||||
vcpkg_add_to_path("${_csc_HOST_TOOLS_ROOT}")
|
||||
set(EXT_BIN_DIR -external-hostbindir ${_csc_HOST_TOOLS_ROOT}/bin) # we only use release binaries for building
|
||||
find_program(QMAKE_COMMAND NAMES qmake PATHS ${_csc_HOST_TOOLS_ROOT}/bin NO_DEFAULT_PATH)
|
||||
set(INVOKE "${QMAKE_COMMAND}" )
|
||||
else()
|
||||
if(CMAKE_HOST_WIN32)
|
||||
set(CONFIGURE_BAT "configure.bat")
|
||||
else()
|
||||
set(CONFIGURE_BAT "configure")
|
||||
endif()
|
||||
set(INVOKE "${_csc_SOURCE_PATH}/${CONFIGURE_BAT}")
|
||||
endif()
|
||||
|
||||
#Cleanup previous build folders
|
||||
file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
|
||||
|
||||
#Find and ad Perl to PATH
|
||||
vcpkg_find_acquire_program(PERL)
|
||||
get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY)
|
||||
vcpkg_add_to_path("${PERL_EXE_PATH}")
|
||||
|
||||
if("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static")
|
||||
list(APPEND _csc_OPTIONS -static)
|
||||
else()
|
||||
#list(APPEND _csc_OPTIONS_DEBUG -separate-debug-info)
|
||||
endif()
|
||||
|
||||
if(VCPKG_TARGET_IS_WINDOWS AND "${VCPKG_CRT_LINKAGE}" STREQUAL "static")
|
||||
list(APPEND _csc_OPTIONS -static-runtime)
|
||||
endif()
|
||||
|
||||
list(APPEND _csc_OPTIONS_RELEASE -release)
|
||||
list(APPEND _csc_OPTIONS_DEBUG -debug)
|
||||
|
||||
#Replace with VCPKG variables if PR #7733 is merged
|
||||
unset(BUILDTYPES)
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR "${VCPKG_BUILD_TYPE}" STREQUAL "debug")
|
||||
set(_buildname "DEBUG")
|
||||
list(APPEND BUILDTYPES ${_buildname})
|
||||
set(_short_name_${_buildname} "dbg")
|
||||
set(_path_suffix_${_buildname} "/debug")
|
||||
set(_build_type_${_buildname} "debug")
|
||||
endif()
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR "${VCPKG_BUILD_TYPE}" STREQUAL "release")
|
||||
set(_buildname "RELEASE")
|
||||
list(APPEND BUILDTYPES ${_buildname})
|
||||
set(_short_name_${_buildname} "rel")
|
||||
set(_path_suffix_${_buildname} "")
|
||||
set(_build_type_${_buildname} "release")
|
||||
endif()
|
||||
unset(_buildname)
|
||||
|
||||
vcpkg_find_acquire_program(PKGCONFIG)
|
||||
set(ENV{PKG_CONFIG} "${PKGCONFIG}")
|
||||
get_filename_component(PKGCONFIG_PATH "${PKGCONFIG}" DIRECTORY)
|
||||
vcpkg_add_to_path("${PKGCONFIG_PATH}")
|
||||
|
||||
foreach(_buildname ${BUILDTYPES})
|
||||
set(PKGCONFIG_INSTALLED_DIR "${_VCPKG_INSTALLED_PKGCONF}${_path_suffix_${_buildname}}/lib/pkgconfig")
|
||||
set(PKGCONFIG_INSTALLED_SHARE_DIR "${_VCPKG_INSTALLED_PKGCONF}/share/pkgconfig")
|
||||
set(PKGCONFIG_PACKAGES_DIR "${_VCPKG_PACKAGES_PKGCONF}${_path_suffix_${_buildname}}/lib/pkgconfig")
|
||||
set(PKGCONFIG_PACKAGES_SHARE_DIR "${_VCPKG_PACKAGES_PKGCONF}/share/pkgconfig")
|
||||
if(DEFINED ENV{PKG_CONFIG_PATH})
|
||||
set(BACKUP_ENV_PKG_CONFIG_PATH_${_config} $ENV{PKG_CONFIG_PATH})
|
||||
set(ENV{PKG_CONFIG_PATH} "${PKGCONFIG_INSTALLED_DIR}${VCPKG_HOST_PATH_SEPARATOR}${PKGCONFIG_INSTALLED_SHARE_DIR}${VCPKG_HOST_PATH_SEPARATOR}${PKGCONFIG_PACKAGES_DIR}${VCPKG_HOST_PATH_SEPARATOR}${PKGCONFIG_PACKAGES_SHARE_DIR}${VCPKG_HOST_PATH_SEPARATOR}$ENV{PKG_CONFIG_PATH}")
|
||||
else()
|
||||
set(ENV{PKG_CONFIG_PATH} "${PKGCONFIG_INSTALLED_DIR}${VCPKG_HOST_PATH_SEPARATOR}${PKGCONFIG_INSTALLED_SHARE_DIR}${VCPKG_HOST_PATH_SEPARATOR}${PKGCONFIG_PACKAGES_DIR}${VCPKG_HOST_PATH_SEPARATOR}${PKGCONFIG_PACKAGES_SHARE_DIR}")
|
||||
endif()
|
||||
|
||||
set(_build_triplet ${TARGET_TRIPLET}-${_short_name_${_buildname}})
|
||||
message(STATUS "Configuring ${_build_triplet}")
|
||||
set(_build_dir "${CURRENT_BUILDTREES_DIR}/${_build_triplet}")
|
||||
file(MAKE_DIRECTORY ${_build_dir})
|
||||
# These paths get hardcoded into qmake. So point them into the CURRENT_INSTALLED_DIR instead of CURRENT_PACKAGES_DIR
|
||||
# makefiles will be fixed to install into CURRENT_PACKAGES_DIR in install_qt
|
||||
set(BUILD_OPTIONS ${_csc_OPTIONS} ${_csc_OPTIONS_${_buildname}}
|
||||
-prefix ${CURRENT_INSTALLED_DIR}
|
||||
#-extprefix ${CURRENT_INSTALLED_DIR}
|
||||
${EXT_BIN_DIR}
|
||||
-hostprefix ${CURRENT_INSTALLED_DIR}/tools/qt5${_path_suffix_${_buildname}}
|
||||
#-hostprefix ${CURRENT_INSTALLED_DIR}/tools/qt5
|
||||
-hostlibdir ${CURRENT_INSTALLED_DIR}/tools/qt5${_path_suffix_${_buildname}}/lib # could probably be move to manual-link
|
||||
-hostbindir ${CURRENT_INSTALLED_DIR}/tools/qt5${_path_suffix_${_buildname}}/bin
|
||||
#-hostbindir ${CURRENT_INSTALLED_DIR}/tools/qt5/bin
|
||||
# Qt VS Plugin requires a /bin subfolder with the executables in the root dir. But to use the wizard a correctly setup lib folder is also required
|
||||
# So with the vcpkg layout there is no way to make it work unless all dll are are copied to tools/qt5/bin and all libs to tools/qt5/lib
|
||||
-archdatadir ${CURRENT_INSTALLED_DIR}/tools/qt5${_path_suffix_${_buildname}}
|
||||
-datadir ${CURRENT_INSTALLED_DIR}${_path_suffix}/share/qt5${_path_suffix_${_buildname}}
|
||||
-plugindir ${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}/plugins
|
||||
-qmldir ${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}/qml
|
||||
-headerdir ${CURRENT_INSTALLED_DIR}/include/qt5
|
||||
-libexecdir ${CURRENT_INSTALLED_DIR}/tools/qt5${_path_suffix_${_buildname}}
|
||||
-bindir ${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}/bin
|
||||
-libdir ${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}/lib
|
||||
-I ${CURRENT_INSTALLED_DIR}/include
|
||||
-I ${CURRENT_INSTALLED_DIR}/include/qt5
|
||||
-L ${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}/lib
|
||||
-L ${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}/lib/manual-link
|
||||
-platform ${_csc_TARGET_PLATFORM}
|
||||
)
|
||||
|
||||
if(DEFINED _csc_HOST_TOOLS_ROOT) #use qmake
|
||||
if(WIN32)
|
||||
set(INVOKE_OPTIONS "QMAKE_CXX.QMAKE_MSC_VER=1911" "QMAKE_MSC_VER=1911")
|
||||
endif()
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${INVOKE} "${_csc_SOURCE_PATH}" "${INVOKE_OPTIONS}" -- ${BUILD_OPTIONS}
|
||||
WORKING_DIRECTORY ${_build_dir}
|
||||
LOGNAME config-${_build_triplet}
|
||||
)
|
||||
else()# call configure (builds qmake for triplet and calls it like above)
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND "${INVOKE}" ${BUILD_OPTIONS}
|
||||
WORKING_DIRECTORY ${_build_dir}
|
||||
LOGNAME config-${_build_triplet}
|
||||
)
|
||||
endif()
|
||||
|
||||
# Note archdatadir and datadir are required to be prefixed with the hostprefix?
|
||||
message(STATUS "Configuring ${_build_triplet} done")
|
||||
|
||||
# Copy configuration dependent qt.conf
|
||||
file(TO_CMAKE_PATH "${CURRENT_PACKAGES_DIR}" CMAKE_CURRENT_PACKAGES_DIR_PATH)
|
||||
file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}" CMAKE_CURRENT_INSTALLED_DIR_PATH)
|
||||
file(READ "${CURRENT_BUILDTREES_DIR}/${_build_triplet}/bin/qt.conf" _contents)
|
||||
string(REPLACE "${CMAKE_CURRENT_PACKAGES_DIR_PATH}" "\${CURRENT_INSTALLED_DIR}" _contents ${_contents})
|
||||
string(REPLACE "${CMAKE_CURRENT_INSTALLED_DIR_PATH}" "\${CURRENT_INSTALLED_DIR}" _contents ${_contents})
|
||||
#string(REPLACE "HostPrefix=\${CURRENT_PACKAGES_DIR}" "HostPrefix=\${CURRENT_INSTALLED_DIR}" _contents ${_contents})
|
||||
string(REPLACE "[EffectivePaths]\nPrefix=..\n" "" _contents ${_contents})
|
||||
string(REGEX REPLACE "\\[EffectiveSourcePaths\\]\r?\nPrefix=[^\r\n]+\r?\n" "" _contents ${_contents})
|
||||
string(REPLACE "Sysroot=\n" "" _contents ${_contents})
|
||||
string(REPLACE "SysrootifyPrefix=false\n" "" _contents ${_contents})
|
||||
file(WRITE "${CURRENT_PACKAGES_DIR}/tools/qt5/qt_${_build_type_${_buildname}}.conf" "${_contents}")
|
||||
endforeach()
|
||||
|
||||
endfunction()
|
||||
101
externals/vcpkg/ports/qt5-base/cmake/find_qt_mkspec.cmake
vendored
Executable file
101
externals/vcpkg/ports/qt5-base/cmake/find_qt_mkspec.cmake
vendored
Executable file
@@ -0,0 +1,101 @@
|
||||
function(find_qt_mkspec TARGET_PLATFORM_MKSPEC_OUT HOST_PLATFORM_MKSPEC_OUT EXT_HOST_TOOLS_OUT)
|
||||
## Figure out QTs target mkspec
|
||||
if(NOT DEFINED VCPKG_QT_TARGET_MKSPEC)
|
||||
message(STATUS "Figuring out qt target mkspec. Target arch ${VCPKG_TARGET_ARCHITECTURE}")
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
if(VCPKG_TARGET_IS_UWP)
|
||||
if(VCPKG_PLATFORM_TOOLSET STREQUAL "v140")
|
||||
set(msvc_year "2015")
|
||||
elseif(VCPKG_PLATFORM_TOOLSET STREQUAL "v141")
|
||||
set(msvc_year "2017")
|
||||
elseif(VCPKG_PLATFORM_TOOLSET STREQUAL "v142")
|
||||
set(msvc_year "2019")
|
||||
else()
|
||||
message(FATAL_ERROR "No target mkspec found!")
|
||||
endif()
|
||||
set(_tmp_targ_out "winrt-${VCPKG_TARGET_ARCHITECTURE}-msvc${msvc_year}")
|
||||
else()
|
||||
if("${VCPKG_TARGET_ARCHITECTURE}" MATCHES "arm64")
|
||||
message(STATUS "Figuring out arm64")
|
||||
set(_tmp_targ_out "win32-arm64-msvc2017") #mkspec does not have anything defined related to msvc2017 so this should work
|
||||
else()
|
||||
set(_tmp_targ_out "win32-msvc")
|
||||
endif()
|
||||
endif()
|
||||
elseif(VCPKG_TARGET_IS_LINUX)
|
||||
set(_tmp_targ_out "linux-g++" )
|
||||
elseif(VCPKG_TARGET_IS_OSX)
|
||||
set(_tmp_targ_out "macx-clang") # switch to macx-g++ since vcpkg requires g++ to compile any way?
|
||||
endif()
|
||||
else()
|
||||
set(_tmp_targ_out ${VCPKG_QT_TARGET_MKSPEC})
|
||||
endif()
|
||||
message(STATUS "Target mkspec set to: ${_tmp_targ_out}")
|
||||
set(${TARGET_PLATFORM_MKSPEC_OUT} ${_tmp_targ_out} PARENT_SCOPE)
|
||||
|
||||
## Figure out QTs host mkspec
|
||||
if(NOT DEFINED VCPKG_QT_HOST_MKSPEC)
|
||||
#if(WIN32)
|
||||
# set(_tmp_host_out "win32-msvc")
|
||||
#elseif("${CMAKE_HOST_SYSTEM}" STREQUAL "Linux")
|
||||
# set(_tmp_host_out "linux-g++")
|
||||
#elseif("${CMAKE_HOST_SYSTEM}" STREQUAL "Darwin")
|
||||
# set(_tmp_host_out "macx-clang")
|
||||
#endif()
|
||||
if(DEFINED _tmp_host_out)
|
||||
message(STATUS "Host mkspec set to: ${_tmp_host_out}")
|
||||
else()
|
||||
message(STATUS "Host mkspec not set. Qt's own buildsystem will try to figure out the host system")
|
||||
endif()
|
||||
else()
|
||||
set(_tmp_host_out ${VCPKG_QT_HOST_MKSPEC})
|
||||
endif()
|
||||
|
||||
if(DEFINED _tmp_host_out)
|
||||
set(${HOST_PLATFORM_MKSPEC_OUT} ${_tmp_host_out} PARENT_SCOPE)
|
||||
endif()
|
||||
|
||||
## Figure out VCPKG qt-tools directory for the port.
|
||||
if(NOT DEFINED VCPKG_QT_HOST_TOOLS_ROOT AND DEFINED VCPKG_QT_HOST_PLATFORM) ## Root dir of the required host tools
|
||||
if(NOT "${_tmp_host_out}" MATCHES "${_tmp_host_out}")
|
||||
if(CMAKE_HOST_WIN32)
|
||||
|
||||
if($ENV{PROCESSOR_ARCHITECTURE} MATCHES "[aA][rR][mM]64")
|
||||
list(APPEND _test_triplets arm64-windows)
|
||||
elseif($ENV{PROCESSOR_ARCHITECTURE} MATCHES "[aA][mM][dD]64")
|
||||
list(APPEND _test_triplets x64-windows x64-windows-static)
|
||||
list(APPEND _test_triplets x86-windows x86-windows-static)
|
||||
elseif($ENV{PROCESSOR_ARCHITECTURE} MATCHES "x86")
|
||||
list(APPEND _test_triplets x86-windows x86-windows-static)
|
||||
else()
|
||||
message(FATAL_ERROR "Unknown host processor! Host Processor $ENV{PROCESSOR_ARCHITECTURE}")
|
||||
endif()
|
||||
elseif(CMAKE_HOST_SYSTEM STREQUAL "Linux")
|
||||
list(APPEND _test_triplets "x64-linux")
|
||||
elseif(CMAKE_HOST_SYSTEM STREQUAL "Darwin")
|
||||
list(APPEND _test_triplets "x64-osx")
|
||||
else()
|
||||
endif()
|
||||
foreach(_triplet ${_test_triplets})
|
||||
find_program(QMAKE_PATH qmake PATHS ${VCPKG_INSTALLED_DIR}/${_triplet}/tools/qt5/bin NO_DEFAULT_PATHS)
|
||||
message(STATUS "Checking: ${VCPKG_INSTALLED_DIR}/${_triplet}/tools/qt5/bin. ${QMAKE_PATH}")
|
||||
if(QMAKE_PATH)
|
||||
set(_tmp_host_root "${VCPKG_INSTALLED_DIR}/${_triplet}/tools/qt5")
|
||||
set(_tmp_host_qmake ${QMAKE_PATH} PARENT_SCOPE)
|
||||
message(STATUS "Qt host tools root dir within vcpkg: ${_tmp_host_root}")
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
if(NOT DEFINED _tmp_host_root)
|
||||
message(FATAL_ERROR "Unable to locate required host tools. Please define VCPKG_QT_HOST_TOOLS_ROOT to the required root dir of the host tools")
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
set(_tmp_host_root ${VCPKG_QT_HOST_TOOLS_ROOT})
|
||||
endif()
|
||||
|
||||
if(DEFINED _tmp_host_root)
|
||||
set(${EXT_HOST_TOOLS_OUT} ${_tmp_host_root} PARENT_SCOPE)
|
||||
endif()
|
||||
|
||||
endfunction()
|
||||
129
externals/vcpkg/ports/qt5-base/cmake/install_qt.cmake
vendored
Executable file
129
externals/vcpkg/ports/qt5-base/cmake/install_qt.cmake
vendored
Executable file
@@ -0,0 +1,129 @@
|
||||
include(qt_fix_makefile_install)
|
||||
|
||||
function(install_qt)
|
||||
if(CMAKE_HOST_WIN32)
|
||||
if (VCPKG_QMAKE_USE_NMAKE)
|
||||
find_program(NMAKE nmake REQUIRED)
|
||||
set(INVOKE "${NMAKE}")
|
||||
set(INVOKE_SINGLE "${NMAKE}")
|
||||
get_filename_component(NMAKE_EXE_PATH ${NMAKE} DIRECTORY)
|
||||
set(PATH_GLOBAL "$ENV{PATH}")
|
||||
set(ENV{PATH} "$ENV{PATH};${NMAKE_EXE_PATH}")
|
||||
set(ENV{CL} "$ENV{CL} /MP${VCPKG_CONCURRENCY}")
|
||||
else()
|
||||
vcpkg_find_acquire_program(JOM)
|
||||
set(INVOKE "${JOM}" /J ${VCPKG_CONCURRENCY})
|
||||
set(INVOKE_SINGLE "${JOM}" /J 1)
|
||||
endif()
|
||||
else()
|
||||
find_program(MAKE make)
|
||||
set(INVOKE "${MAKE}" -j${VCPKG_CONCURRENCY})
|
||||
set(INVOKE_SINGLE "${MAKE}" -j1)
|
||||
endif()
|
||||
vcpkg_find_acquire_program(PYTHON3)
|
||||
get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY)
|
||||
vcpkg_add_to_path(PREPEND "${PYTHON3_EXE_PATH}")
|
||||
|
||||
if (CMAKE_HOST_WIN32)
|
||||
# flex and bison for ANGLE library
|
||||
vcpkg_find_acquire_program(FLEX)
|
||||
get_filename_component(FLEX_EXE_PATH ${FLEX} DIRECTORY)
|
||||
get_filename_component(FLEX_DIR ${FLEX_EXE_PATH} NAME)
|
||||
|
||||
file(COPY ${FLEX_EXE_PATH} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-tools" )
|
||||
set(FLEX_TEMP "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-tools/${FLEX_DIR}")
|
||||
file(RENAME "${FLEX_TEMP}/win_bison.exe" "${FLEX_TEMP}/bison.exe")
|
||||
file(RENAME "${FLEX_TEMP}/win_flex.exe" "${FLEX_TEMP}/flex.exe")
|
||||
vcpkg_add_to_path("${FLEX_TEMP}")
|
||||
endif()
|
||||
|
||||
set(_path "$ENV{PATH}")
|
||||
|
||||
#Replace with VCPKG variables if PR #7733 is merged
|
||||
unset(BUILDTYPES)
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
set(_buildname "DEBUG")
|
||||
list(APPEND BUILDTYPES ${_buildname})
|
||||
set(_short_name_${_buildname} "dbg")
|
||||
set(_path_suffix_${_buildname} "/debug")
|
||||
set(_build_type_${_buildname} "debug")
|
||||
endif()
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
|
||||
set(_buildname "RELEASE")
|
||||
list(APPEND BUILDTYPES ${_buildname})
|
||||
set(_short_name_${_buildname} "rel")
|
||||
set(_path_suffix_${_buildname} "")
|
||||
set(_build_type_${_buildname} "release")
|
||||
endif()
|
||||
unset(_buildname)
|
||||
|
||||
foreach(_buildname ${BUILDTYPES})
|
||||
set(_build_triplet ${TARGET_TRIPLET}-${_short_name_${_buildname}})
|
||||
|
||||
set(_installed_prefix_ "${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}")
|
||||
set(_installed_libpath_ "${_installed_prefix_}/lib/${VCPKG_HOST_PATH_SEPARATOR}${_installed_prefix_}/lib/manual-link/")
|
||||
|
||||
vcpkg_add_to_path(PREPEND "${_installed_prefix_}/bin")
|
||||
vcpkg_add_to_path(PREPEND "${_installed_prefix_}/lib")
|
||||
|
||||
# We set LD_LIBRARY_PATH ENV variable to allow executing Qt tools (rcc,...) even with dynamic linking
|
||||
if(CMAKE_HOST_UNIX)
|
||||
if(DEFINED ENV{LD_LIBRARY_PATH})
|
||||
set(_ld_library_path_defined_ TRUE)
|
||||
set(_ld_library_path_backup_ $ENV{LD_LIBRARY_PATH})
|
||||
set(ENV{LD_LIBRARY_PATH} "${_installed_libpath_}${VCPKG_HOST_PATH_SEPARATOR}${_ld_library_path_backup_}")
|
||||
else()
|
||||
set(_ld_library_path_defined_ FALSE)
|
||||
set(ENV{LD_LIBRARY_PATH} "${_installed_libpath_}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(VCPKG_TARGET_IS_OSX)
|
||||
# For some reason there will be an error on MacOSX without this clean!
|
||||
message(STATUS "Cleaning before build ${_build_triplet}")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${INVOKE_SINGLE} clean
|
||||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${_build_triplet}
|
||||
LOGNAME cleaning-1-${_build_triplet}
|
||||
)
|
||||
endif()
|
||||
|
||||
message(STATUS "Building ${_build_triplet}")
|
||||
vcpkg_execute_build_process(
|
||||
COMMAND ${INVOKE}
|
||||
NO_PARALLEL_COMMAND ${INVOKE_SINGLE}
|
||||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${_build_triplet}
|
||||
LOGNAME build-${_build_triplet}
|
||||
)
|
||||
|
||||
if(VCPKG_TARGET_IS_OSX)
|
||||
# For some reason there will be an error on MacOSX without this clean!
|
||||
message(STATUS "Cleaning after build before install ${_build_triplet}")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${INVOKE_SINGLE} clean
|
||||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${_build_triplet}
|
||||
LOGNAME cleaning-2-${_build_triplet}
|
||||
)
|
||||
endif()
|
||||
|
||||
message(STATUS "Fixing makefile installation path ${_build_triplet}")
|
||||
qt_fix_makefile_install("${CURRENT_BUILDTREES_DIR}/${_build_triplet}")
|
||||
message(STATUS "Installing ${_build_triplet}")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${INVOKE} install
|
||||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${_build_triplet}
|
||||
LOGNAME package-${_build_triplet}
|
||||
)
|
||||
message(STATUS "Package ${_build_triplet} done")
|
||||
set(ENV{PATH} "${_path}")
|
||||
|
||||
# Restore backup
|
||||
if(CMAKE_HOST_UNIX)
|
||||
if(_ld_library_path_defined_)
|
||||
set(ENV{LD_LIBRARY_PATH} "${_ld_library_path_backup_}")
|
||||
else()
|
||||
unset(ENV{LD_LIBRARY_PATH})
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
endfunction()
|
||||
129
externals/vcpkg/ports/qt5-base/cmake/qt_build_submodule.cmake
vendored
Executable file
129
externals/vcpkg/ports/qt5-base/cmake/qt_build_submodule.cmake
vendored
Executable file
@@ -0,0 +1,129 @@
|
||||
|
||||
function(qt_build_submodule SOURCE_PATH)
|
||||
# This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings
|
||||
set(ENV{_CL_} "/utf-8")
|
||||
|
||||
if(NOT PORT STREQUAL "qt5-webengine")
|
||||
vcpkg_find_acquire_program(PYTHON3)
|
||||
get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY)
|
||||
vcpkg_add_to_path("${PYTHON3_EXE_PATH}")
|
||||
endif()
|
||||
|
||||
vcpkg_configure_qmake(SOURCE_PATH ${SOURCE_PATH} ${ARGV})
|
||||
|
||||
vcpkg_build_qmake(SKIP_MAKEFILES)
|
||||
|
||||
#Fix the installation location within the makefiles
|
||||
qt_fix_makefile_install("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/")
|
||||
qt_fix_makefile_install("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/")
|
||||
|
||||
#Install the module files
|
||||
vcpkg_build_qmake(TARGETS install SKIP_MAKEFILES BUILD_LOGNAME install)
|
||||
|
||||
qt_fix_cmake(${CURRENT_PACKAGES_DIR} ${PORT})
|
||||
vcpkg_fixup_pkgconfig() # Needs further investigation if this is enough!
|
||||
|
||||
#Replace with VCPKG variables if PR #7733 is merged
|
||||
unset(BUILDTYPES)
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
set(_buildname "DEBUG")
|
||||
list(APPEND BUILDTYPES ${_buildname})
|
||||
set(_short_name_${_buildname} "dbg")
|
||||
set(_path_suffix_${_buildname} "/debug")
|
||||
endif()
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
|
||||
set(_buildname "RELEASE")
|
||||
list(APPEND BUILDTYPES ${_buildname})
|
||||
set(_short_name_${_buildname} "rel")
|
||||
set(_path_suffix_${_buildname} "")
|
||||
endif()
|
||||
unset(_buildname)
|
||||
|
||||
foreach(_buildname ${BUILDTYPES})
|
||||
set(CURRENT_BUILD_PACKAGE_DIR "${CURRENT_PACKAGES_DIR}${_path_suffix_${_buildname}}")
|
||||
#Fix PRL files
|
||||
file(GLOB_RECURSE PRL_FILES "${CURRENT_BUILD_PACKAGE_DIR}/lib/*.prl" "${CURRENT_PACKAGES_DIR}/tools/qt5${_path_suffix_${_buildname}}/lib/*.prl"
|
||||
"${CURRENT_PACKAGES_DIR}/tools/qt5${_path_suffix_${_buildname}}/mkspecs/*.pri")
|
||||
qt_fix_prl("${CURRENT_BUILD_PACKAGE_DIR}" "${PRL_FILES}")
|
||||
|
||||
# This makes it impossible to use the build tools in any meaningful way. qt5 assumes they are all in one folder!
|
||||
# So does the Qt VS Plugin which even assumes all of the in a bin folder
|
||||
#Move tools to the correct directory
|
||||
#if(EXISTS ${CURRENT_BUILD_PACKAGE_DIR}/tools/qt5)
|
||||
# file(RENAME ${CURRENT_BUILD_PACKAGE_DIR}/tools/qt5 ${CURRENT_PACKAGES_DIR}/tools/${PORT})
|
||||
#endif()
|
||||
|
||||
# Move executables in bin to tools
|
||||
# This is ok since those are not build tools.
|
||||
file(GLOB PACKAGE_EXE ${CURRENT_BUILD_PACKAGE_DIR}/bin/*.exe)
|
||||
if(PACKAGE_EXE)
|
||||
file(INSTALL ${PACKAGE_EXE} DESTINATION "${CURRENT_BUILD_PACKAGE_DIR}/tools/${PORT}")
|
||||
file(REMOVE ${PACKAGE_EXE})
|
||||
foreach(_exe ${PACKAGE_EXE})
|
||||
string(REPLACE ".exe" ".pdb" _prb_file ${_exe})
|
||||
if(EXISTS ${_prb_file})
|
||||
file(INSTALL ${_prb_file} DESTINATION "${CURRENT_BUILD_PACKAGE_DIR}/tools/${PORT}")
|
||||
file(REMOVE ${_prb_file})
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
#cleanup empty folders
|
||||
file(GLOB PACKAGE_LIBS "${CURRENT_BUILD_PACKAGE_DIR}/lib/*")
|
||||
if(NOT PACKAGE_LIBS)
|
||||
file(REMOVE_RECURSE "${CURRENT_BUILD_PACKAGE_DIR}/lib")
|
||||
endif()
|
||||
|
||||
file(GLOB PACKAGE_BINS "${CURRENT_BUILD_PACKAGE_DIR}/bin/*")
|
||||
if(NOT PACKAGE_BINS)
|
||||
file(REMOVE_RECURSE "${CURRENT_BUILD_PACKAGE_DIR}/bin")
|
||||
endif()
|
||||
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()
|
||||
|
||||
#This should be removed if somehow possible
|
||||
if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/qt5/debug/bin")
|
||||
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_debug.conf ${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/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}/debug/bin")
|
||||
if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
||||
file(GLOB_RECURSE DLL_DEPS_AVAIL "${CURRENT_INSTALLED_DIR}/tools/qt5/debug/bin/*.dll")
|
||||
string(REPLACE "${CURRENT_INSTALLED_DIR}/tools/qt5/debug/bin/" "" DLL_DEPS_AVAIL "${DLL_DEPS_AVAIL}")
|
||||
file(GLOB_RECURSE DLL_DEPS_NEEDED "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/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}/debug/bin/${dll_dep}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/qt5/debug/bin/${dll_subpath}")
|
||||
endforeach()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
endfunction()
|
||||
41
externals/vcpkg/ports/qt5-base/cmake/qt_download_submodule.cmake
vendored
Executable file
41
externals/vcpkg/ports/qt5-base/cmake/qt_download_submodule.cmake
vendored
Executable file
@@ -0,0 +1,41 @@
|
||||
function(qt_get_submodule_name OUT_NAME)
|
||||
string(REPLACE "5-" "" _tmp_name ${PORT})
|
||||
set(${OUT_NAME} ${_tmp_name} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
function(qt_download_submodule)
|
||||
cmake_parse_arguments(_csc "" "OUT_SOURCE_PATH" "PATCHES;BUILD_OPTIONS;BUILD_OPTIONS_RELEASE;BUILD_OPTIONS_DEBUG" ${ARGN})
|
||||
|
||||
if(NOT DEFINED _csc_OUT_SOURCE_PATH)
|
||||
message(FATAL_ERROR "qt_download_module requires parameter OUT_SOURCE_PATH to be set! Please correct the portfile!")
|
||||
endif()
|
||||
|
||||
vcpkg_buildpath_length_warning(37)
|
||||
qt_get_submodule_name(NAME)
|
||||
|
||||
set(FULL_VERSION "${QT_MAJOR_MINOR_VER}.${QT_PATCH_VER}")
|
||||
set(ARCHIVE_NAME "${NAME}-everywhere-opensource-src-${FULL_VERSION}.tar.xz")
|
||||
set(URLS "https://download.qt.io/official_releases/qt/${QT_MAJOR_MINOR_VER}/${FULL_VERSION}/submodules/${ARCHIVE_NAME}"
|
||||
"https://mirrors.ocf.berkeley.edu/qt/official_releases/qt/${QT_MAJOR_MINOR_VER}/${FULL_VERSION}/submodules/${ARCHIVE_NAME}"
|
||||
)
|
||||
vcpkg_download_distfile(ARCHIVE_FILE
|
||||
URLS ${URLS}
|
||||
FILENAME ${ARCHIVE_NAME}
|
||||
SHA512 ${QT_HASH_${PORT}}
|
||||
)
|
||||
|
||||
if(QT_UPDATE_VERSION)
|
||||
file(SHA512 "${ARCHIVE_FILE}" ARCHIVE_HASH)
|
||||
message(STATUS "${PORT} new hash is ${ARCHIVE_HASH}")
|
||||
file(APPEND "${VCPKG_ROOT_DIR}/ports/qt5-base/cmake/qt_new_hashes.cmake" "set(QT_HASH_${PORT} ${ARCHIVE_HASH})\n")
|
||||
else()
|
||||
vcpkg_extract_source_archive_ex(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
ARCHIVE "${ARCHIVE_FILE}"
|
||||
REF ${FULL_VERSION}
|
||||
PATCHES ${_csc_PATCHES}
|
||||
)
|
||||
endif()
|
||||
|
||||
set(${_csc_OUT_SOURCE_PATH} ${SOURCE_PATH} PARENT_SCOPE)
|
||||
endfunction()
|
||||
21
externals/vcpkg/ports/qt5-base/cmake/qt_fix_cmake.cmake
vendored
Executable file
21
externals/vcpkg/ports/qt5-base/cmake/qt_fix_cmake.cmake
vendored
Executable file
@@ -0,0 +1,21 @@
|
||||
function(qt_fix_cmake PACKAGE_DIR_TO_FIX PORT_TO_FIX)
|
||||
|
||||
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)
|
||||
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()
|
||||
endfunction()
|
||||
30
externals/vcpkg/ports/qt5-base/cmake/qt_fix_makefile_install.cmake
vendored
Executable file
30
externals/vcpkg/ports/qt5-base/cmake/qt_fix_makefile_install.cmake
vendored
Executable file
@@ -0,0 +1,30 @@
|
||||
#Could probably be a vcpkg_fix_makefile_install for other ports?
|
||||
function(qt_fix_makefile_install BUILD_DIR)
|
||||
#Fix the installation location
|
||||
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR)
|
||||
file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR)
|
||||
|
||||
if(WIN32)
|
||||
string(SUBSTRING "${NATIVE_INSTALLED_DIR}" 2 -1 INSTALLED_DIR_WITHOUT_DRIVE)
|
||||
string(SUBSTRING "${NATIVE_PACKAGES_DIR}" 2 -1 PACKAGES_DIR_WITHOUT_DRIVE)
|
||||
string(SUBSTRING "${NATIVE_INSTALLED_DIR}" 0 2 INSTALLED_DRIVE)
|
||||
string(SUBSTRING "${NATIVE_PACKAGES_DIR}" 0 2 PACKAGES_DRIVE)
|
||||
else()
|
||||
set(INSTALLED_DRIVE)
|
||||
set(PACKAGES_DRIVE)
|
||||
set(INSTALLED_DIR_WITHOUT_DRIVE ${NATIVE_INSTALLED_DIR})
|
||||
set(PACKAGES_DIR_WITHOUT_DRIVE ${NATIVE_PACKAGES_DIR})
|
||||
endif()
|
||||
|
||||
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR)
|
||||
file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR)
|
||||
|
||||
file(GLOB_RECURSE MAKEFILES "${BUILD_DIR}/*Makefile*")
|
||||
|
||||
foreach(MAKEFILE ${MAKEFILES})
|
||||
file(READ "${MAKEFILE}" _contents)
|
||||
#Set the correct install directory to packages
|
||||
string(REPLACE "${INSTALLED_DRIVE}$(INSTALL_ROOT)${INSTALLED_DIR_WITHOUT_DRIVE}" "${PACKAGES_DRIVE}$(INSTALL_ROOT)${PACKAGES_DIR_WITHOUT_DRIVE}" _contents "${_contents}")
|
||||
file(WRITE "${MAKEFILE}" "${_contents}")
|
||||
endforeach()
|
||||
endfunction()
|
||||
15
externals/vcpkg/ports/qt5-base/cmake/qt_fix_prl.cmake
vendored
Executable file
15
externals/vcpkg/ports/qt5-base/cmake/qt_fix_prl.cmake
vendored
Executable file
@@ -0,0 +1,15 @@
|
||||
function(qt_fix_prl PACKAGE_DIR PRL_FILES)
|
||||
file(TO_CMAKE_PATH "${PACKAGE_DIR}/lib" CMAKE_LIB_PATH)
|
||||
file(TO_CMAKE_PATH "${PACKAGE_DIR}/include/qt5" CMAKE_INCLUDE_PATH)
|
||||
file(TO_CMAKE_PATH "${PACKAGE_DIR}/include" CMAKE_INCLUDE_PATH2)
|
||||
file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}" CMAKE_INSTALLED_PREFIX)
|
||||
foreach(PRL_FILE IN LISTS PRL_FILES)
|
||||
file(READ "${PRL_FILE}" _contents)
|
||||
string(REPLACE "${CMAKE_LIB_PATH}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}")
|
||||
string(REPLACE "${CMAKE_INCLUDE_PATH}" "\$\$[QT_INSTALL_HEADERS]" _contents "${_contents}")
|
||||
string(REPLACE "${CMAKE_INCLUDE_PATH2}" "\$\$[QT_INSTALL_HEADERS]/../" _contents "${_contents}")
|
||||
string(REPLACE "${CMAKE_INSTALLED_PREFIX}" "\$\$[QT_INSTALL_PREFIX]" _contents "${_contents}")
|
||||
#Note: This only works without an extra if case since QT_INSTALL_PREFIX is the same for debug and release
|
||||
file(WRITE "${PRL_FILE}" "${_contents}")
|
||||
endforeach()
|
||||
endfunction()
|
||||
18
externals/vcpkg/ports/qt5-base/cmake/qt_install_copyright.cmake
vendored
Executable file
18
externals/vcpkg/ports/qt5-base/cmake/qt_install_copyright.cmake
vendored
Executable file
@@ -0,0 +1,18 @@
|
||||
#Could probably be the beginning of a vcpkg_install_copyright?
|
||||
function(qt_install_copyright SOURCE_PATH)
|
||||
#Find the relevant license file and install it
|
||||
if(EXISTS "${SOURCE_PATH}/LICENSE.LGPLv3")
|
||||
set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPLv3")
|
||||
elseif(EXISTS "${SOURCE_PATH}/LICENSE.LGPL3")
|
||||
set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPL3")
|
||||
elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPLv3")
|
||||
set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPLv3")
|
||||
elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3")
|
||||
set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3")
|
||||
elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3-EXCEPT")
|
||||
set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3-EXCEPT")
|
||||
elseif(EXISTS "${SOURCE_PATH}/LICENSE.FDL")
|
||||
set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.FDL")
|
||||
endif()
|
||||
file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
||||
endfunction()
|
||||
14
externals/vcpkg/ports/qt5-base/cmake/qt_port_functions.cmake
vendored
Executable file
14
externals/vcpkg/ports/qt5-base/cmake/qt_port_functions.cmake
vendored
Executable file
@@ -0,0 +1,14 @@
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
|
||||
|
||||
#Basic setup
|
||||
include(qt_port_hashes)
|
||||
#Fixup scripts
|
||||
include(qt_fix_makefile_install)
|
||||
include(qt_fix_cmake)
|
||||
include(qt_fix_prl)
|
||||
#Helper functions
|
||||
include(qt_download_submodule)
|
||||
include(qt_build_submodule)
|
||||
include(qt_install_copyright)
|
||||
|
||||
include(qt_submodule_installation)
|
||||
72
externals/vcpkg/ports/qt5-base/cmake/qt_port_hashes.cmake
vendored
Executable file
72
externals/vcpkg/ports/qt5-base/cmake/qt_port_hashes.cmake
vendored
Executable file
@@ -0,0 +1,72 @@
|
||||
# Every update requires an update of these hashes and the version within the control file of each of the 32 ports.
|
||||
# So it is probably better to have a central location for these hashes and let the ports update via a script
|
||||
set(QT_MAJOR_MINOR_VER 5.15)
|
||||
set(QT_PATCH_VER 4)
|
||||
set(QT_UPDATE_VERSION 0) # Switch to update qt and not build qt. Creates a file cmake/qt_new_hashes.cmake in qt5-base with the new hashes.
|
||||
|
||||
set(QT_PORT_LIST base 3d activeqt charts connectivity datavis3d declarative gamepad graphicaleffects imageformats location macextras mqtt multimedia networkauth
|
||||
purchasing quickcontrols quickcontrols2 remoteobjects script scxml sensors serialport speech svg tools virtualkeyboard webchannel websockets
|
||||
webview winextras xmlpatterns doc x11extras androidextras translations serialbus webengine webglplugin wayland)
|
||||
|
||||
set(QT_HASH_qt5-base 91a1d95c2891939ae55134e8897cbc423142bd8eda954a1e65bb563b0932ed9e2da34db374fd86858b4a819e8abe824a967b31f4fb316528ec8aaf15016c6ad3)
|
||||
set(QT_HASH_qt5-3d cb2ea961109a153e78147450310408f4f573186d12412ebdd71511eb273ca78113d3aede583ec8aa44fe19f5268bb6fab3386c5501142ad6a22e10890ce52f62)
|
||||
set(QT_HASH_qt5-activeqt 39ef01523583cbdea80143fae25afb1cfeb7131769430ab153a82edd6c5478383c558a06ea7053b8d99b8945a6422c4f38765ffb72cd87f0f34cc9ad78ebc603)
|
||||
set(QT_HASH_qt5-androidextras 527471c0dc9b51ffccdb6c8134b78be4f6d2039bc8dee22529a117457e8153aaf1b081e23704864cc6999ba3059876a85bd3a27b9bcc9fbfda618816c92b719b)
|
||||
set(QT_HASH_qt5-charts e7a4cac3b3a0c60c7ab509d5a533521dd8dc0cb5ad69d66a87f12671c73c1928d902e0be377efb77e0ddadefe1ef8800c0cf07e8213f44367bcd80a787342bcf)
|
||||
set(QT_HASH_qt5-connectivity 3f2c0a59ff6be9531f5ebc81a4344e0b12c8ef92fbfa466f2777d4ed3b4b08657214e93e0aada856a0c6475b6b760aeeb06f0b2be894e61cd7b344c49fefaf95)
|
||||
set(QT_HASH_qt5-datavis3d 044cdee342ef4d9beb62b910cee59f9cb362c85d517e19a1c0327dfa2b518b2fa484e36756ee9302fb043cc506340b501202861a858d374a5f69cbcddec18301)
|
||||
set(QT_HASH_qt5-declarative 8a4ff61238fde7cc563f9d94b5d1f4fd71ecb95ace447e57d08f71da82400b37c42f4f1ecdcd561116bffa1ed483219e06fb550f91c90842e5a43487bc4706b6)
|
||||
set(QT_HASH_qt5-doc 2552501dfbc5ad8e42f211a621340902fa85634bc8a2a62ce457029d6f7cbd534a29a671c33aa1d034198a1491fd6d257db7177b0ca5e1ef57b84272a392cf06)
|
||||
set(QT_HASH_qt5-gamepad 37eaad5338b6c5114571c6983fb806ff6537ba7d3dc4bf8d02899e693198a22ce17b0b3ddf2aa52447fcebb0ef97a3baa8e1bc3a7e3f265ad047509f53160ee9)
|
||||
set(QT_HASH_qt5-graphicaleffects 00cf02057dfc1624c84079e1a08a65ceb6fb7df712f05ac9cb0006de0add9241e56a8e3909eeb04d1f6a90d5032909a41d59341e002750ab99d2449f635e64e3)
|
||||
set(QT_HASH_qt5-imageformats 388a9ceebdca6d32f606615af37233f2d8394856d067c9a80486b88ad5714eac90263cd6555a3efd9c1b5fdcc27431b7f99eed6fc02760b1a9974515bfe70274)
|
||||
set(QT_HASH_qt5-location 6208052d6ac173d19dc77496d8108558e7f31696dc5792fcbbeef2029539db76a60c5a51a7d198f54ea6c0ec23977a57cd8c8f8fa80fe5eac9528d2510c3dbb3)
|
||||
set(QT_HASH_qt5-macextras 93985001db49985c69360dc58f6260ce2e26f861696c2f5989be9da3e239292fa5b954e0d036869a2e3d6fb046053e39ae113e4307ec762d8db1aa17af1998f5)
|
||||
set(QT_HASH_qt5-mqtt 7a81d0bec0c59cb5574e96a2f9b33c0eea04789731909247544d14c87a0fa854214b8bfd35ee69831747e9487b616b75bbc9dfd9e78f33acd6b7a69dfaacdd75)
|
||||
set(QT_HASH_qt5-multimedia bb0ada7560093b89751b5b3c0e1a573de215a388d621d356bc3c0e1acfffc2d696230c67b7a7cef037b18c4da900c7eb3d315bd2e73ce12f9aedd0e340399117)
|
||||
set(QT_HASH_qt5-networkauth a36ce21151cb98bcbc99a819e873ef10f68d988aebfbae9aaaa7dc85bd4a693ad7510c47627f0f3841c5ef50173b21cdebe6a602fa429839fd9ad9bcc02d6c3c)
|
||||
set(QT_HASH_qt5-purchasing 6455cff7b3dd2bbf5fc85ba9067b86bb042723b73d0b8984ab43ffdf444e50b5a68bb992ec82b133ac0e0cc3e18ca784cff8357e1e61ffe9fbbef1ff0f21a55f)
|
||||
set(QT_HASH_qt5-quickcontrols 887a8f5fdcd3764575f9068ec8428526a049bb09ae0c214daef3652527d5e448baa53738dccf316b20ccf18f36951ecebd570aee3a27f9c32b9213ef7629de10)
|
||||
set(QT_HASH_qt5-quickcontrols2 4ebbb0199db156307140406b6da4fa83c47aee2105e8c46c0da96313ddc4d6d7ea2f1f85691856144eb8c5109c108bb6810ba0693a2d2411b4feaeed1ec9a8f4)
|
||||
set(QT_HASH_qt5-remoteobjects 6702f9419d5198572e37f0ee6883c2af38f4a249036365d9e084cd4acb30478f6935835493330b101482e998153d4e4f515004e0ffd428b64a86bba17eb203d6)
|
||||
set(QT_HASH_qt5-script 01d3b03eec23f462a7931e268eb8572d85ed560dd8b24f85b420ff8ebb1932d4c18f47c8d5fad7b7c09c147158b02b6cceb9c571b10249ba4008b363e23d7f95)
|
||||
set(QT_HASH_qt5-scxml 2664e4e707fd10aa2ef832fdfc133695da3f6f80c2a611dc94b4e22b34c3226d5baa1e5afc77db2115317c654460ebb60896c006aa93b324fe67d6860ae9b431)
|
||||
set(QT_HASH_qt5-sensors b8b9ffedfdcd392bd5c1ab76db3f621d16094f444e14900726378a289c04c08a75b82628cb61f4ca66bba8c1eeba2a56d9f90d9a82adfdc90fc00ac1b579c63e)
|
||||
set(QT_HASH_qt5-serialbus 931362b171799fd8e449d418c3ae80c029c39edffc66b5c3fa054991332950241803d282e1ae1e5f72c8395f88f9d82d6a2d04f00b3907b5e9f7fb5be4f555e7)
|
||||
set(QT_HASH_qt5-serialport d8bc3d0b89bb4fc05bfe27a4c76bc3732ef5f8ba889400c8116f18c2ed58db7a3b99c4bda1cd60d1e8051121d31a4b55b95d20e89578a6e523d527e6182262ba)
|
||||
set(QT_HASH_qt5-speech 6582fe36950aee8428c72582ff2eda2dae433ad969c323e0c6e8be611be7d81766ceb1cae85a10dcd4d266e33a0cf782fe857e1502d7f3863e0dfb2306af2aed)
|
||||
set(QT_HASH_qt5-svg 364400e17cdc659ff1a521f7bd171c5dfe537136f263cd5f64c6b5e27b0398d83ae0b5fe46e77847f3a2feccf0ea75f9591ff4b932d0250e5859272630b5a31c)
|
||||
set(QT_HASH_qt5-tools 26edf546a1ec7195f1ff5a9e40e430fdd0c7ebb7d86e44ed22b093426c23ff25b2c972fa520abd1064369d32609019746c2fe972a3f593c6f7539d339642f06e)
|
||||
set(QT_HASH_qt5-translations 56b20c0174cb68c3e4def85ec6c113576bc8872d1cdac318bc3d9a121645f67ce68e9bd3a73e32fd53617fcef641fb95831b37c40f1250c1c05e109e55b41ee2)
|
||||
set(QT_HASH_qt5-virtualkeyboard 870279299a5e166badea0746a2d4badc758c66f8404e36d1df05997dcfeb66733154fc2a9830c433fbacf885b7afb44bc8dc8a5aacc02713966630ce98231ba3)
|
||||
set(QT_HASH_qt5-wayland 58ae262f7aa0455fb577a36fe9413a969398a2043160642501bac064d6fbc3280f76aa566e62b9d73c67a8c3606849b1b97bcb9b0250d26c269ec921112f40e4)
|
||||
set(QT_HASH_qt5-webchannel 18d5e6f44b780c7dfc94e1620ba76d7b0731d671df537b2e29fef062a0775e8dc973deb6c949b37000f5e8a49bdd31a723aa069bafcb9ecdc3259d0bf97e5a26)
|
||||
set(QT_HASH_qt5-webengine 935c5a21ec2529d8cc3dbaf906e1f68f6e0879da212719d2da9fc1c97efd572563e8d12a6742a0a995efa5014ce5378235833eafb8d463ebe4060b60a590c476)
|
||||
set(QT_HASH_qt5-webglplugin e637abc9388f6c9c6641a38c7f33cef781320616be7d181d7fc63aa6f3ed6d378ec3cef91c8feebda52ff669bb3eb2df771bc2a2e447d482ce940abe4c1edce9)
|
||||
set(QT_HASH_qt5-websockets 01714b9927c3a234fac9386a596aa3dc3833d9cfe8cc152892fec969e51b428bed00f501c16b8e4f810452739ff8491e5c64f9b936aa10e1a839c09c8f2832ce)
|
||||
set(QT_HASH_qt5-webview fb5177f0e8f79490598120f01b6cdd78ce5cbac8f313c0e088ded7b4daada290d2c058ecd6eebdba76fd15efd2e198bc03cbaf544fba664d49efb55709703be6)
|
||||
set(QT_HASH_qt5-winextras cac1b2b2194f3c21cba73e0c49384957a40e3297965b3fcf625eba0d069e3955202cae5e545a6186a9fad51df18afddd27fe55535265d2acf15fe2ba9e71a1d5)
|
||||
set(QT_HASH_qt5-x11extras 79c718eff9daba9ff3f361d38f828f8f3c447b87486d652d4ed1f964ec686259ae4d0a1a50b7b6b9349453ba3f8b56b3c20c8a5f26971d5cc3c8f99d668744d6)
|
||||
set(QT_HASH_qt5-xmlpatterns fc4b4723407f6a1e765933d9d76ec4ffe874cb4a70e47bc4110def2c4a491b86fa753c33ef31ef95ad1a6eaa3de1fadbc49deb7783d32d8fc2f51672670d5a87)
|
||||
|
||||
if(QT_UPDATE_VERSION)
|
||||
message(STATUS "Running Qt in automatic version port update mode!")
|
||||
set(_VCPKG_INTERNAL_NO_HASH_CHECK 1)
|
||||
if("${PORT}" MATCHES "qt5-base")
|
||||
function(update_qt_version_in_manifest _port_name)
|
||||
set(_current_control "${VCPKG_ROOT_DIR}/ports/${_port_name}/vcpkg.json")
|
||||
file(READ ${_current_control} _control_contents)
|
||||
#message(STATUS "Before: \n${_control_contents}")
|
||||
string(REGEX REPLACE "\"version.*\": \"[0-9]+\.[0-9]+\.[0-9]+\",\n" "\"version\": \"${QT_MAJOR_MINOR_VER}.${QT_PATCH_VER}\",\n" _control_contents "${_control_contents}")
|
||||
string(REGEX REPLACE "\n \"port-version\": [0-9]+," "" _control_contents "${_control_contents}")
|
||||
#message(STATUS "After: \n${_control_contents}")
|
||||
file(WRITE ${_current_control} "${_control_contents}")
|
||||
configure_file("${_current_control}" "${_current_control}" @ONLY NEWLINE_STYLE LF)
|
||||
endfunction()
|
||||
|
||||
update_qt_version_in_manifest("qt5")
|
||||
foreach(_current_qt_port_basename ${QT_PORT_LIST})
|
||||
update_qt_version_in_manifest("qt5-${_current_qt_port_basename}")
|
||||
endforeach()
|
||||
endif()
|
||||
endif()
|
||||
15
externals/vcpkg/ports/qt5-base/cmake/qt_submodule_installation.cmake
vendored
Executable file
15
externals/vcpkg/ports/qt5-base/cmake/qt_submodule_installation.cmake
vendored
Executable file
@@ -0,0 +1,15 @@
|
||||
|
||||
|
||||
function(qt_submodule_installation)
|
||||
cmake_parse_arguments(_csc "" "OUT_SOURCE_PATH" "" ${ARGN})
|
||||
qt_download_submodule(OUT_SOURCE_PATH TARGET_SOURCE_PATH ${_csc_UNPARSED_ARGUMENTS})
|
||||
if(QT_UPDATE_VERSION)
|
||||
SET(VCPKG_POLICY_EMPTY_PACKAGE enabled PARENT_SCOPE)
|
||||
else()
|
||||
qt_build_submodule(${TARGET_SOURCE_PATH} ${_csc_UNPARSED_ARGUMENTS})
|
||||
qt_install_copyright(${TARGET_SOURCE_PATH})
|
||||
endif()
|
||||
if(DEFINED _csc_OUT_SOURCE_PATH)
|
||||
set(${_csc_OUT_SOURCE_PATH} ${TARGET_SOURCE_PATH} PARENT_SCOPE)
|
||||
endif()
|
||||
endfunction()
|
||||
194
externals/vcpkg/ports/qt5-base/patches/Qt5BasicConfig.patch
vendored
Executable file
194
externals/vcpkg/ports/qt5-base/patches/Qt5BasicConfig.patch
vendored
Executable file
@@ -0,0 +1,194 @@
|
||||
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,8 +53,12 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura
|
||||
set(_lib_deps)
|
||||
set(_link_flags)
|
||||
|
||||
-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
|
||||
- set(_qt5_install_libs \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}\")
|
||||
+!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
|
||||
+ if(\"${Configuration}\" STREQUAL \"DEBUG\")
|
||||
+ set(_qt5_install_libs \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/debug/$${CMAKE_LIB_DIR}\")
|
||||
+ else()
|
||||
+ set(_qt5_install_libs \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}\")
|
||||
+ endif()
|
||||
!!ELSE
|
||||
set(_qt5_install_libs \"$${CMAKE_LIB_DIR}\")
|
||||
!!ENDIF
|
||||
@@ -125,6 +129,8 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura
|
||||
elseif(EXISTS \"${_flag}\")
|
||||
# The flag is an absolute path to an existing library
|
||||
list(APPEND _lib_deps \"${_flag}\")
|
||||
+ elseif(_flag MATCHES \"\\\\.lib$\") #Library name only. No -l. Probably missing some cases
|
||||
+ list(APPEND _lib_deps \"${_flag}\")
|
||||
elseif(_flag MATCHES \"^-L(.*)$\")
|
||||
# Handle -Lfoo flags by putting their paths in the search path used by find_library above
|
||||
list(APPEND _search_paths \"${CMAKE_MATCH_1}\")
|
||||
@@ -147,7 +153,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\") # 1
|
||||
+ 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
|
||||
@@ -174,21 +184,22 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
|
||||
)
|
||||
|
||||
!!IF !isEmpty(CMAKE_STATIC_TYPE)
|
||||
- if(NOT "${IsDebugAndRelease}")
|
||||
- set(_genex_condition \"1\")
|
||||
+ #if(NOT "${IsDebugAndRelease}")
|
||||
+ # set(_genex_condition \"1\")
|
||||
+ #else()
|
||||
+ if("${Configuration}" STREQUAL "DEBUG")
|
||||
+ set(_genex_condition \"$<CONFIG:Debug>\")
|
||||
else()
|
||||
- if("${Configuration}" STREQUAL "DEBUG")
|
||||
- set(_genex_condition \"$<CONFIG:Debug>\")
|
||||
- else()
|
||||
- set(_genex_condition \"$<NOT:$<CONFIG:Debug>>\")
|
||||
- endif()
|
||||
+ set(_genex_condition \"$<NOT:$<CONFIG:Debug>>\")
|
||||
endif()
|
||||
+ #endif()
|
||||
|
||||
if(_static_deps)
|
||||
set(_static_deps_genex \"$<${_genex_condition}:${_static_deps}>\")
|
||||
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
||||
\"${_static_deps_genex}\"
|
||||
)
|
||||
+ #message(STATUS \"Target Qt5::$${CMAKE_MODULE_NAME} static links: ${_static_dep} through ${_static_dep_genex}\") # Added for debugging
|
||||
endif()
|
||||
|
||||
set(_static_link_flags \"${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${Configuration}_LINK_FLAGS}\")
|
||||
@@ -205,13 +216,18 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
|
||||
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
||||
\"${_static_link_flags_genex}\"
|
||||
)
|
||||
+ #message(STATUS \"Target Qt5::$${CMAKE_MODULE_NAME} static link flags: ${_static_link_flags} through ${_static_link_flags_genex}\")
|
||||
endif()
|
||||
endif()
|
||||
!!ENDIF
|
||||
|
||||
!!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
|
||||
@@ -373,13 +389,14 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
|
||||
|
||||
!!IF !isEmpty(CMAKE_STATIC_TYPE)
|
||||
if(NOT Qt5_EXCLUDE_STATIC_DEPENDENCIES)
|
||||
-!!IF !isEmpty(CMAKE_DEBUG_TYPE)
|
||||
!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
|
||||
+ if(EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/debug/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\")
|
||||
_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
|
||||
- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG
|
||||
+ \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/debug/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG
|
||||
_Qt5$${CMAKE_MODULE_NAME}_STATIC_DEBUG_LIB_DEPENDENCIES
|
||||
_Qt5$${CMAKE_MODULE_NAME}_STATIC_DEBUG_LINK_FLAGS
|
||||
)
|
||||
+ endif()
|
||||
!!ELSE
|
||||
_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
|
||||
\"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG
|
||||
@@ -387,22 +404,21 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
|
||||
_Qt5$${CMAKE_MODULE_NAME}_STATIC_DEBUG_LINK_FLAGS
|
||||
)
|
||||
!!ENDIF
|
||||
-!!ENDIF
|
||||
|
||||
-!!IF !isEmpty(CMAKE_RELEASE_TYPE)
|
||||
!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
|
||||
+ if(EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\")
|
||||
_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
|
||||
\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE
|
||||
_Qt5$${CMAKE_MODULE_NAME}_STATIC_RELEASE_LIB_DEPENDENCIES
|
||||
_Qt5$${CMAKE_MODULE_NAME}_STATIC_RELEASE_LINK_FLAGS
|
||||
)
|
||||
+ endif()
|
||||
!!ELSE
|
||||
_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
|
||||
\"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE
|
||||
_Qt5$${CMAKE_MODULE_NAME}_STATIC_RELEASE_LIB_DEPENDENCIES
|
||||
_Qt5$${CMAKE_MODULE_NAME}_STATIC_RELEASE_LINK_FLAGS
|
||||
)
|
||||
-!!ENDIF
|
||||
!!ENDIF
|
||||
endif()
|
||||
|
||||
@@ -466,7 +482,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
|
||||
!!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}\" )
|
||||
!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
|
||||
@@ -474,13 +490,13 @@ 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
|
||||
@@ -543,7 +559,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
|
||||
set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
|
||||
|
||||
!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
|
||||
- set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
|
||||
+ 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
|
||||
@@ -557,15 +577,15 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
|
||||
${_Qt5${Plugin}_STATIC_${Configuration}_LIB_DEPENDENCIES}
|
||||
)
|
||||
|
||||
- if(NOT "${IsDebugAndRelease}")
|
||||
- set(_genex_condition \"1\")
|
||||
+ #if(NOT "${IsDebugAndRelease}")
|
||||
+ # set(_genex_condition \"1\")
|
||||
+ #else()
|
||||
+ if("${Configuration}" STREQUAL "DEBUG")
|
||||
+ set(_genex_condition \"$<CONFIG:Debug>\")
|
||||
else()
|
||||
- if("${Configuration}" STREQUAL "DEBUG")
|
||||
- set(_genex_condition \"$<CONFIG:Debug>\")
|
||||
- else()
|
||||
- set(_genex_condition \"$<NOT:$<CONFIG:Debug>>\")
|
||||
- endif()
|
||||
+ set(_genex_condition \"$<NOT:$<CONFIG:Debug>>\")
|
||||
endif()
|
||||
+ #endif()
|
||||
if(_static_deps)
|
||||
set(_static_deps_genex \"$<${_genex_condition}:${_static_deps}>\")
|
||||
set_property(TARGET Qt5::${Plugin} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
||||
13
externals/vcpkg/ports/qt5-base/patches/Qt5GuiConfigExtras.patch
vendored
Executable file
13
externals/vcpkg/ports/qt5-base/patches/Qt5GuiConfigExtras.patch
vendored
Executable file
@@ -0,0 +1,13 @@
|
||||
diff --git a/src/gui/Qt5GuiConfigExtras.cmake.in b/src/gui/Qt5GuiConfigExtras.cmake.in
|
||||
index 84dbbfebd..accb86e3f 100644
|
||||
--- a/src/gui/Qt5GuiConfigExtras.cmake.in
|
||||
+++ b/src/gui/Qt5GuiConfigExtras.cmake.in
|
||||
@@ -148,6 +153,8 @@ macro(_qt5gui_find_extra_libs Name Libs LibDir IncDirs)
|
||||
!!ENDIF
|
||||
unset(Qt5Gui_${_cmake_lib_name}_LIBRARY CACHE)
|
||||
|
||||
+ find_library(Qt5Gui_${_cmake_lib_name}_LIBRARY_DEBUG ${_lib}d ${_lib} NAMES_PER_DIR
|
||||
+ PATHS \"${_qt5Gui_install_prefix}/debug/lib\" NO_DEFAULT_PATH)
|
||||
find_library(Qt5Gui_${_cmake_lib_name}_LIBRARY_DEBUG ${_lib}d
|
||||
PATHS \"${LibDir}\"
|
||||
!!IF !mac
|
||||
74
externals/vcpkg/ports/qt5-base/patches/Qt5PluginTarget.patch
vendored
Executable file
74
externals/vcpkg/ports/qt5-base/patches/Qt5PluginTarget.patch
vendored
Executable file
@@ -0,0 +1,74 @@
|
||||
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
|
||||
@@ -15,13 +15,14 @@ foreach(_module_dep ${_Qt5$${CMAKE_PLUGIN_NAME}_MODULE_DEPENDENCIES})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
-!!IF !isEmpty(CMAKE_RELEASE_TYPE)
|
||||
!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
|
||||
-_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
|
||||
- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE
|
||||
- _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_RELEASE_LIB_DEPENDENCIES
|
||||
- _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_RELEASE_LINK_FLAGS
|
||||
-)
|
||||
+if(EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\")
|
||||
+ _qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
|
||||
+ \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE
|
||||
+ _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_RELEASE_LIB_DEPENDENCIES
|
||||
+ _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_RELEASE_LINK_FLAGS
|
||||
+ )
|
||||
+endif()
|
||||
!!ELSE
|
||||
_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
|
||||
\"$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE
|
||||
@@ -29,15 +30,15 @@ _qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
|
||||
_Qt5$${CMAKE_PLUGIN_NAME}_STATIC_RELEASE_LINK_FLAGS
|
||||
)
|
||||
!!ENDIF
|
||||
-!!ENDIF
|
||||
|
||||
-!!IF !isEmpty(CMAKE_DEBUG_TYPE)
|
||||
!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
|
||||
-_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
|
||||
- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG
|
||||
- _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_DEBUG_LIB_DEPENDENCIES
|
||||
- _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_DEBUG_LINK_FLAGS
|
||||
-)
|
||||
+if(EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/debug/$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\")
|
||||
+ _qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
|
||||
+ \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/debug/$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG
|
||||
+ _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_DEBUG_LIB_DEPENDENCIES
|
||||
+ _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_DEBUG_LINK_FLAGS
|
||||
+ )
|
||||
+endif()
|
||||
!!ELSE
|
||||
_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
|
||||
\"$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG
|
||||
@@ -45,19 +46,18 @@ _qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
|
||||
_Qt5$${CMAKE_PLUGIN_NAME}_STATIC_DEBUG_LINK_FLAGS
|
||||
)
|
||||
!!ENDIF
|
||||
-!!ENDIF
|
||||
|
||||
set_property(TARGET Qt5::$$CMAKE_PLUGIN_NAME PROPERTY INTERFACE_SOURCES
|
||||
\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_$${CMAKE_PLUGIN_NAME}_Import.cpp\"
|
||||
)
|
||||
!!ENDIF
|
||||
|
||||
-!!IF !isEmpty(CMAKE_RELEASE_TYPE)
|
||||
-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
|
||||
-!!ENDIF
|
||||
-!!IF !isEmpty(CMAKE_DEBUG_TYPE)
|
||||
-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\" $${CMAKE_DEBUG_AND_RELEASE})
|
||||
-!!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}\" $${CMAKE_DEBUG_AND_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}\" $${CMAKE_DEBUG_AND_RELEASE})
|
||||
+endif()
|
||||
|
||||
list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
|
||||
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY QT_ALL_PLUGINS_$${CMAKE_PLUGIN_TYPE_ESCAPED} Qt5::$${CMAKE_PLUGIN_NAME})
|
||||
12
externals/vcpkg/ports/qt5-base/patches/cocoa.patch
vendored
Executable file
12
externals/vcpkg/ports/qt5-base/patches/cocoa.patch
vendored
Executable file
@@ -0,0 +1,12 @@
|
||||
diff --git a/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h b/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h
|
||||
index e070ba97..07c75b04 100644
|
||||
--- a/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h
|
||||
+++ b/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h
|
||||
@@ -40,6 +40,7 @@
|
||||
#ifndef QIOSURFACEGRAPHICSBUFFER_H
|
||||
#define QIOSURFACEGRAPHICSBUFFER_H
|
||||
|
||||
+#include <CoreGraphics/CGColorSpace.h>
|
||||
#include <qpa/qplatformgraphicsbuffer.h>
|
||||
#include <private/qcore_mac_p.h>
|
||||
|
||||
41
externals/vcpkg/ports/qt5-base/patches/create_cmake.patch
vendored
Executable file
41
externals/vcpkg/ports/qt5-base/patches/create_cmake.patch
vendored
Executable file
@@ -0,0 +1,41 @@
|
||||
diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
|
||||
index 4aa5dad46..cee6d2882 100644
|
||||
--- a/mkspecs/features/create_cmake.prf
|
||||
+++ b/mkspecs/features/create_cmake.prf
|
||||
@@ -212,10 +212,10 @@ contains(CONFIG, plugin) {
|
||||
CMAKE_PLUGIN_TYPE_ESCAPED = $$replace(PLUGIN_TYPE, [-/], _)
|
||||
|
||||
win32 {
|
||||
- !mingw|qtConfig(debug_and_release): debug_suffix="d"
|
||||
+ debug_suffix="d"
|
||||
|
||||
CMAKE_PRL_FILE_LOCATION_RELEASE = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}.prl
|
||||
CMAKE_PRL_FILE_LOCATION_DEBUG = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}$${debug_suffix}.prl
|
||||
|
||||
isEmpty(CMAKE_STATIC_TYPE) {
|
||||
CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}.dll
|
||||
@@ -295,6 +295,7 @@ CMAKE_INTERFACE_QT5_MODULE_DEPS = $$join(aux_lib_deps, ";")
|
||||
equals(TEMPLATE, aux): CMAKE_FEATURE_PROPERTY_PREFIX = "INTERFACE_"
|
||||
|
||||
mac {
|
||||
+ CMAKE_FIND_OTHER_LIBRARY_BUILD = "true"
|
||||
!isEmpty(CMAKE_STATIC_TYPE) {
|
||||
CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}_debug.a
|
||||
CMAKE_LIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
|
||||
@@ -315,7 +316,7 @@ mac {
|
||||
CMAKE_WINDOWS_BUILD = "true"
|
||||
CMAKE_FIND_OTHER_LIBRARY_BUILD = "true"
|
||||
|
||||
- !mingw|qtConfig(debug_and_release): debug_suffix="d"
|
||||
+ debug_suffix="d"
|
||||
|
||||
CMAKE_LIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}$${debug_suffix}.dll
|
||||
CMAKE_LIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.dll
|
||||
@@ -342,6 +342,7 @@ mac {
|
||||
CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib
|
||||
}
|
||||
} else {
|
||||
+ CMAKE_FIND_OTHER_LIBRARY_BUILD = "true"
|
||||
!isEmpty(CMAKE_STATIC_TYPE) {
|
||||
CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}.a
|
||||
CMAKE_LIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
|
||||
16
externals/vcpkg/ports/qt5-base/patches/egl.patch
vendored
Executable file
16
externals/vcpkg/ports/qt5-base/patches/egl.patch
vendored
Executable file
@@ -0,0 +1,16 @@
|
||||
diff --git a/src/gui/configure.json b/src/gui/configure.json
|
||||
index 5fceb1150..7702cb261 100644
|
||||
--- a/src/gui/configure.json
|
||||
+++ b/src/gui/configure.json
|
||||
@@ -220,7 +220,10 @@
|
||||
"headers": "EGL/egl.h",
|
||||
"sources": [
|
||||
{ "type": "pkgConfig", "args": "egl" },
|
||||
- { "type": "makeSpec", "spec": "EGL" }
|
||||
+ { "type": "makeSpec", "spec": "EGL" },
|
||||
+ { "libs": "-lEGL -lGLESv2 -lGL -lANGLE -lGL -lX11 -ldl -lm -lpthread" },
|
||||
+ { "libs": "-DGL_GLES_PROTOTYPES=1 -DGL_GLEXT_PROTOTYPES -DEGL_EGL_PROTOTYPES=1 -DEGL_EGLEXT_PROTOTYPES -lEGL -lGLESv2 -lGL -lANGLE -lGL -lX11 -ldl -lm -lpthread" },
|
||||
+ { "libs": "-DANGLE_EXPORT -DANGLE_UTIL_EXPORT -DGL_API -DGL_APICALL -DEGLAPI -DGL_GLES_PROTOTYPES=1 -DGL_GLEXT_PROTOTYPES -DEGL_EGL_PROTOTYPES=1 -DEGL_EGLEXT_PROTOTYPES -lEGL -lGLESv2 -lGL -lANGLE -lGL -lX11 -ldl -lm -lpthread" }
|
||||
]
|
||||
},
|
||||
"freetype": {
|
||||
29
externals/vcpkg/ports/qt5-base/patches/gui_configure.patch
vendored
Executable file
29
externals/vcpkg/ports/qt5-base/patches/gui_configure.patch
vendored
Executable file
@@ -0,0 +1,29 @@
|
||||
diff --git a/src/gui/configure.json b/src/gui/configure.json
|
||||
index c51e3ceee..7f7e206b6 100644
|
||||
--- a/src/gui/configure.json
|
||||
+++ b/src/gui/configure.json
|
||||
@@ -239,9 +239,9 @@
|
||||
"headers": "ft2build.h",
|
||||
"sources": [
|
||||
{ "type": "pkgConfig", "args": "freetype2" },
|
||||
- { "type": "freetype", "libs": "-lfreetype", "condition": "!config.wasm" },
|
||||
+ { "type": "freetype", "libs": "-lbreakfreetypeautofind", "condition": "!config.wasm" },
|
||||
{ "libs": "-s USE_FREETYPE=1", "condition": "config.wasm" },
|
||||
- { "libs": "-lfreetype" }
|
||||
+ { "libs": "-lbreakfreetypeautofind" }
|
||||
],
|
||||
"use": [
|
||||
{ "lib": "zlib", "condition": "features.system-zlib" }
|
||||
@@ -262,7 +262,10 @@
|
||||
"headers": "fontconfig/fontconfig.h",
|
||||
"sources": [
|
||||
- { "type": "pkgConfig", "args": "fontconfig" },
|
||||
+ { "type": "pkgConfig", "args": "breakfontconfig" },
|
||||
- { "type": "freetype", "libs": "-lfontconfig" }
|
||||
+ { "type": "freetype", "libs": "-lbreakautofind" },
|
||||
+ { "libs": "-lfontconfig -lexpat" },
|
||||
+ { "libs": "-llibfontconfig -llibexpat" },
|
||||
+ "-lfontconfig"
|
||||
],
|
||||
"use": "freetype"
|
||||
},
|
||||
24
externals/vcpkg/ports/qt5-base/patches/icu.patch
vendored
Executable file
24
externals/vcpkg/ports/qt5-base/patches/icu.patch
vendored
Executable file
@@ -0,0 +1,24 @@
|
||||
diff --git a/src/corelib/configure.json b/src/corelib/configure.json
|
||||
index de8d26a12..068b80c51 100644
|
||||
--- a/src/corelib/configure.json
|
||||
+++ b/src/corelib/configure.json
|
||||
@@ -106,13 +106,17 @@
|
||||
"headers": [ "unicode/utypes.h", "unicode/ucol.h", "unicode/ustring.h" ],
|
||||
"sources": [
|
||||
{
|
||||
+ "libs": "",
|
||||
"builds": {
|
||||
- "debug": "-lsicuind -lsicuucd -lsicudtd",
|
||||
- "release": "-lsicuin -lsicuuc -lsicudt"
|
||||
+ "debug": "-licuind -licuucd -licudtd",
|
||||
+ "release": "-licuin -licuuc -licudt"
|
||||
},
|
||||
"condition": "config.win32 && !features.shared"
|
||||
},
|
||||
+ { "libs": "-licuind -licuucd -licudtd", "condition": "config.win32 && !features.shared"},
|
||||
+ { "libs": "-licuin -licuuc -licudt", "condition": "config.win32 && !features.shared"},
|
||||
{ "libs": "-licuin -licuuc -licudt", "condition": "config.win32 && features.shared" },
|
||||
+ { "libs": "-licuind -licuucd -licudtd", "condition": "config.win32 && features.shared" },
|
||||
{ "libs": "-licui18n -licuuc -licudata", "condition": "!config.win32" }
|
||||
],
|
||||
"use": [
|
||||
13
externals/vcpkg/ports/qt5-base/patches/limits_include.patch
vendored
Executable file
13
externals/vcpkg/ports/qt5-base/patches/limits_include.patch
vendored
Executable file
@@ -0,0 +1,13 @@
|
||||
diff --git a/src/corelib/text/qbytearraymatcher.h b/src/corelib/text/qbytearraymatcher.h
|
||||
index 0eedfc1d20..f5f9bef7b8 100644
|
||||
--- a/src/corelib/text/qbytearraymatcher.h
|
||||
+++ b/src/corelib/text/qbytearraymatcher.h
|
||||
@@ -42,6 +42,8 @@
|
||||
|
||||
#include <QtCore/qbytearray.h>
|
||||
|
||||
+#include <limits>
|
||||
+
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
|
||||
11
externals/vcpkg/ports/qt5-base/patches/mysql-configure.patch
vendored
Executable file
11
externals/vcpkg/ports/qt5-base/patches/mysql-configure.patch
vendored
Executable file
@@ -0,0 +1,11 @@
|
||||
--- a/src/plugins/sqldrivers/configure.json
|
||||
+++ b/src/plugins/sqldrivers/configure.json
|
||||
@@ -65,7 +65,7 @@
|
||||
],
|
||||
"main": "mysql_get_client_version();"
|
||||
},
|
||||
- "headers": "mysql.h",
|
||||
+ "headers": "mysql/mysql.h",
|
||||
"sources": [
|
||||
{ "type": "mysqlConfig", "query": "--libs_r", "cleanlibs": true },
|
||||
{ "type": "mysqlConfig", "query": "--libs", "cleanlibs": true },
|
||||
11
externals/vcpkg/ports/qt5-base/patches/mysql_plugin_include.patch
vendored
Executable file
11
externals/vcpkg/ports/qt5-base/patches/mysql_plugin_include.patch
vendored
Executable file
@@ -0,0 +1,11 @@
|
||||
--- a/src/plugins/sqldrivers/mysql/qsql_mysql_p.h
|
||||
+++ b/src/plugins/sqldrivers/mysql/qsql_mysql_p.h
|
||||
@@ -57,7 +57,7 @@
|
||||
#include <QtCore/qt_windows.h>
|
||||
#endif
|
||||
|
||||
-#include <mysql.h>
|
||||
+#include <mysql/mysql.h>
|
||||
|
||||
#ifdef QT_PLUGIN
|
||||
#define Q_EXPORT_SQLDRIVER_MYSQL
|
||||
17
externals/vcpkg/ports/qt5-base/patches/qt_app.patch
vendored
Executable file
17
externals/vcpkg/ports/qt5-base/patches/qt_app.patch
vendored
Executable file
@@ -0,0 +1,17 @@
|
||||
diff --git a/mkspecs/features/qt_app.prf b/mkspecs/features/qt_app.prf
|
||||
index 8354f30e..8f24b72e 100644
|
||||
--- a/mkspecs/features/qt_app.prf
|
||||
+++ b/mkspecs/features/qt_app.prf
|
||||
@@ -27,10 +27,11 @@ host_build:force_bootstrap {
|
||||
QT -= core core-private xml
|
||||
QT += bootstrap-private
|
||||
}
|
||||
target.path = $$[QT_HOST_BINS]
|
||||
+ CONFIG += relative_qt_rpath # Qt's tools and apps should be relocatable
|
||||
} else {
|
||||
!build_pass:qtConfig(debug_and_release): CONFIG += release
|
||||
- target.path = $$[QT_INSTALL_BINS]
|
||||
+ target.path = $$[QT_HOST_BINS]
|
||||
CONFIG += relative_qt_rpath # Qt's tools and apps should be relocatable
|
||||
}
|
||||
INSTALLS += target
|
||||
62
externals/vcpkg/ports/qt5-base/patches/static_opengl.patch
vendored
Executable file
62
externals/vcpkg/ports/qt5-base/patches/static_opengl.patch
vendored
Executable file
@@ -0,0 +1,62 @@
|
||||
diff --git a/mkspecs/features/win32/opengl.prf b/mkspecs/features/win32/opengl.prf
|
||||
index f21848f94..202c49688 100644
|
||||
--- a/mkspecs/features/win32/opengl.prf
|
||||
+++ b/mkspecs/features/win32/opengl.prf
|
||||
@@ -30,7 +30,7 @@ qtConfig(opengles2) {
|
||||
LIBS += $$QMAKE_LIBS_OPENGL_ES2
|
||||
QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL_ES2_RELEASE
|
||||
}
|
||||
- qtConfig(static): DEFINES += GL_APICALL= EGLAPI=
|
||||
+ qtConfig(static): DEFINES += _GDI32_ GL_APICALL= EGLAPI= ANGLE_EXPORT= ANGLE_PLATFORM_EXPORT=
|
||||
} else {
|
||||
!qtConfig(dynamicgl) {
|
||||
QMAKE_LIBS += $$QMAKE_LIBS_OPENGL
|
||||
diff --git a/src/angle/src/common/gles_common.pri b/src/angle/src/common/gles_common.pri
|
||||
index 70b65dd4c..1dcc96af5 100644
|
||||
--- a/src/angle/src/common/gles_common.pri
|
||||
+++ b/src/angle/src/common/gles_common.pri
|
||||
@@ -23,7 +23,8 @@ for(libname, STATICLIBS) {
|
||||
PRE_TARGETDEPS += $$staticlib
|
||||
}
|
||||
|
||||
-DEFINES += LIBANGLE_IMPLEMENTATION LIBGLESV2_IMPLEMENTATION GL_APICALL= GL_GLEXT_PROTOTYPES= EGLAPI=
|
||||
+!qtConfig(static): DEFINES += LIBANGLE_IMPLEMENTATION LIBGLESV2_IMPLEMENTATION
|
||||
+qtConfig(static): DEFINES += GL_APICALL= EGLAPI= ANGLE_EXPORT= ANGLE_PLATFORM_EXPORT=
|
||||
!winrt: DEFINES += ANGLE_ENABLE_D3D9 ANGLE_SKIP_DXGI_1_2_CHECK
|
||||
|
||||
QT_FOR_CONFIG += gui-private
|
||||
diff --git a/src/3rdparty/angle/include/platform/Platform.h b/src/3rdparty/angle/include/platform/Platform.h
|
||||
index aa1221a86..a49ee4f6d 100644
|
||||
--- a/src/3rdparty/angle/include/platform/Platform.h
|
||||
+++ b/src/3rdparty/angle/include/platform/Platform.h
|
||||
@@ -12,7 +12,7 @@
|
||||
#include <stdint.h>
|
||||
#include <array>
|
||||
|
||||
-#if defined(_WIN32)
|
||||
+#if defined(_WIN32) && !defined(ANGLE_PLATFORM_EXPORT)
|
||||
# if !defined(LIBANGLE_IMPLEMENTATION)
|
||||
# define ANGLE_PLATFORM_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
diff --git a/src/3rdparty/angle/src/libGLESv2/entry_points_gles_2_0_ext.cpp b/src/3rdparty/angle/src/libGLESv2/entry_points_gles_2_0_ext.cpp
|
||||
index d4459ec28..d1416041e 100644
|
||||
--- a/src/3rdparty/angle/src/libGLESv2/entry_points_gles_2_0_ext.cpp
|
||||
+++ b/src/3rdparty/angle/src/libGLESv2/entry_points_gles_2_0_ext.cpp
|
||||
@@ -3505,7 +3505,7 @@ ANGLE_EXPORT void GL_APIENTRY GetQueryObjectui64vRobustANGLE(GLuint id,
|
||||
}
|
||||
}
|
||||
|
||||
-GL_APICALL void GL_APIENTRY FramebufferTextureMultiviewLayeredANGLE(GLenum target,
|
||||
+ANGLE_EXPORT void GL_APIENTRY FramebufferTextureMultiviewLayeredANGLE(GLenum target,
|
||||
GLenum attachment,
|
||||
GLuint texture,
|
||||
GLint level,
|
||||
@@ -3530,7 +3530,7 @@ GL_APICALL void GL_APIENTRY FramebufferTextureMultiviewLayeredANGLE(GLenum targe
|
||||
}
|
||||
}
|
||||
|
||||
-GL_APICALL void GL_APIENTRY FramebufferTextureMultiviewSideBySideANGLE(GLenum target,
|
||||
+ANGLE_EXPORT void GL_APIENTRY FramebufferTextureMultiviewSideBySideANGLE(GLenum target,
|
||||
GLenum attachment,
|
||||
GLuint texture,
|
||||
GLint level,
|
||||
13
externals/vcpkg/ports/qt5-base/patches/windows_prf.patch
vendored
Executable file
13
externals/vcpkg/ports/qt5-base/patches/windows_prf.patch
vendored
Executable file
@@ -0,0 +1,13 @@
|
||||
diff --git a/mkspecs/features/win32/windows.prf b/mkspecs/features/win32/windows.prf
|
||||
index 272170d4..70b8ea2e 100644
|
||||
--- a/mkspecs/features/win32/windows.prf
|
||||
+++ b/mkspecs/features/win32/windows.prf
|
||||
@@ -6,7 +6,7 @@ contains(TEMPLATE, ".*app") {
|
||||
|
||||
qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) {
|
||||
isEqual(entryLib, -lqtmain) {
|
||||
- lib = $$QT.core.libs/$${QMAKE_PREFIX_STATICLIB}qtmain$$QT_LIBINFIX$$qtPlatformTargetSuffix().$$QMAKE_EXTENSION_STATICLIB
|
||||
+ lib = $$QT.core.libs/manual-link/$${QMAKE_PREFIX_STATICLIB}qtmain$$QT_LIBINFIX$$qtPlatformTargetSuffix().$$QMAKE_EXTENSION_STATICLIB
|
||||
PRE_TARGETDEPS += $$lib
|
||||
QMAKE_LIBS += $$lib
|
||||
} else {
|
||||
27
externals/vcpkg/ports/qt5-base/patches/winmain_pro.patch
vendored
Executable file
27
externals/vcpkg/ports/qt5-base/patches/winmain_pro.patch
vendored
Executable file
@@ -0,0 +1,27 @@
|
||||
diff --git a/src/winmain/winmain.pro b/src/winmain/winmain.pro
|
||||
index 9cb6ab0c..52c7876e 100644
|
||||
--- a/src/winmain/winmain.pro
|
||||
+++ b/src/winmain/winmain.pro
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
TEMPLATE = lib
|
||||
TARGET = qtmain
|
||||
-DESTDIR = $$QT.core.libs
|
||||
+DESTDIR = $$QT.core.libs/manual-link
|
||||
|
||||
CONFIG += static
|
||||
QT = core
|
||||
@@ -27,7 +27,12 @@ winrt {
|
||||
}
|
||||
|
||||
load(qt_installs)
|
||||
-
|
||||
+!qt_no_install_library {
|
||||
+ host_build: \
|
||||
+ target.path = $$[QT_HOST_LIBS]/manual-link
|
||||
+ else: \
|
||||
+ target.path = $$[QT_INSTALL_LIBS]/manual-link
|
||||
+}
|
||||
TARGET = $$qtLibraryTarget($$TARGET$$QT_LIBINFIX) #do this towards the end
|
||||
|
||||
load(qt_targets)
|
||||
39
externals/vcpkg/ports/qt5-base/patches/xlib.patch
vendored
Executable file
39
externals/vcpkg/ports/qt5-base/patches/xlib.patch
vendored
Executable file
@@ -0,0 +1,39 @@
|
||||
diff --git a/src/gui/configure.json b/src/gui/configure.json
|
||||
index 9a749516b..242f47504 100644
|
||||
--- a/src/gui/configure.json
|
||||
+++ b/src/gui/configure.json
|
||||
@@ -568,7 +568,9 @@
|
||||
},
|
||||
"headers": "X11/Xlib.h",
|
||||
"sources": [
|
||||
- { "type": "makeSpec", "spec": "X11" }
|
||||
+ { "type": "makeSpec", "spec": "X11" },
|
||||
+ { "type": "pkgConfig", "args": "x11" },
|
||||
+ { "type": "pkgConfig", "args": "x11 --static" }
|
||||
]
|
||||
},
|
||||
"x11sm": {
|
||||
@@ -590,6 +592,7 @@
|
||||
"headers": "xcb/xcb.h",
|
||||
"sources": [
|
||||
{ "type": "pkgConfig", "args": "xcb >= 1.11" },
|
||||
+ { "type": "pkgConfig", "args": "xcb >= 1.11 --static" },
|
||||
"-lxcb"
|
||||
]
|
||||
},
|
||||
@@ -691,6 +694,7 @@
|
||||
"headers": "X11/Xlib-xcb.h",
|
||||
"sources": [
|
||||
{ "type": "pkgConfig", "args": "x11-xcb" },
|
||||
+ { "type": "pkgConfig", "args": "x11-xcb --static" },
|
||||
"-lX11-xcb"
|
||||
],
|
||||
"use": "xcb xlib"
|
||||
@@ -711,6 +715,7 @@
|
||||
"headers": "xcb/xkb.h",
|
||||
"sources": [
|
||||
{ "type": "pkgConfig", "args": "xcb-xkb" },
|
||||
+ { "type": "pkgConfig", "args": "xcb-xkb --static" },
|
||||
"-lxcb-xkb"
|
||||
],
|
||||
"use": "xcb"
|
||||
511
externals/vcpkg/ports/qt5-base/portfile.cmake
vendored
Executable file
511
externals/vcpkg/ports/qt5-base/portfile.cmake
vendored
Executable file
@@ -0,0 +1,511 @@
|
||||
vcpkg_buildpath_length_warning(37)
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
set(QT_OPENSSL_LINK_DEFAULT ON)
|
||||
else()
|
||||
set(QT_OPENSSL_LINK_DEFAULT OFF)
|
||||
endif()
|
||||
option(QT_OPENSSL_LINK "Link against OpenSSL at compile-time." ${QT_OPENSSL_LINK_DEFAULT})
|
||||
|
||||
if (VCPKG_TARGET_IS_LINUX)
|
||||
message(WARNING "qt5-base currently requires some packages from the system package manager, see https://doc.qt.io/qt-5/linux-requirements.html")
|
||||
message(WARNING
|
||||
[[
|
||||
qt5-base for qt5-x11extras requires several libraries from the system package manager. Please refer to
|
||||
https://github.com/microsoft/vcpkg/blob/master/scripts/azure-pipelines/linux/provision-image.sh
|
||||
for a complete list of them.
|
||||
]]
|
||||
)
|
||||
endif()
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake)
|
||||
|
||||
set(WITH_PGSQL_PLUGIN OFF)
|
||||
if("postgresqlplugin" IN_LIST FEATURES)
|
||||
set(WITH_PGSQL_PLUGIN ON)
|
||||
endif()
|
||||
|
||||
set(WITH_MYSQL_PLUGIN OFF)
|
||||
if ("mysqlplugin" IN_LIST FEATURES)
|
||||
set(WITH_MYSQL_PLUGIN ON)
|
||||
endif()
|
||||
if(WITH_MYSQL_PLUGIN AND NOT VCPKG_TARGET_IS_WINDOWS)
|
||||
message(WARNING "${PORT} is currently not setup to support feature 'mysqlplugin' on platforms other than windows. Feel free to open up a PR to fix it!")
|
||||
endif()
|
||||
|
||||
include(qt_port_functions)
|
||||
include(configure_qt)
|
||||
include(install_qt)
|
||||
|
||||
|
||||
#########################
|
||||
## Find Host and Target mkspec name for configure
|
||||
include(find_qt_mkspec)
|
||||
find_qt_mkspec(TARGET_MKSPEC HOST_MKSPEC HOST_TOOLS)
|
||||
set(QT_PLATFORM_CONFIGURE_OPTIONS TARGET_PLATFORM ${TARGET_MKSPEC})
|
||||
if(DEFINED HOST_MKSPEC)
|
||||
list(APPEND QT_PLATFORM_CONFIGURE_OPTIONS HOST_PLATFORM ${HOST_MKSPEC})
|
||||
endif()
|
||||
if(DEFINED HOST_TOOLS)
|
||||
list(APPEND QT_PLATFORM_CONFIGURE_OPTIONS HOST_TOOLS_ROOT ${HOST_TOOLS})
|
||||
endif()
|
||||
|
||||
#########################
|
||||
## Downloading Qt5-Base
|
||||
|
||||
qt_download_submodule( OUT_SOURCE_PATH SOURCE_PATH
|
||||
PATCHES
|
||||
patches/winmain_pro.patch #Moves qtmain to manual-link
|
||||
patches/windows_prf.patch #fixes the qtmain dependency due to the above move
|
||||
patches/qt_app.patch #Moves the target location of qt5 host apps to always install into the host dir.
|
||||
patches/gui_configure.patch #Patches the gui configure.json to break freetype/fontconfig autodetection because it does not include its dependencies.
|
||||
patches/icu.patch #Help configure find static icu builds in vcpkg on windows
|
||||
patches/xlib.patch #Patches Xlib check to actually use Pkgconfig instead of makeSpec only
|
||||
patches/egl.patch #Fix egl detection logic.
|
||||
patches/mysql_plugin_include.patch #Fix include path of mysql plugin
|
||||
patches/mysql-configure.patch #Fix mysql project
|
||||
patches/cocoa.patch #Fix missing include on macOS Monterrey, https://code.qt.io/cgit/qt/qtbase.git/commit/src/plugins/platforms/cocoa?id=dece6f5840463ae2ddf927d65eb1b3680e34a547
|
||||
#patches/static_opengl.patch #Use this patch if you really want to statically link angle on windows (e.g. using -opengl es2 and -static).
|
||||
#Be carefull since it requires definining _GDI32_ for all dependent projects due to redefinition errors in the
|
||||
#the windows supplied gl.h header and the angle gl.h otherwise.
|
||||
# CMake fixes
|
||||
patches/Qt5BasicConfig.patch
|
||||
patches/Qt5PluginTarget.patch
|
||||
patches/create_cmake.patch
|
||||
patches/Qt5GuiConfigExtras.patch # Patches the library search behavior for EGL since angle is not build with Qt
|
||||
patches/limits_include.patch # Add missing includes to build with gcc 11
|
||||
)
|
||||
|
||||
# Remove vendored dependencies to ensure they are not picked up by the build
|
||||
foreach(DEPENDENCY zlib freetype harfbuzz-ng libjpeg libpng double-conversion sqlite pcre2)
|
||||
if(EXISTS ${SOURCE_PATH}/src/3rdparty/${DEPENDENCY})
|
||||
file(REMOVE_RECURSE ${SOURCE_PATH}/src/3rdparty/${DEPENDENCY})
|
||||
endif()
|
||||
endforeach()
|
||||
#file(REMOVE_RECURSE ${SOURCE_PATH}/include/QtZlib)
|
||||
|
||||
#########################
|
||||
## Setup Configure options
|
||||
|
||||
# This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings
|
||||
set(ENV{_CL_} "/utf-8")
|
||||
|
||||
set(CORE_OPTIONS
|
||||
-confirm-license
|
||||
-opensource
|
||||
#-simulator_and_device
|
||||
#-ltcg
|
||||
#-combined-angle-lib
|
||||
# ENV ANGLE_DIR to external angle source dir. (Will always be compiled with Qt)
|
||||
#-optimized-tools
|
||||
#-force-debug-info
|
||||
-verbose
|
||||
)
|
||||
|
||||
## 3rd Party Libs
|
||||
list(APPEND CORE_OPTIONS
|
||||
-system-zlib
|
||||
-system-libjpeg
|
||||
-system-libpng
|
||||
-system-freetype
|
||||
-system-pcre
|
||||
-system-doubleconversion
|
||||
-system-sqlite
|
||||
-system-harfbuzz
|
||||
-icu
|
||||
-no-angle # Qt does not need to build angle. VCPKG will build angle!
|
||||
-no-glib
|
||||
)
|
||||
|
||||
if(QT_OPENSSL_LINK)
|
||||
list(APPEND CORE_OPTIONS -openssl-linked)
|
||||
endif()
|
||||
|
||||
if(WITH_PGSQL_PLUGIN)
|
||||
list(APPEND CORE_OPTIONS -sql-psql)
|
||||
else()
|
||||
list(APPEND CORE_OPTIONS -no-sql-psql)
|
||||
endif()
|
||||
if(WITH_MYSQL_PLUGIN)
|
||||
list(APPEND CORE_OPTIONS -sql-mysql)
|
||||
else()
|
||||
list(APPEND CORE_OPTIONS -no-sql-mysql)
|
||||
endif()
|
||||
|
||||
if ("vulkan" IN_LIST FEATURES)
|
||||
list(APPEND CORE_OPTIONS --vulkan=yes)
|
||||
else()
|
||||
list(APPEND CORE_OPTIONS --vulkan=no)
|
||||
endif()
|
||||
|
||||
find_library(ZLIB_RELEASE NAMES z zlib PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
|
||||
find_library(ZLIB_DEBUG NAMES z zlib zd zlibd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
find_library(JPEG_RELEASE NAMES jpeg jpeg-static PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
|
||||
find_library(JPEG_DEBUG NAMES jpeg jpeg-static jpegd jpeg-staticd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
find_library(LIBPNG_RELEASE NAMES png16 libpng16 PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) #Depends on zlib
|
||||
find_library(LIBPNG_DEBUG NAMES png16 png16d libpng16 libpng16d PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
find_library(PSQL_RELEASE NAMES pq libpq PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) # Depends on openssl and zlib(linux)
|
||||
find_library(PSQL_DEBUG NAMES pq libpq pqd libpqd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
|
||||
if(NOT (PSQL_RELEASE MATCHES ".*\.so") AND NOT (PSQL_DEBUG MATCHES ".*\.so"))
|
||||
find_library(PSQL_COMMON_RELEASE NAMES pgcommon libpgcommon PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) # Depends on openssl and zlib(linux)
|
||||
find_library(PSQL_COMMON_DEBUG NAMES pgcommon libpgcommon pgcommond libpgcommond PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
find_library(PSQL_PORT_RELEASE NAMES pgport libpgport PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) # Depends on openssl and zlib(linux)
|
||||
find_library(PSQL_PORT_DEBUG NAMES pgport libpgport pgportd libpgportd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
endif()
|
||||
find_library(MYSQL_RELEASE NAMES libmysql mysqlclient PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) # Depends on openssl and zlib(linux)
|
||||
find_library(MYSQL_DEBUG NAMES libmysql libmysqld mysqlclient mysqlclientd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
|
||||
find_library(PCRE2_RELEASE NAMES pcre2-16 pcre2-16-static PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
|
||||
find_library(PCRE2_DEBUG NAMES pcre2-16 pcre2-16-static pcre2-16d pcre2-16-staticd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
find_library(FREETYPE_RELEASE NAMES freetype PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) #zlib, bzip2, libpng
|
||||
find_library(FREETYPE_DEBUG NAMES freetype freetyped PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
find_library(DOUBLECONVERSION_RELEASE NAMES double-conversion PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
|
||||
find_library(DOUBLECONVERSION_DEBUG NAMES double-conversion PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
find_library(HARFBUZZ_RELEASE NAMES harfbuzz PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
|
||||
find_library(HARFBUZZ_DEBUG NAMES harfbuzz PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
find_library(SQLITE_RELEASE NAMES sqlite3 PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) # Depends on openssl and zlib(linux)
|
||||
find_library(SQLITE_DEBUG NAMES sqlite3 sqlite3d PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
|
||||
find_library(BROTLI_COMMON_RELEASE NAMES brotlicommon brotlicommon-static PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
|
||||
find_library(BROTLI_COMMON_DEBUG NAMES brotlicommon brotlicommon-static brotlicommond brotlicommon-staticd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
find_library(BROTLI_DEC_RELEASE NAMES brotlidec brotlidec-static PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
|
||||
find_library(BROTLI_DEC_DEBUG NAMES brotlidec brotlidec-static brotlidecd brotlidec-staticd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
|
||||
find_library(ICUUC_RELEASE NAMES icuuc libicuuc PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
|
||||
find_library(ICUUC_DEBUG NAMES icuucd libicuucd icuuc libicuuc PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
find_library(ICUTU_RELEASE NAMES icutu libicutu PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
|
||||
find_library(ICUTU_DEBUG NAMES icutud libicutud icutu libicutu PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
|
||||
# Was installed in WSL but not on CI machine
|
||||
# find_library(ICULX_RELEASE NAMES iculx libiculx PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
|
||||
# find_library(ICULX_DEBUG NAMES iculxd libiculxd iculx libiculx PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
|
||||
find_library(ICUIO_RELEASE NAMES icuio libicuio PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
|
||||
find_library(ICUIO_DEBUG NAMES icuiod libicuiod icuio libicuio PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
find_library(ICUIN_RELEASE NAMES icui18n libicui18n icuin PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
|
||||
find_library(ICUIN_DEBUG NAMES icui18nd libicui18nd icui18n libicui18n icuin icuind PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
find_library(ICUDATA_RELEASE NAMES icudata libicudata icudt PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
|
||||
find_library(ICUDATA_DEBUG NAMES icudatad libicudatad icudata libicudata icudtd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
set(ICU_RELEASE "${ICUIN_RELEASE} ${ICUTU_RELEASE} ${ICULX_RELEASE} ${ICUUC_RELEASE} ${ICUIO_RELEASE} ${ICUDATA_RELEASE}")
|
||||
set(ICU_DEBUG "${ICUIN_DEBUG} ${ICUTU_DEBUG} ${ICULX_DEBUG} ${ICUUC_DEBUG} ${ICUIO_DEBUG} ${ICUDATA_DEBUG}")
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
set(ICU_RELEASE "${ICU_RELEASE} Advapi32.lib")
|
||||
set(ICU_DEBUG "${ICU_DEBUG} Advapi32.lib" )
|
||||
endif()
|
||||
|
||||
find_library(FONTCONFIG_RELEASE NAMES fontconfig PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
|
||||
find_library(FONTCONFIG_DEBUG NAMES fontconfig PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
find_library(EXPAT_RELEASE NAMES expat PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
|
||||
find_library(EXPAT_DEBUG NAMES expat PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
|
||||
#Dependent libraries
|
||||
find_library(ZSTD_RELEASE NAMES zstd PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
|
||||
find_library(ZSTD_DEBUG NAMES zstd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
find_library(BZ2_RELEASE bz2 PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
|
||||
find_library(BZ2_DEBUG bz2 bz2d PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
find_library(SSL_RELEASE ssl ssleay32 PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
|
||||
find_library(SSL_DEBUG ssl ssleay32 ssld ssleay32d PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
find_library(EAY_RELEASE libeay32 crypto libcrypto PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
|
||||
find_library(EAY_DEBUG libeay32 crypto libcrypto libeay32d cryptod libcryptod PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
|
||||
|
||||
set(FREETYPE_RELEASE_ALL "${FREETYPE_RELEASE} ${BZ2_RELEASE} ${LIBPNG_RELEASE} ${ZLIB_RELEASE} ${BROTLI_DEC_RELEASE} ${BROTLI_COMMON_RELEASE}")
|
||||
set(FREETYPE_DEBUG_ALL "${FREETYPE_DEBUG} ${BZ2_DEBUG} ${LIBPNG_DEBUG} ${ZLIB_DEBUG} ${BROTLI_DEC_DEBUG} ${BROTLI_COMMON_DEBUG}")
|
||||
|
||||
# If HarfBuzz is built with GLib enabled, it must be statically link
|
||||
x_vcpkg_pkgconfig_get_modules(PREFIX harfbuzz MODULES harfbuzz LIBRARIES)
|
||||
|
||||
set(RELEASE_OPTIONS
|
||||
"LIBJPEG_LIBS=${JPEG_RELEASE}"
|
||||
"ZLIB_LIBS=${ZLIB_RELEASE}"
|
||||
"LIBPNG_LIBS=${LIBPNG_RELEASE} ${ZLIB_RELEASE}"
|
||||
"PCRE2_LIBS=${PCRE2_RELEASE}"
|
||||
"FREETYPE_LIBS=${FREETYPE_RELEASE_ALL}"
|
||||
"ICU_LIBS=${ICU_RELEASE}"
|
||||
"QMAKE_LIBS_PRIVATE+=${BZ2_RELEASE}"
|
||||
"QMAKE_LIBS_PRIVATE+=${LIBPNG_RELEASE}"
|
||||
"QMAKE_LIBS_PRIVATE+=${ICU_RELEASE}"
|
||||
"QMAKE_LIBS_PRIVATE+=${ZSTD_RELEASE}"
|
||||
)
|
||||
set(DEBUG_OPTIONS
|
||||
"LIBJPEG_LIBS=${JPEG_DEBUG}"
|
||||
"ZLIB_LIBS=${ZLIB_DEBUG}"
|
||||
"LIBPNG_LIBS=${LIBPNG_DEBUG} ${ZLIB_DEBUG}"
|
||||
"PCRE2_LIBS=${PCRE2_DEBUG}"
|
||||
"FREETYPE_LIBS=${FREETYPE_DEBUG_ALL}"
|
||||
"ICU_LIBS=${ICU_DEBUG}"
|
||||
"QMAKE_LIBS_PRIVATE+=${BZ2_DEBUG}"
|
||||
"QMAKE_LIBS_PRIVATE+=${LIBPNG_DEBUG}"
|
||||
"QMAKE_LIBS_PRIVATE+=${ICU_DEBUG}"
|
||||
"QMAKE_LIBS_PRIVATE+=${ZSTD_DEBUG}"
|
||||
)
|
||||
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
if(VCPKG_TARGET_IS_UWP)
|
||||
list(APPEND CORE_OPTIONS -appstore-compliant)
|
||||
endif()
|
||||
if(NOT ${VCPKG_LIBRARY_LINKAGE} STREQUAL "static")
|
||||
list(APPEND CORE_OPTIONS -opengl dynamic) # other options are "-no-opengl", "-opengl angle", and "-opengl desktop" and "-opengel es2"
|
||||
else()
|
||||
list(APPEND CORE_OPTIONS -opengl dynamic) # other possible option without moving angle dlls: "-opengl desktop". "-opengel es2" only works with commented patch
|
||||
endif()
|
||||
list(APPEND RELEASE_OPTIONS
|
||||
"SQLITE_LIBS=${SQLITE_RELEASE}"
|
||||
"HARFBUZZ_LIBS=${harfbuzz_LIBRARIES_RELEASE}"
|
||||
"OPENSSL_LIBS=${SSL_RELEASE} ${EAY_RELEASE} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib"
|
||||
)
|
||||
|
||||
list(APPEND DEBUG_OPTIONS
|
||||
"SQLITE_LIBS=${SQLITE_DEBUG}"
|
||||
"HARFBUZZ_LIBS=${harfbuzz_LIBRARIES_DEBUG}"
|
||||
"OPENSSL_LIBS=${SSL_DEBUG} ${EAY_DEBUG} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib"
|
||||
)
|
||||
if(WITH_PGSQL_PLUGIN)
|
||||
list(APPEND RELEASE_OPTIONS "PSQL_LIBS=${PSQL_RELEASE} ${PSQL_PORT_RELEASE} ${PSQL_COMMON_RELEASE} ${SSL_RELEASE} ${EAY_RELEASE} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib")
|
||||
list(APPEND DEBUG_OPTIONS "PSQL_LIBS=${PSQL_DEBUG} ${PSQL_PORT_DEBUG} ${PSQL_COMMON_DEBUG} ${SSL_DEBUG} ${EAY_DEBUG} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib")
|
||||
endif()
|
||||
if (WITH_MYSQL_PLUGIN)
|
||||
list(APPEND RELEASE_OPTIONS "MYSQL_LIBS=${MYSQL_RELEASE} ${SSL_RELEASE} ${EAY_RELEASE} ${ZLIB_RELEASE} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib")
|
||||
list(APPEND DEBUG_OPTIONS "MYSQL_LIBS=${MYSQL_DEBUG} ${SSL_DEBUG} ${EAY_DEBUG} ${ZLIB_DEBUG} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib")
|
||||
endif(WITH_MYSQL_PLUGIN)
|
||||
|
||||
elseif(VCPKG_TARGET_IS_LINUX)
|
||||
list(APPEND CORE_OPTIONS -fontconfig -xcb-xlib -xcb -linuxfb)
|
||||
if (NOT EXISTS "/usr/include/GL/glu.h")
|
||||
message(FATAL_ERROR "qt5 requires libgl1-mesa-dev and libglu1-mesa-dev, please use your distribution's package manager to install them.\nExample: \"apt-get install libgl1-mesa-dev libglu1-mesa-dev\"")
|
||||
endif()
|
||||
list(APPEND RELEASE_OPTIONS
|
||||
"SQLITE_LIBS=${SQLITE_RELEASE} -ldl -lpthread"
|
||||
"HARFBUZZ_LIBS=${harfbuzz_LIBRARIES_RELEASE}"
|
||||
"OPENSSL_LIBS=${SSL_RELEASE} ${EAY_RELEASE} -ldl -lpthread"
|
||||
"FONTCONFIG_LIBS=${FONTCONFIG_RELEASE} ${FREETYPE_RELEASE} ${EXPAT_RELEASE} -luuid"
|
||||
)
|
||||
list(APPEND DEBUG_OPTIONS
|
||||
"SQLITE_LIBS=${SQLITE_DEBUG} -ldl -lpthread"
|
||||
"HARFBUZZ_LIBS=${harfbuzz_LIBRARIES_DEBUG}"
|
||||
"OPENSSL_LIBS=${SSL_DEBUG} ${EAY_DEBUG} -ldl -lpthread"
|
||||
"FONTCONFIG_LIBS=${FONTCONFIG_DEBUG} ${FREETYPE_DEBUG} ${EXPAT_DEBUG} -luuid"
|
||||
)
|
||||
if(WITH_PGSQL_PLUGIN)
|
||||
list(APPEND RELEASE_OPTIONS "PSQL_LIBS=${PSQL_RELEASE} ${PSQL_PORT_RELEASE} ${PSQL_TYPES_RELEASE} ${PSQL_COMMON_RELEASE} ${SSL_RELEASE} ${EAY_RELEASE} -ldl -lpthread")
|
||||
list(APPEND DEBUG_OPTIONS "PSQL_LIBS=${PSQL_DEBUG} ${PSQL_PORT_DEBUG} ${PSQL_TYPES_DEBUG} ${PSQL_COMMON_DEBUG} ${SSL_DEBUG} ${EAY_DEBUG} -ldl -lpthread")
|
||||
endif()
|
||||
elseif(VCPKG_TARGET_IS_OSX)
|
||||
list(APPEND CORE_OPTIONS -fontconfig)
|
||||
if("${VCPKG_TARGET_ARCHITECTURE}" MATCHES "arm64")
|
||||
FILE(READ "${SOURCE_PATH}/mkspecs/common/macx.conf" _tmp_contents)
|
||||
string(REPLACE "QMAKE_APPLE_DEVICE_ARCHS = x86_64" "QMAKE_APPLE_DEVICE_ARCHS = arm64" _tmp_contents ${_tmp_contents})
|
||||
FILE(WRITE "${SOURCE_PATH}/mkspecs/common/macx.conf" ${_tmp_contents})
|
||||
endif()
|
||||
if(DEFINED VCPKG_OSX_DEPLOYMENT_TARGET)
|
||||
set(ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET} ${VCPKG_OSX_DEPLOYMENT_TARGET})
|
||||
else()
|
||||
execute_process(COMMAND xcrun --show-sdk-version
|
||||
OUTPUT_FILE OSX_SDK_VER.txt
|
||||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR})
|
||||
FILE(STRINGS "${CURRENT_BUILDTREES_DIR}/OSX_SDK_VER.txt" OSX_SDK_VERSION REGEX "^[0-9][0-9]\.[0-9][0-9]*")
|
||||
message(STATUS "Detected OSX SDK Version: ${OSX_SDK_VERSION}")
|
||||
string(REGEX MATCH "^[0-9][0-9]\.[0-9][0-9]*" OSX_SDK_VERSION ${OSX_SDK_VERSION})
|
||||
message(STATUS "Major.Minor OSX SDK Version: ${OSX_SDK_VERSION}")
|
||||
|
||||
execute_process(COMMAND sw_vers -productVersion
|
||||
OUTPUT_FILE OSX_SYS_VER.txt
|
||||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR})
|
||||
FILE(STRINGS "${CURRENT_BUILDTREES_DIR}/OSX_SYS_VER.txt" VCPKG_OSX_DEPLOYMENT_TARGET REGEX "^[0-9][0-9]\.[0-9][0-9]*")
|
||||
message(STATUS "Detected OSX system Version: ${VCPKG_OSX_DEPLOYMENT_TARGET}")
|
||||
string(REGEX MATCH "^[0-9][0-9]\.[0-9][0-9]*" VCPKG_OSX_DEPLOYMENT_TARGET ${VCPKG_OSX_DEPLOYMENT_TARGET})
|
||||
message(STATUS "Major.Minor OSX system Version: ${VCPKG_OSX_DEPLOYMENT_TARGET}")
|
||||
|
||||
set(ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET} ${VCPKG_OSX_DEPLOYMENT_TARGET})
|
||||
if(${VCPKG_OSX_DEPLOYMENT_TARGET} GREATER "10.15") # Max Version supported by QT. This version is defined in mkspecs/common/macx.conf as QT_MAC_SDK_VERSION_MAX
|
||||
message(STATUS "Qt ${QT_MAJOR_MINOR_VER}.${QT_PATCH_VER} only support OSX_DEPLOYMENT_TARGET up to 10.15")
|
||||
set(VCPKG_OSX_DEPLOYMENT_TARGET "10.15")
|
||||
endif()
|
||||
set(ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET} ${VCPKG_OSX_DEPLOYMENT_TARGET})
|
||||
message(STATUS "Enviromnent OSX SDK Version: $ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET}")
|
||||
FILE(READ "${SOURCE_PATH}/mkspecs/common/macx.conf" _tmp_contents)
|
||||
string(REPLACE "QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.13" "QMAKE_MACOSX_DEPLOYMENT_TARGET = ${VCPKG_OSX_DEPLOYMENT_TARGET}" _tmp_contents ${_tmp_contents})
|
||||
FILE(WRITE "${SOURCE_PATH}/mkspecs/common/macx.conf" ${_tmp_contents})
|
||||
endif()
|
||||
#list(APPEND QT_PLATFORM_CONFIGURE_OPTIONS HOST_PLATFORM ${TARGET_MKSPEC})
|
||||
list(APPEND RELEASE_OPTIONS
|
||||
"SQLITE_LIBS=${SQLITE_RELEASE} -ldl -lpthread"
|
||||
"HARFBUZZ_LIBS=${harfbuzz_LIBRARIES_RELEASE} -framework ApplicationServices"
|
||||
"OPENSSL_LIBS=${SSL_RELEASE} ${EAY_RELEASE} -ldl -lpthread"
|
||||
"FONTCONFIG_LIBS=${FONTCONFIG_RELEASE} ${FREETYPE_RELEASE} ${EXPAT_RELEASE} -liconv"
|
||||
)
|
||||
list(APPEND DEBUG_OPTIONS
|
||||
"SQLITE_LIBS=${SQLITE_DEBUG} -ldl -lpthread"
|
||||
"HARFBUZZ_LIBS=${harfbuzz_LIBRARIES_DEBUG} -framework ApplicationServices"
|
||||
"OPENSSL_LIBS=${SSL_DEBUG} ${EAY_DEBUG} -ldl -lpthread"
|
||||
"FONTCONFIG_LIBS=${FONTCONFIG_DEBUG} ${FREETYPE_DEBUG} ${EXPAT_DEBUG} -liconv"
|
||||
)
|
||||
|
||||
if(WITH_PGSQL_PLUGIN)
|
||||
list(APPEND RELEASE_OPTIONS "PSQL_LIBS=${PSQL_RELEASE} ${PSQL_PORT_RELEASE} ${PSQL_TYPES_RELEASE} ${PSQL_COMMON_RELEASE} ${SSL_RELEASE} ${EAY_RELEASE} -ldl -lpthread")
|
||||
list(APPEND DEBUG_OPTIONS "PSQL_LIBS=${PSQL_DEBUG} ${PSQL_PORT_DEBUG} ${PSQL_TYPES_DEBUG} ${PSQL_COMMON_DEBUG} ${SSL_DEBUG} ${EAY_DEBUG} -ldl -lpthread")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
## Do not build tests or examples
|
||||
list(APPEND CORE_OPTIONS
|
||||
-nomake examples
|
||||
-nomake tests)
|
||||
|
||||
if(QT_UPDATE_VERSION)
|
||||
SET(VCPKG_POLICY_EMPTY_PACKAGE enabled)
|
||||
else()
|
||||
configure_qt(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
${QT_PLATFORM_CONFIGURE_OPTIONS}
|
||||
OPTIONS ${CORE_OPTIONS}
|
||||
OPTIONS_RELEASE ${RELEASE_OPTIONS}
|
||||
OPTIONS_DEBUG ${DEBUG_OPTIONS}
|
||||
)
|
||||
install_qt()
|
||||
|
||||
#########################
|
||||
#TODO: Make this a function since it is also done by modular scripts!
|
||||
# e.g. by patching mkspecs/features/qt_tools.prf somehow
|
||||
file(GLOB_RECURSE PRL_FILES "${CURRENT_PACKAGES_DIR}/lib/*.prl" "${CURRENT_PACKAGES_DIR}/tools/qt5/lib/*.prl" "${CURRENT_PACKAGES_DIR}/tools/qt5/mkspecs/*.pri"
|
||||
"${CURRENT_PACKAGES_DIR}/debug/lib/*.prl" "${CURRENT_PACKAGES_DIR}/tools/qt5/debug/lib/*.prl" "${CURRENT_PACKAGES_DIR}/tools/qt5/debug/mkspecs/*.pri")
|
||||
|
||||
file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}/include" CMAKE_INCLUDE_PATH)
|
||||
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
|
||||
qt_fix_prl("${CURRENT_INSTALLED_DIR}" "${PRL_FILES}")
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/qtdeploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/plugins)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
qt_fix_prl("${CURRENT_INSTALLED_DIR}/debug" "${PRL_FILES}")
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/qtdeploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/debug/plugins)
|
||||
endif()
|
||||
|
||||
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share)
|
||||
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake)
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) # TODO: check if important debug information for cmake is lost
|
||||
|
||||
#This needs a new VCPKG policy or a static angle build (ANGLE needs to be fixed in VCPKG!)
|
||||
if(VCPKG_TARGET_IS_WINDOWS AND ${VCPKG_LIBRARY_LINKAGE} MATCHES "static") # Move angle dll libraries
|
||||
if(EXISTS "${CURRENT_PACKAGES_DIR}/bin")
|
||||
message(STATUS "Moving ANGLE dlls from /bin to /tools/qt5-angle/bin. In static builds dlls are not allowed in /bin")
|
||||
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/qt5-angle)
|
||||
file(RENAME ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/tools/qt5-angle/bin)
|
||||
if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/bin)
|
||||
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/qt5-angle/debug)
|
||||
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/tools/qt5-angle/debug/bin)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
## Fix location of qtmain(d).lib. Has been moved into manual-link. Add debug version
|
||||
set(cmakefile "${CURRENT_PACKAGES_DIR}/share/cmake/Qt5Core/Qt5CoreConfigExtras.cmake")
|
||||
file(READ "${cmakefile}" _contents)
|
||||
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_BUILD_TYPE)
|
||||
string(REPLACE "set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)" "set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE DEBUG)" _contents "${_contents}")
|
||||
string(REPLACE
|
||||
[[set(imported_location "${_qt5Core_install_prefix}/lib/qtmain.lib")]]
|
||||
[[set(imported_location_release "${_qt5Core_install_prefix}/lib/manual-link/qtmain.lib")
|
||||
set(imported_location_debug "${_qt5Core_install_prefix}/debug/lib/manual-link/qtmaind.lib")]]
|
||||
_contents "${_contents}")
|
||||
string(REPLACE
|
||||
[[ set_target_properties(Qt5::WinMain PROPERTIES
|
||||
IMPORTED_LOCATION_RELEASE ${imported_location}
|
||||
)]]
|
||||
[[ set_target_properties(Qt5::WinMain PROPERTIES
|
||||
IMPORTED_LOCATION_RELEASE ${imported_location_release}
|
||||
IMPORTED_LOCATION_DEBUG ${imported_location_debug}
|
||||
)]]
|
||||
_contents "${_contents}")
|
||||
else() # Single configuration build (either debug or release)
|
||||
# Release case
|
||||
string(REPLACE
|
||||
[[set(imported_location "${_qt5Core_install_prefix}/lib/qtmain.lib")]]
|
||||
[[set(imported_location "${_qt5Core_install_prefix}/lib/manual-link/qtmain.lib")]]
|
||||
_contents "${_contents}")
|
||||
# Debug case (whichever will match)
|
||||
string(REPLACE
|
||||
[[set(imported_location "${_qt5Core_install_prefix}/lib/qtmaind.lib")]]
|
||||
[[set(imported_location "${_qt5Core_install_prefix}/debug/lib/manual-link/qtmaind.lib")]]
|
||||
_contents "${_contents}")
|
||||
string(REPLACE
|
||||
[[set(imported_location "${_qt5Core_install_prefix}/debug/lib/qtmaind.lib")]]
|
||||
[[set(imported_location "${_qt5Core_install_prefix}/debug/lib/manual-link/qtmaind.lib")]]
|
||||
_contents "${_contents}")
|
||||
endif()
|
||||
file(WRITE "${cmakefile}" "${_contents}")
|
||||
|
||||
if(EXISTS ${CURRENT_PACKAGES_DIR}/tools/qt5/bin)
|
||||
file(COPY ${CURRENT_PACKAGES_DIR}/tools/qt5/bin DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
|
||||
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin)
|
||||
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/qt5/bin)
|
||||
endif()
|
||||
# This should be removed if possible! (Currently debug build of qt5-translations requires it.)
|
||||
if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/bin)
|
||||
file(COPY ${CURRENT_PACKAGES_DIR}/tools/qt5/bin DESTINATION ${CURRENT_PACKAGES_DIR}/tools/qt5/debug)
|
||||
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/qt5/debug/bin)
|
||||
endif()
|
||||
|
||||
if(EXISTS ${CURRENT_PACKAGES_DIR}/tools/qt5/bin/qt.conf)
|
||||
file(REMOVE "${CURRENT_PACKAGES_DIR}/tools/qt5/bin/qt.conf")
|
||||
endif()
|
||||
set(CURRENT_INSTALLED_DIR_BACKUP "${CURRENT_INSTALLED_DIR}")
|
||||
set(CURRENT_INSTALLED_DIR "./../../.." ) # Making the qt.conf relative and not absolute
|
||||
configure_file(${CURRENT_PACKAGES_DIR}/tools/qt5/qt_release.conf ${CURRENT_PACKAGES_DIR}/tools/qt5/bin/qt.conf) # This makes the tools at least useable for release
|
||||
set(CURRENT_INSTALLED_DIR "${CURRENT_INSTALLED_DIR_BACKUP}")
|
||||
|
||||
qt_install_copyright(${SOURCE_PATH})
|
||||
endif()
|
||||
#install scripts for other qt ports
|
||||
file(COPY
|
||||
${CMAKE_CURRENT_LIST_DIR}/cmake/qt_port_hashes.cmake
|
||||
${CMAKE_CURRENT_LIST_DIR}/cmake/qt_port_functions.cmake
|
||||
${CMAKE_CURRENT_LIST_DIR}/cmake/qt_fix_makefile_install.cmake
|
||||
${CMAKE_CURRENT_LIST_DIR}/cmake/qt_fix_cmake.cmake
|
||||
${CMAKE_CURRENT_LIST_DIR}/cmake/qt_fix_prl.cmake
|
||||
${CMAKE_CURRENT_LIST_DIR}/cmake/qt_download_submodule.cmake
|
||||
${CMAKE_CURRENT_LIST_DIR}/cmake/qt_build_submodule.cmake
|
||||
${CMAKE_CURRENT_LIST_DIR}/cmake/qt_install_copyright.cmake
|
||||
${CMAKE_CURRENT_LIST_DIR}/cmake/qt_submodule_installation.cmake
|
||||
DESTINATION
|
||||
${CURRENT_PACKAGES_DIR}/share/qt5
|
||||
)
|
||||
|
||||
# Fix Qt5GuiConfigExtras EGL path
|
||||
if(VCPKG_TARGET_IS_LINUX)
|
||||
set(_file "${CURRENT_PACKAGES_DIR}/share/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake")
|
||||
file(READ "${_file}" _contents)
|
||||
string(REGEX REPLACE "_qt5gui_find_extra_libs\\\(EGL[^\\\n]+" "_qt5gui_find_extra_libs(EGL \"EGL\" \"\" \"\${_qt5Gui_install_prefix}/include\")\n" _contents "${_contents}")
|
||||
file(WRITE "${_file}" "${_contents}")
|
||||
endif()
|
||||
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
if(VCPKG_TARGET_IS_OSX)
|
||||
file(GLOB _debug_files "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/*_debug.pc")
|
||||
foreach(_file ${_debug_files})
|
||||
string(REGEX REPLACE "_debug\\.pc$" ".pc" _new_filename "${_file}")
|
||||
string(REGEX MATCH "(Qt5[a-zA-Z]+)_debug\\.pc$" _not_used "${_file}")
|
||||
set(_name ${CMAKE_MATCH_1})
|
||||
file(STRINGS "${_file}" _version REGEX "^(Version):.+$")
|
||||
file(WRITE "${_new_filename}" "Name: ${_name}\nDescription: Forwarding to the _debug version by vcpkg\n${_version}\nRequires: ${_name}_debug\n")
|
||||
endforeach()
|
||||
endif()
|
||||
# #Code to get generated CMake files from CI
|
||||
# file(RENAME "${CURRENT_PACKAGES_DIR}/share/cmake/Qt5Core/Qt5CoreConfig.cmake" "${CURRENT_BUILDTREES_DIR}/Qt5CoreConfig.cmake.log")
|
||||
# file(GLOB_RECURSE CMAKE_GUI_FILES "${CURRENT_PACKAGES_DIR}/share/cmake/Qt5Gui/*.cmake" )
|
||||
# foreach(cmake_file ${CMAKE_GUI_FILES})
|
||||
# get_filename_component(cmake_filename "${cmake_file}" NAME)
|
||||
# file(COPY "${cmake_file}" DESTINATION "${CURRENT_BUILDTREES_DIR}")
|
||||
# file(RENAME "${CURRENT_BUILDTREES_DIR}/${cmake_filename}" "${CURRENT_BUILDTREES_DIR}/${cmake_filename}.log")
|
||||
# endforeach()
|
||||
# #Copy config.log from buildtree/triplet to buildtree to get the log in CI in case of failure
|
||||
# if(EXISTS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/config.log")
|
||||
# file(RENAME "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/config.log" "${CURRENT_BUILDTREES_DIR}/config-rel.log")
|
||||
# endif()
|
||||
# if(EXISTS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/config.log")
|
||||
# file(RENAME "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/config.log" "${CURRENT_BUILDTREES_DIR}/config-dbg.log")
|
||||
# endif()
|
||||
# message(FATAL_ERROR "Need Info from CI!")
|
||||
104
externals/vcpkg/ports/qt5-base/qtdeploy.ps1
vendored
Executable file
104
externals/vcpkg/ports/qt5-base/qtdeploy.ps1
vendored
Executable file
@@ -0,0 +1,104 @@
|
||||
# This script is based on the implementation of windeployqt for qt5.7.1
|
||||
#
|
||||
# Qt's plugin deployment strategy is that each main Qt Module has a hardcoded
|
||||
# set of plugin subdirectories. Each of these subdirectories is deployed in
|
||||
# full if that Module is referenced.
|
||||
#
|
||||
# This hardcoded list is found inside qttools\src\windeployqt\main.cpp. For
|
||||
# updating, inspect the symbols qtModuleEntries and qtModuleForPlugin.
|
||||
|
||||
# Note: this function signature and behavior is depended upon by applocal.ps1
|
||||
function deployPluginsIfQt([string]$targetBinaryDir, [string]$QtPluginsDir, [string]$targetBinaryName) {
|
||||
$baseDir = Split-Path $QtPluginsDir -parent
|
||||
$binDir = "$baseDir\bin"
|
||||
|
||||
function deployPlugins([string]$pluginSubdirName) {
|
||||
if (Test-Path "$QtPluginsDir\$pluginSubdirName") {
|
||||
Write-Verbose " Deploying plugins directory '$pluginSubdirName'"
|
||||
New-Item "$targetBinaryDir\plugins\$pluginSubdirName" -ItemType Directory -ErrorAction SilentlyContinue | Out-Null
|
||||
Get-ChildItem "$QtPluginsDir\$pluginSubdirName\*.dll" | % {
|
||||
deployBinary "$targetBinaryDir\plugins\$pluginSubdirName" "$QtPluginsDir\$pluginSubdirName" $_.Name
|
||||
resolve "$targetBinaryDir\plugins\$pluginSubdirName\$($_.Name)"
|
||||
}
|
||||
} else {
|
||||
Write-Verbose " Skipping plugins directory '$pluginSubdirName': doesn't exist"
|
||||
}
|
||||
}
|
||||
|
||||
# We detect Qt modules in use via the DLLs themselves. See qtModuleEntries in Qt to find the mapping.
|
||||
if ($targetBinaryName -match "Qt5Cored?.dll") {
|
||||
if (!(Test-Path "$targetBinaryDir\qt.conf")) {
|
||||
"[Paths]" | Out-File -encoding ascii "$targetBinaryDir\qt.conf"
|
||||
}
|
||||
} elseif ($targetBinaryName -match "Qt5Guid?.dll") {
|
||||
Write-Verbose " Deploying platforms"
|
||||
New-Item "$targetBinaryDir\plugins\platforms" -ItemType Directory -ErrorAction SilentlyContinue | Out-Null
|
||||
Get-ChildItem "$QtPluginsDir\platforms\qwindows*.dll" | % {
|
||||
deployBinary "$targetBinaryDir\plugins\platforms" "$QtPluginsDir\platforms" $_.Name
|
||||
}
|
||||
|
||||
deployPlugins "accessible"
|
||||
deployPlugins "imageformats"
|
||||
deployPlugins "iconengines"
|
||||
deployPlugins "platforminputcontexts"
|
||||
deployPlugins "styles"
|
||||
} elseif ($targetBinaryName -match "Qt5Networkd?.dll") {
|
||||
deployPlugins "bearer"
|
||||
if (Test-Path "$binDir\libcrypto-1_1-x64.dll")
|
||||
{
|
||||
deployBinary "$targetBinaryDir" "$binDir" "libcrypto-1_1-x64.dll"
|
||||
deployBinary "$targetBinaryDir" "$binDir" "libssl-1_1-x64.dll"
|
||||
}
|
||||
if (Test-Path "$binDir\libcrypto-1_1.dll")
|
||||
{
|
||||
deployBinary "$targetBinaryDir" "$binDir" "libcrypto-1_1.dll"
|
||||
deployBinary "$targetBinaryDir" "$binDir" "libssl-1_1.dll"
|
||||
}
|
||||
} elseif ($targetBinaryName -match "Qt5Sqld?.dll") {
|
||||
deployPlugins "sqldrivers"
|
||||
} elseif ($targetBinaryName -match "Qt5Multimediad?.dll") {
|
||||
deployPlugins "audio"
|
||||
deployPlugins "mediaservice"
|
||||
deployPlugins "playlistformats"
|
||||
} elseif ($targetBinaryName -match "Qt5PrintSupportd?.dll") {
|
||||
deployPlugins "printsupport"
|
||||
} elseif ($targetBinaryName -match "Qt5Qmld?.dll") {
|
||||
if(!(Test-Path "$targetBinaryDir\qml"))
|
||||
{
|
||||
if (Test-Path "$binDir\..\qml") {
|
||||
cp -r "$binDir\..\qml" $targetBinaryDir
|
||||
} elseif (Test-Path "$binDir\..\..\qml") {
|
||||
cp -r "$binDir\..\..\qml" $targetBinaryDir
|
||||
} else {
|
||||
throw "FAILED"
|
||||
}
|
||||
}
|
||||
} elseif ($targetBinaryName -match "Qt5Quickd?.dll") {
|
||||
foreach ($a in @("Qt5QuickControls2", "Qt5QuickControls2d", "Qt5QuickShapes", "Qt5QuickShapesd", "Qt5QuickTemplates2", "Qt5QuickTemplates2d", "Qt5QmlWorkerScript", "Qt5QmlWorkerScriptd", "Qt5QuickParticles", "Qt5QuickParticlesd", "Qt5QuickWidgets", "Qt5QuickWidgetsd"))
|
||||
{
|
||||
if (Test-Path "$binDir\$a.dll")
|
||||
{
|
||||
deployBinary "$targetBinaryDir" "$binDir" "$a.dll"
|
||||
}
|
||||
}
|
||||
deployPlugins "scenegraph"
|
||||
deployPlugins "qmltooling"
|
||||
} elseif ($targetBinaryName -like "Qt5Declarative*.dll") {
|
||||
deployPlugins "qml1tooling"
|
||||
} elseif ($targetBinaryName -like "Qt5Positioning*.dll") {
|
||||
deployPlugins "position"
|
||||
} elseif ($targetBinaryName -like "Qt5Location*.dll") {
|
||||
deployPlugins "geoservices"
|
||||
} elseif ($targetBinaryName -like "Qt5Sensors*.dll") {
|
||||
deployPlugins "sensors"
|
||||
deployPlugins "sensorgestures"
|
||||
} elseif ($targetBinaryName -like "Qt5WebEngineCore*.dll") {
|
||||
deployPlugins "qtwebengine"
|
||||
} elseif ($targetBinaryName -like "Qt53DRenderer*.dll") {
|
||||
deployPlugins "sceneparsers"
|
||||
} elseif ($targetBinaryName -like "Qt5TextToSpeech*.dll") {
|
||||
deployPlugins "texttospeech"
|
||||
} elseif ($targetBinaryName -like "Qt5SerialBus*.dll") {
|
||||
deployPlugins "canbus"
|
||||
}
|
||||
}
|
||||
64
externals/vcpkg/ports/qt5-base/vcpkg.json
vendored
Executable file
64
externals/vcpkg/ports/qt5-base/vcpkg.json
vendored
Executable file
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"name": "qt5-base",
|
||||
"version": "5.15.4",
|
||||
"description": "Qt5 Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components.",
|
||||
"homepage": "https://www.qt.io/",
|
||||
"license": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "angle",
|
||||
"platform": "!windows"
|
||||
},
|
||||
"double-conversion",
|
||||
"egl-registry",
|
||||
{
|
||||
"name": "fontconfig",
|
||||
"platform": "!windows"
|
||||
},
|
||||
"freetype",
|
||||
"harfbuzz",
|
||||
{
|
||||
"name": "icu",
|
||||
"platform": "!uwp"
|
||||
},
|
||||
"libjpeg-turbo",
|
||||
"libpng",
|
||||
"openssl",
|
||||
"pcre2",
|
||||
{
|
||||
"name": "qt5-base",
|
||||
"host": true,
|
||||
"default-features": false
|
||||
},
|
||||
"sqlite3",
|
||||
{
|
||||
"name": "vcpkg-pkgconfig-get-modules",
|
||||
"host": true
|
||||
},
|
||||
"zlib",
|
||||
"zstd"
|
||||
],
|
||||
"features": {
|
||||
"latest": {
|
||||
"description": "(deprecated)"
|
||||
},
|
||||
"mysqlplugin": {
|
||||
"description": "Build the sql plugin for connecting to mysql databases",
|
||||
"dependencies": [
|
||||
"libmysql"
|
||||
]
|
||||
},
|
||||
"postgresqlplugin": {
|
||||
"description": "Build the sql plugin for connecting to postgresql databases",
|
||||
"dependencies": [
|
||||
"libpq"
|
||||
]
|
||||
},
|
||||
"vulkan": {
|
||||
"description": "Enable Vulkan support in QtGui",
|
||||
"dependencies": [
|
||||
"vulkan"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user