diff --git a/scripts/format_cmake.bash b/scripts/format_cmake.bash index f44eea503..fcdd4c687 100755 --- a/scripts/format_cmake.bash +++ b/scripts/format_cmake.bash @@ -15,7 +15,7 @@ if [ $? -ne 0 ]; then exit 1 fi -FILES=`find .. -name \*.cmake\* -print -o -name \CMakeLists.txt -print | grep -v build | grep -v vcpkg/` +FILES=`find .. -name \*.cmake\* -print -o -name \CMakeLists.txt -print | grep -v build` for FILE in $FILES; do cmake-format -c cmake_format_config.py --check $FILE diff --git a/vcpkg/ports/geodiff/portfile.cmake b/vcpkg/ports/geodiff/portfile.cmake index 3142822ad..e3ca1ab10 100644 --- a/vcpkg/ports/geodiff/portfile.cmake +++ b/vcpkg/ports/geodiff/portfile.cmake @@ -1,31 +1,38 @@ # Be sure to update both of these versions together. set(GEODIFF_VERSION 2.0.2) -set(GEODIFF_HASH 290f10ec1a0d419d13996e915d02b7d226f23359c2745a72a1a286d439bed3afdf536d5bb8771c3d4fb3df2d56ac5c0d4c7f178ee31493f4bf02d597c8b9a878) +set(GEODIFF_HASH + 290f10ec1a0d419d13996e915d02b7d226f23359c2745a72a1a286d439bed3afdf536d5bb8771c3d4fb3df2d56ac5c0d4c7f178ee31493f4bf02d597c8b9a878 +) vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO MerginMaps/geodiff - REF ${GEODIFF_VERSION} - SHA512 ${GEODIFF_HASH} - HEAD_REF master + OUT_SOURCE_PATH + SOURCE_PATH + REPO + MerginMaps/geodiff + REF + ${GEODIFF_VERSION} + SHA512 + ${GEODIFF_HASH} + HEAD_REF + master ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - list(APPEND GEODIFF_LINK_OPTIONS -DBUILD_STATIC=ON) - list(APPEND GEODIFF_LINK_OPTIONS -DBUILD_SHARED=OFF) -else() - list(APPEND GEODIFF_LINK_OPTIONS -DBUILD_STATIC=OFF) - list(APPEND GEODIFF_LINK_OPTIONS -DBUILD_SHARED=ON) -endif() - +if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + list(APPEND GEODIFF_LINK_OPTIONS -DBUILD_STATIC=ON) + list(APPEND GEODIFF_LINK_OPTIONS -DBUILD_SHARED=OFF) +else () + list(APPEND GEODIFF_LINK_OPTIONS -DBUILD_STATIC=OFF) + list(APPEND GEODIFF_LINK_OPTIONS -DBUILD_SHARED=ON) +endif () vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/geodiff - OPTIONS - -DENABLE_TESTS=OFF - -DBUILD_TOOLS=OFF - -DWITH_POSTGRESQL=OFF - ${GEODIFF_LINK_OPTIONS} + SOURCE_PATH + ${SOURCE_PATH}/geodiff + OPTIONS + -DENABLE_TESTS=OFF + -DBUILD_TOOLS=OFF + -DWITH_POSTGRESQL=OFF + ${GEODIFF_LINK_OPTIONS} ) vcpkg_install_cmake() @@ -33,5 +40,10 @@ vcpkg_install_cmake() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright "Geodiff is MIT licensed\n") -configure_file(${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake ${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake @ONLY) -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) \ No newline at end of file +configure_file( + ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake + ${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake @ONLY +) +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage + DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} +) diff --git a/vcpkg/ports/geodiff/vcpkg-cmake-wrapper.cmake b/vcpkg/ports/geodiff/vcpkg-cmake-wrapper.cmake index c28a31201..c4bf66d4c 100644 --- a/vcpkg/ports/geodiff/vcpkg-cmake-wrapper.cmake +++ b/vcpkg/ports/geodiff/vcpkg-cmake-wrapper.cmake @@ -1,64 +1,77 @@ include(SelectLibraryConfigurations) select_library_configurations(Geodiff) -find_path(Geodiff_INCLUDE_DIR - NAMES geodiff.h - PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include" - NO_DEFAULT_PATH +find_path( + Geodiff_INCLUDE_DIR + NAMES geodiff.h + PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include" + NO_DEFAULT_PATH ) -if(NOT Geodiff_LIBRARY) - find_library(Geodiff_LIBRARY_RELEASE NAMES geodiff - PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" +if (NOT Geodiff_LIBRARY) + find_library( + Geodiff_LIBRARY_RELEASE + NAMES geodiff + PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH ) - find_library(Geodiff_LIBRARY_DEBUG NAMES geodiff + find_library( + Geodiff_LIBRARY_DEBUG + NAMES geodiff PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH ) select_library_configurations(Geodiff) mark_as_advanced(Geodiff_LIBRARY_RELEASE Geodiff_LIBRARY_DEBUG) -endif() +endif () include(FindPackageHandleStandardArgs) find_package_handle_standard_args( - Geodiff - REQUIRED_VARS Geodiff_LIBRARY Geodiff_INCLUDE_DIR + Geodiff REQUIRED_VARS Geodiff_LIBRARY Geodiff_INCLUDE_DIR ) find_package(unofficial-sqlite3 CONFIG QUIET) if (Geodiff_FOUND AND NOT TARGET Geodiff::Geodiff) add_library(Geodiff::Geodiff UNKNOWN IMPORTED) - set_target_properties( Geodiff::Geodiff PROPERTIES - INTERFACE_LINK_LIBRARIES unofficial::sqlite3::sqlite3 + set_target_properties( + Geodiff::Geodiff PROPERTIES INTERFACE_LINK_LIBRARIES unofficial::sqlite3::sqlite3 ) - if(Geodiff_INCLUDE_DIR) - set_target_properties(Geodiff::Geodiff PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${Geodiff_INCLUDE_DIR}" + if (Geodiff_INCLUDE_DIR) + set_target_properties( + Geodiff::Geodiff PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${Geodiff_INCLUDE_DIR}" + ) + endif () + + if (EXISTS "${Geodiff_LIBRARY}") + set_target_properties( + Geodiff::Geodiff PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${Geodiff_LIBRARY}" + ) + endif () + + if (EXISTS "${Geodiff_LIBRARY_RELEASE}") + set_property( + TARGET Geodiff::Geodiff + APPEND + PROPERTY IMPORTED_CONFIGURATIONS RELEASE + ) + set_target_properties( + Geodiff::Geodiff PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" + IMPORTED_LOCATION_RELEASE "${Geodiff_LIBRARY_RELEASE}" + ) + endif () + + if (EXISTS "${Geodiff_LIBRARY_DEBUG}") + set_property( + TARGET Geodiff::Geodiff + APPEND + PROPERTY IMPORTED_CONFIGURATIONS DEBUG + ) + set_target_properties( + Geodiff::Geodiff PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C" + IMPORTED_LOCATION_DEBUG "${Geodiff_LIBRARY_DEBUG}" ) - endif() - - if(EXISTS "${Geodiff_LIBRARY}") - set_target_properties(Geodiff::Geodiff PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES "C" - IMPORTED_LOCATION "${Geodiff_LIBRARY}") - endif() - - if(EXISTS "${Geodiff_LIBRARY_RELEASE}") - set_property(TARGET Geodiff::Geodiff APPEND PROPERTY - IMPORTED_CONFIGURATIONS RELEASE) - set_target_properties(Geodiff::Geodiff PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" - IMPORTED_LOCATION_RELEASE "${Geodiff_LIBRARY_RELEASE}") - endif() - - if(EXISTS "${Geodiff_LIBRARY_DEBUG}") - set_property(TARGET Geodiff::Geodiff APPEND PROPERTY - IMPORTED_CONFIGURATIONS DEBUG) - set_target_properties(Geodiff::Geodiff PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C" - IMPORTED_LOCATION_DEBUG "${Geodiff_LIBRARY_DEBUG}") - endif() + endif () endif () diff --git a/vcpkg/ports/gstreamer/portfile.cmake b/vcpkg/ports/gstreamer/portfile.cmake index 86a4068c8..1bebdb2b9 100644 --- a/vcpkg/ports/gstreamer/portfile.cmake +++ b/vcpkg/ports/gstreamer/portfile.cmake @@ -1,419 +1,541 @@ -if(VCPKG_TARGET_IS_WINDOWS) - set(PATCHES - plugin-base-disable-no-unused.patch - ) -endif() +if (VCPKG_TARGET_IS_WINDOWS) + set(PATCHES plugin-base-disable-no-unused.patch) +endif () vcpkg_from_gitlab( - GITLAB_URL https://gitlab.freedesktop.org - OUT_SOURCE_PATH SOURCE_PATH - REPO gstreamer/gstreamer - REF "${VERSION}" - SHA512 0d69896d0a83452320df0d0f56c710df1365a259cd3f48dc7cd4df18d45b27caea7174aafa15ae5eb8637ccdef192c1047185b369b7232db4eaacbc57ffaaa22 - HEAD_REF main - PATCHES - fix-clang-cl.patch - fix-clang-cl-gstreamer.patch - fix-clang-cl-base.patch - fix-clang-cl-good.patch - fix-clang-cl-bad.patch - fix-clang-cl-ugly.patch - gstreamer-disable-no-unused.patch - srtp_fix.patch - fix-bz2-windows-debug-dependency.patch - base-must-be-enabled.patch - no-downloads.patch - ${PATCHES} + GITLAB_URL + https://gitlab.freedesktop.org + OUT_SOURCE_PATH + SOURCE_PATH + REPO + gstreamer/gstreamer + REF + "${VERSION}" + SHA512 + 0d69896d0a83452320df0d0f56c710df1365a259cd3f48dc7cd4df18d45b27caea7174aafa15ae5eb8637ccdef192c1047185b369b7232db4eaacbc57ffaaa22 + HEAD_REF + main + PATCHES + fix-clang-cl.patch + fix-clang-cl-gstreamer.patch + fix-clang-cl-base.patch + fix-clang-cl-good.patch + fix-clang-cl-bad.patch + fix-clang-cl-ugly.patch + gstreamer-disable-no-unused.patch + srtp_fix.patch + fix-bz2-windows-debug-dependency.patch + base-must-be-enabled.patch + no-downloads.patch + ${PATCHES} ) vcpkg_find_acquire_program(FLEX) vcpkg_find_acquire_program(BISON) vcpkg_find_acquire_program(NASM) -if(VCPKG_TARGET_IS_OSX) - # In Darwin platform, there can be an old version of `bison`, - # Which can't be used for `gst-build`. It requires 2.4+ - execute_process( - COMMAND ${BISON} --version - OUTPUT_VARIABLE BISON_OUTPUT +if (VCPKG_TARGET_IS_OSX) + # In Darwin platform, there can be an old version of `bison`, Which can't be used for + # `gst-build`. It requires 2.4+ + execute_process(COMMAND ${BISON} --version OUTPUT_VARIABLE BISON_OUTPUT) + string( + REGEX MATCH + "([0-9]+)\\.([0-9]+)\\.([0-9]+)" + BISON_VERSION + "${BISON_OUTPUT}" + ) + set(BISON_MAJOR ${CMAKE_MATCH_1}) + set(BISON_MINOR ${CMAKE_MATCH_2}) + message(STATUS "Using bison: ${BISON_MAJOR}.${BISON_MINOR}.${CMAKE_MATCH_3}") + if (NOT (BISON_MAJOR GREATER_EQUAL 2 AND BISON_MINOR GREATER_EQUAL 4)) + message( + WARNING + "'bison' upgrade is required. Please check the https://stackoverflow.com/a/35161881" ) - string(REGEX MATCH "([0-9]+)\\.([0-9]+)\\.([0-9]+)" BISON_VERSION "${BISON_OUTPUT}") - set(BISON_MAJOR ${CMAKE_MATCH_1}) - set(BISON_MINOR ${CMAKE_MATCH_2}) - message(STATUS "Using bison: ${BISON_MAJOR}.${BISON_MINOR}.${CMAKE_MATCH_3}") - if(NOT (BISON_MAJOR GREATER_EQUAL 2 AND BISON_MINOR GREATER_EQUAL 4)) - message(WARNING "'bison' upgrade is required. Please check the https://stackoverflow.com/a/35161881") - endif() -endif() + endif () +endif () # General features -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - gpl gpl - libav libav - nls nls - ges ges - - plugins-base base - gl-graphene gst-plugins-base:gl-graphene - alsa gst-plugins-base:alsa - ogg gst-plugins-base:ogg - opus-base gst-plugins-base:opus - pango gst-plugins-base:pango - vorbis gst-plugins-base:vorbis - x11-base gst-plugins-base:x11 - x11-base gst-plugins-base:xshm - - plugins-good good - bzip2-good gst-plugins-good:bz2 - cairo gst-plugins-good:cairo - flac gst-plugins-good:flac - gdk-pixbuf gst-plugins-good:gdk-pixbuf - jpeg gst-plugins-good:jpeg - mpg123 gst-plugins-good:mpg123 - png gst-plugins-good:png - speex gst-plugins-good:speex - taglib gst-plugins-good:taglib - vpx gst-plugins-good:vpx - - plugins-ugly ugly - x264 gst-plugins-ugly:x264 - - plugins-bad bad - aes gst-plugins-bad:aes - aom gst-plugins-bad:aom - assrender gst-plugins-bad:assrender - bzip2-bad gst-plugins-bad:bz2 - chromaprint gst-plugins-bad:chromaprint - closedcaption gst-plugins-bad:closedcaption - colormanagement gst-plugins-bad:colormanagement - dash gst-plugins-bad:dash - dc1394 gst-plugins-bad:dc1394 - dtls gst-plugins-bad:dtls - faad gst-plugins-bad:faad - fdkaac gst-plugins-bad:fdkaac - fluidsynth gst-plugins-bad:fluidsynth - libde265 gst-plugins-bad:libde265 - microdns gst-plugins-bad:microdns - modplug gst-plugins-bad:modplug - nvcodec gst-plugins-bad:nvcodec - openal gst-plugins-bad:openal - openh264 gst-plugins-bad:openh264 - openjpeg gst-plugins-bad:openjpeg - openmpt gst-plugins-bad:openmpt - opus-bad gst-plugins-bad:opus - smoothstreaming gst-plugins-bad:smoothstreaming - sndfile gst-plugins-bad:sndfile - soundtouch gst-plugins-bad:soundtouch - srt gst-plugins-bad:srt - srtp gst-plugins-bad:srtp - webp gst-plugins-bad:webp - webrtc gst-plugins-bad:webrtc - wildmidi gst-plugins-bad:wildmidi - x11-bad gst-plugins-bad:x11 - x265 gst-plugins-bad:x265 - asio gst-plugins-bad:asio +vcpkg_check_features( + OUT_FEATURE_OPTIONS + FEATURE_OPTIONS + FEATURES + gpl + gpl + libav + libav + nls + nls + ges + ges + plugins-base + base + gl-graphene + gst-plugins-base:gl-graphene + alsa + gst-plugins-base:alsa + ogg + gst-plugins-base:ogg + opus-base + gst-plugins-base:opus + pango + gst-plugins-base:pango + vorbis + gst-plugins-base:vorbis + x11-base + gst-plugins-base:x11 + x11-base + gst-plugins-base:xshm + plugins-good + good + bzip2-good + gst-plugins-good:bz2 + cairo + gst-plugins-good:cairo + flac + gst-plugins-good:flac + gdk-pixbuf + gst-plugins-good:gdk-pixbuf + jpeg + gst-plugins-good:jpeg + mpg123 + gst-plugins-good:mpg123 + png + gst-plugins-good:png + speex + gst-plugins-good:speex + taglib + gst-plugins-good:taglib + vpx + gst-plugins-good:vpx + plugins-ugly + ugly + x264 + gst-plugins-ugly:x264 + plugins-bad + bad + aes + gst-plugins-bad:aes + aom + gst-plugins-bad:aom + assrender + gst-plugins-bad:assrender + bzip2-bad + gst-plugins-bad:bz2 + chromaprint + gst-plugins-bad:chromaprint + closedcaption + gst-plugins-bad:closedcaption + colormanagement + gst-plugins-bad:colormanagement + dash + gst-plugins-bad:dash + dc1394 + gst-plugins-bad:dc1394 + dtls + gst-plugins-bad:dtls + faad + gst-plugins-bad:faad + fdkaac + gst-plugins-bad:fdkaac + fluidsynth + gst-plugins-bad:fluidsynth + libde265 + gst-plugins-bad:libde265 + microdns + gst-plugins-bad:microdns + modplug + gst-plugins-bad:modplug + nvcodec + gst-plugins-bad:nvcodec + openal + gst-plugins-bad:openal + openh264 + gst-plugins-bad:openh264 + openjpeg + gst-plugins-bad:openjpeg + openmpt + gst-plugins-bad:openmpt + opus-bad + gst-plugins-bad:opus + smoothstreaming + gst-plugins-bad:smoothstreaming + sndfile + gst-plugins-bad:sndfile + soundtouch + gst-plugins-bad:soundtouch + srt + gst-plugins-bad:srt + srtp + gst-plugins-bad:srtp + webp + gst-plugins-bad:webp + webrtc + gst-plugins-bad:webrtc + wildmidi + gst-plugins-bad:wildmidi + x11-bad + gst-plugins-bad:x11 + x265 + gst-plugins-bad:x265 + asio + gst-plugins-bad:asio ) -string(REPLACE "OFF" "disabled" FEATURE_OPTIONS "${FEATURE_OPTIONS}") -string(REPLACE "ON" "enabled" FEATURE_OPTIONS "${FEATURE_OPTIONS}") +string( + REPLACE "OFF" + "disabled" + FEATURE_OPTIONS + "${FEATURE_OPTIONS}" +) +string( + REPLACE "ON" + "enabled" + FEATURE_OPTIONS + "${FEATURE_OPTIONS}" +) -if(VCPKG_TARGET_IS_WINDOWS) - set(PLUGIN_BASE_WINDOW_SYSTEM win32) - set(PLUGIN_BASE_GL_PLATFORM wgl) -else() - set(PLUGIN_BASE_WINDOW_SYSTEM auto) - set(PLUGIN_BASE_GL_PLATFORM auto) -endif() +if (VCPKG_TARGET_IS_WINDOWS) + set(PLUGIN_BASE_WINDOW_SYSTEM win32) + set(PLUGIN_BASE_GL_PLATFORM wgl) +else () + set(PLUGIN_BASE_WINDOW_SYSTEM auto) + set(PLUGIN_BASE_GL_PLATFORM auto) +endif () -if("asio" IN_LIST FEATURES) - set(PLUGIN_BAD_ASIO_SDK_PATH ${CURRENT_INSTALLED_DIR}/include/asiosdk) -else() - set(PLUGIN_BAD_ASIO_SDK_PATH "") -endif() +if ("asio" IN_LIST FEATURES) + set(PLUGIN_BAD_ASIO_SDK_PATH ${CURRENT_INSTALLED_DIR}/include/asiosdk) +else () + set(PLUGIN_BAD_ASIO_SDK_PATH "") +endif () # # References -# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/1.20.4/subprojects/gstreamer/meson_options.txt -# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/1.20.4/subprojects/gst-plugins-base/meson_options.txt -# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/1.20.4/subprojects/gst-plugins-good/meson_options.txt -# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/1.20.4/subprojects/gst-plugins-ugly/meson_options.txt -# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/1.20.4/subprojects/gst-plugins-bad/meson_options.txt +# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/1.20.4/subprojects/gstreamer/meson_options.txt +# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/1.20.4/subprojects/gst-plugins-base/meson_options.txt +# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/1.20.4/subprojects/gst-plugins-good/meson_options.txt +# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/1.20.4/subprojects/gst-plugins-ugly/meson_options.txt +# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/1.20.4/subprojects/gst-plugins-bad/meson_options.txt # -# Rationale for added options -# Common options are added below systematically -# Feature options are added below only if the feature needs an external dependency -# Feature options that are dependent on the operating system type (like wasapi or osxaudio) are set to auto -# Every other feature options are made available if the dependency is available on vcpkg and if the plugin has managed to build during tests +# Rationale for added options Common options are added below systematically Feature +# options are added below only if the feature needs an external dependency Feature options +# that are dependent on the operating system type (like wasapi or osxaudio) are set to +# auto Every other feature options are made available if the dependency is available on +# vcpkg and if the plugin has managed to build during tests # vcpkg_configure_meson( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - ${FEATURE_OPTIONS} - # General options - -Dpython=disabled - -Dlibnice=disabled - -Ddevtools=disabled - -Drtsp_server=disabled - -Domx=disabled - -Dvaapi=disabled - -Dsharp=disabled - -Drs=disabled - -Dgst-examples=disabled - -Dtls=disabled - -Dqt5=disabled - # Common options - -Dtests=disabled - -Dexamples=disabled - -Dintrospection=disabled - -Dorc=disabled # gstreamer requires a specific version of orc which is not available in vcpkg - -Ddoc=disabled - -Dgtk_doc=disabled - # gstreamer - -Dgstreamer:check=disabled - -Dgstreamer:libunwind=disabled - -Dgstreamer:libdw=disabled - -Dgstreamer:dbghelp=disabled - -Dgstreamer:bash-completion=disabled - -Dgstreamer:coretracers=disabled - -Dgstreamer:benchmarks=disabled - -Dgstreamer:gst_debug=true - # gst-plugins-base - -Dgst-plugins-base:gl_winsys=${PLUGIN_BASE_WINDOW_SYSTEM} - -Dgst-plugins-base:gl_platform=${PLUGIN_BASE_GL_PLATFORM} - -Dgst-plugins-base:cdparanoia=disabled - -Dgst-plugins-base:libvisual=disabled - -Dgst-plugins-base:theora=disabled - -Dgst-plugins-base:tremor=disabled - -Dgst-plugins-base:xvideo=disabled - # gst-plugins-good - -Dgst-plugins-good:aalib=disabled - -Dgst-plugins-good:directsound=auto - -Dgst-plugins-good:dv=disabled - -Dgst-plugins-good:dv1394=disabled - -Dgst-plugins-good:gtk3=disabled # GTK version 3 only - -Dgst-plugins-good:jack=disabled - -Dgst-plugins-good:lame=disabled - -Dgst-plugins-good:libcaca=disabled - -Dgst-plugins-good:oss=disabled - -Dgst-plugins-good:oss4=disabled - -Dgst-plugins-good:osxaudio=auto - -Dgst-plugins-good:osxvideo=auto - -Dgst-plugins-good:pulse=auto - -Dgst-plugins-good:qt5=disabled - -Dgst-plugins-good:shout2=disabled - #-Dgst-plugins-good:soup=disabled - -Dgst-plugins-good:twolame=disabled - -Dgst-plugins-good:waveform=auto - -Dgst-plugins-good:wavpack=disabled # Error during plugin build - # gst-plugins-ugly - -Dgst-plugins-ugly:a52dec=disabled - -Dgst-plugins-ugly:amrnb=disabled - -Dgst-plugins-ugly:amrwbdec=disabled - -Dgst-plugins-ugly:cdio=disabled - -Dgst-plugins-ugly:dvdread=disabled - -Dgst-plugins-ugly:mpeg2dec=disabled # libmpeg2 not found - -Dgst-plugins-ugly:sidplay=disabled - # gst-plugins-bad - -Dgst-plugins-bad:avtp=disabled - -Dgst-plugins-bad:androidmedia=auto - -Dgst-plugins-bad:applemedia=auto - -Dgst-plugins-bad:asio-sdk-path=${PLUGIN_BAD_ASIO_SDK_PATH} - -Dgst-plugins-bad:bluez=disabled - -Dgst-plugins-bad:bs2b=disabled - -Dgst-plugins-bad:curl=disabled # Error during plugin build - -Dgst-plugins-bad:curl-ssh2=disabled - -Dgst-plugins-bad:d3dvideosink=auto - -Dgst-plugins-bad:d3d11=auto - -Dgst-plugins-bad:decklink=disabled - -Dgst-plugins-bad:directfb=disabled - -Dgst-plugins-bad:directsound=auto - -Dgst-plugins-bad:dts=disabled - -Dgst-plugins-bad:dvb=auto - -Dgst-plugins-bad:faac=disabled - -Dgst-plugins-bad:fbdev=auto - -Dgst-plugins-bad:flite=disabled - -Dgst-plugins-bad:gl=auto - -Dgst-plugins-bad:gme=disabled - -Dgst-plugins-bad:gs=disabled # Error during plugin configuration (abseil pkg-config file missing) - -Dgst-plugins-bad:gsm=disabled - -Dgst-plugins-bad:ipcpipeline=auto - -Dgst-plugins-bad:iqa=disabled - -Dgst-plugins-bad:kate=disabled - -Dgst-plugins-bad:kms=disabled - -Dgst-plugins-bad:ladspa=disabled - -Dgst-plugins-bad:ldac=disabled - -Dgst-plugins-bad:lv2=disabled # Error during plugin configuration (lilv pkg-config file missing) - -Dgst-plugins-bad:mediafoundation=auto - -Dgst-plugins-bad:mpeg2enc=disabled - -Dgst-plugins-bad:mplex=disabled - -Dgst-plugins-bad:msdk=disabled - -Dgst-plugins-bad:musepack=disabled - -Dgst-plugins-bad:neon=disabled - -Dgst-plugins-bad:onnx=disabled # libonnxruntime not found - -Dgst-plugins-bad:openaptx=disabled - -Dgst-plugins-bad:opencv=disabled # opencv not found - -Dgst-plugins-bad:openexr=disabled # OpenEXR::IlmImf target not found - -Dgst-plugins-bad:openni2=disabled # libopenni2 not found - -Dgst-plugins-bad:opensles=disabled - -Dgst-plugins-bad:qroverlay=disabled - -Dgst-plugins-bad:resindvd=disabled - -Dgst-plugins-bad:rsvg=disabled # librsvg-2.0 not found - -Dgst-plugins-bad:rtmp=disabled # librtmp not found - -Dgst-plugins-bad:sbc=disabled - -Dgst-plugins-bad:sctp=auto - -Dgst-plugins-bad:shm=disabled - -Dgst-plugins-bad:spandsp=disabled - -Dgst-plugins-bad:svthevcenc=disabled - -Dgst-plugins-bad:teletext=disabled - -Dgst-plugins-bad:tinyalsa=disabled - -Dgst-plugins-bad:transcode=disabled - -Dgst-plugins-bad:ttml=disabled - -Dgst-plugins-bad:uvch264=disabled - -Dgst-plugins-bad:va=disabled - -Dgst-plugins-bad:voaacenc=disabled - -Dgst-plugins-bad:voamrwbenc=disabled - -Dgst-plugins-bad:vulkan=auto - -Dgst-plugins-bad:wasapi=auto - -Dgst-plugins-bad:wasapi2=auto - -Dgst-plugins-bad:wayland=auto - -Dgst-plugins-bad:winks=disabled - -Dgst-plugins-bad:winscreencap=auto - -Dgst-plugins-bad:zbar=disabled # Error during plugin build - -Dgst-plugins-bad:zxing=disabled # Error during plugin build - -Dgst-plugins-bad:wpe=disabled - -Dgst-plugins-bad:magicleap=disabled - -Dgst-plugins-bad:v4l2codecs=disabled - -Dgst-plugins-bad:isac=disabled - OPTIONS_RELEASE - -Dgobject-cast-checks=disabled - -Dglib-asserts=disabled - -Dglib-checks=disabled - -Dgstreamer:extra-checks=disabled - ADDITIONAL_BINARIES - flex='${FLEX}' - bison='${BISON}' - nasm='${NASM}' - glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + SOURCE_PATH + "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + # General options + -Dpython=disabled + -Dlibnice=disabled + -Ddevtools=disabled + -Drtsp_server=disabled + -Domx=disabled + -Dvaapi=disabled + -Dsharp=disabled + -Drs=disabled + -Dgst-examples=disabled + -Dtls=disabled + -Dqt5=disabled + # Common options + -Dtests=disabled + -Dexamples=disabled + -Dintrospection=disabled + -Dorc=disabled # gstreamer requires a specific version of orc which is not available in + # vcpkg + -Ddoc=disabled + -Dgtk_doc=disabled + # gstreamer + -Dgstreamer:check=disabled + -Dgstreamer:libunwind=disabled + -Dgstreamer:libdw=disabled + -Dgstreamer:dbghelp=disabled + -Dgstreamer:bash-completion=disabled + -Dgstreamer:coretracers=disabled + -Dgstreamer:benchmarks=disabled + -Dgstreamer:gst_debug=true + # gst-plugins-base + -Dgst-plugins-base:gl_winsys=${PLUGIN_BASE_WINDOW_SYSTEM} + -Dgst-plugins-base:gl_platform=${PLUGIN_BASE_GL_PLATFORM} + -Dgst-plugins-base:cdparanoia=disabled + -Dgst-plugins-base:libvisual=disabled + -Dgst-plugins-base:theora=disabled + -Dgst-plugins-base:tremor=disabled + -Dgst-plugins-base:xvideo=disabled + # gst-plugins-good + -Dgst-plugins-good:aalib=disabled + -Dgst-plugins-good:directsound=auto + -Dgst-plugins-good:dv=disabled + -Dgst-plugins-good:dv1394=disabled + -Dgst-plugins-good:gtk3=disabled # GTK version 3 only + -Dgst-plugins-good:jack=disabled + -Dgst-plugins-good:lame=disabled + -Dgst-plugins-good:libcaca=disabled + -Dgst-plugins-good:oss=disabled + -Dgst-plugins-good:oss4=disabled + -Dgst-plugins-good:osxaudio=auto + -Dgst-plugins-good:osxvideo=auto + -Dgst-plugins-good:pulse=auto + -Dgst-plugins-good:qt5=disabled + -Dgst-plugins-good:shout2=disabled + # -Dgst-plugins-good:soup=disabled + -Dgst-plugins-good:twolame=disabled + -Dgst-plugins-good:waveform=auto + -Dgst-plugins-good:wavpack=disabled # Error during plugin build + # gst-plugins-ugly + -Dgst-plugins-ugly:a52dec=disabled + -Dgst-plugins-ugly:amrnb=disabled + -Dgst-plugins-ugly:amrwbdec=disabled + -Dgst-plugins-ugly:cdio=disabled + -Dgst-plugins-ugly:dvdread=disabled + -Dgst-plugins-ugly:mpeg2dec=disabled # libmpeg2 not found + -Dgst-plugins-ugly:sidplay=disabled + # gst-plugins-bad + -Dgst-plugins-bad:avtp=disabled + -Dgst-plugins-bad:androidmedia=auto + -Dgst-plugins-bad:applemedia=auto + -Dgst-plugins-bad:asio-sdk-path=${PLUGIN_BAD_ASIO_SDK_PATH} + -Dgst-plugins-bad:bluez=disabled + -Dgst-plugins-bad:bs2b=disabled + -Dgst-plugins-bad:curl=disabled # Error during plugin build + -Dgst-plugins-bad:curl-ssh2=disabled + -Dgst-plugins-bad:d3dvideosink=auto + -Dgst-plugins-bad:d3d11=auto + -Dgst-plugins-bad:decklink=disabled + -Dgst-plugins-bad:directfb=disabled + -Dgst-plugins-bad:directsound=auto + -Dgst-plugins-bad:dts=disabled + -Dgst-plugins-bad:dvb=auto + -Dgst-plugins-bad:faac=disabled + -Dgst-plugins-bad:fbdev=auto + -Dgst-plugins-bad:flite=disabled + -Dgst-plugins-bad:gl=auto + -Dgst-plugins-bad:gme=disabled + -Dgst-plugins-bad:gs=disabled # Error during plugin configuration (abseil pkg-config + # file missing) + -Dgst-plugins-bad:gsm=disabled + -Dgst-plugins-bad:ipcpipeline=auto + -Dgst-plugins-bad:iqa=disabled + -Dgst-plugins-bad:kate=disabled + -Dgst-plugins-bad:kms=disabled + -Dgst-plugins-bad:ladspa=disabled + -Dgst-plugins-bad:ldac=disabled + -Dgst-plugins-bad:lv2=disabled # Error during plugin configuration (lilv pkg-config file + # missing) + -Dgst-plugins-bad:mediafoundation=auto + -Dgst-plugins-bad:mpeg2enc=disabled + -Dgst-plugins-bad:mplex=disabled + -Dgst-plugins-bad:msdk=disabled + -Dgst-plugins-bad:musepack=disabled + -Dgst-plugins-bad:neon=disabled + -Dgst-plugins-bad:onnx=disabled # libonnxruntime not found + -Dgst-plugins-bad:openaptx=disabled + -Dgst-plugins-bad:opencv=disabled # opencv not found + -Dgst-plugins-bad:openexr=disabled # OpenEXR::IlmImf target not found + -Dgst-plugins-bad:openni2=disabled # libopenni2 not found + -Dgst-plugins-bad:opensles=disabled + -Dgst-plugins-bad:qroverlay=disabled + -Dgst-plugins-bad:resindvd=disabled + -Dgst-plugins-bad:rsvg=disabled # librsvg-2.0 not found + -Dgst-plugins-bad:rtmp=disabled # librtmp not found + -Dgst-plugins-bad:sbc=disabled + -Dgst-plugins-bad:sctp=auto + -Dgst-plugins-bad:shm=disabled + -Dgst-plugins-bad:spandsp=disabled + -Dgst-plugins-bad:svthevcenc=disabled + -Dgst-plugins-bad:teletext=disabled + -Dgst-plugins-bad:tinyalsa=disabled + -Dgst-plugins-bad:transcode=disabled + -Dgst-plugins-bad:ttml=disabled + -Dgst-plugins-bad:uvch264=disabled + -Dgst-plugins-bad:va=disabled + -Dgst-plugins-bad:voaacenc=disabled + -Dgst-plugins-bad:voamrwbenc=disabled + -Dgst-plugins-bad:vulkan=auto + -Dgst-plugins-bad:wasapi=auto + -Dgst-plugins-bad:wasapi2=auto + -Dgst-plugins-bad:wayland=auto + -Dgst-plugins-bad:winks=disabled + -Dgst-plugins-bad:winscreencap=auto + -Dgst-plugins-bad:zbar=disabled # Error during plugin build + -Dgst-plugins-bad:zxing=disabled # Error during plugin build + -Dgst-plugins-bad:wpe=disabled + -Dgst-plugins-bad:magicleap=disabled + -Dgst-plugins-bad:v4l2codecs=disabled + -Dgst-plugins-bad:isac=disabled + OPTIONS_RELEASE + -Dgobject-cast-checks=disabled + -Dglib-asserts=disabled + -Dglib-checks=disabled + -Dgstreamer:extra-checks=disabled + ADDITIONAL_BINARIES + flex='${FLEX}' + bison='${BISON}' + nasm='${NASM}' + glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' + glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' ) vcpkg_install_meson() # Remove duplicated GL headers (we already have `opengl-registry`) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/KHR" - "${CURRENT_PACKAGES_DIR}/include/GL" + "${CURRENT_PACKAGES_DIR}/include/GL" ) -if(NOT VCPKG_TARGET_IS_LINUX AND "plugins-base" IN_LIST FEATURES) - file(RENAME "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/include/gst/gl/gstglconfig.h" - "${CURRENT_PACKAGES_DIR}/include/gstreamer-1.0/gst/gl/gstglconfig.h" - ) -endif() +if (NOT VCPKG_TARGET_IS_LINUX AND "plugins-base" IN_LIST FEATURES) + file(RENAME "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/include/gst/gl/gstglconfig.h" + "${CURRENT_PACKAGES_DIR}/include/gstreamer-1.0/gst/gl/gstglconfig.h" + ) +endif () -list(APPEND GST_BIN_TOOLS - gst-inspect-1.0 - gst-launch-1.0 - gst-stats-1.0 - gst-typefind-1.0 -) -list(APPEND GST_LIBEXEC_TOOLS - gst-plugin-scanner +list( + APPEND + GST_BIN_TOOLS + gst-inspect-1.0 + gst-launch-1.0 + gst-stats-1.0 + gst-typefind-1.0 ) +list(APPEND GST_LIBEXEC_TOOLS gst-plugin-scanner) -if("ges" IN_LIST FEATURES) - list(APPEND GST_BIN_TOOLS ges-launch-1.0) -endif() +if ("ges" IN_LIST FEATURES) + list(APPEND GST_BIN_TOOLS ges-launch-1.0) +endif () -if("plugins-base" IN_LIST FEATURES) - list(APPEND GST_BIN_TOOLS - gst-device-monitor-1.0 - gst-discoverer-1.0 - gst-play-1.0 - ) -endif() +if ("plugins-base" IN_LIST FEATURES) + list( + APPEND + GST_BIN_TOOLS + gst-device-monitor-1.0 + gst-discoverer-1.0 + gst-play-1.0 + ) +endif () -if("plugins-bad" IN_LIST FEATURES) - list(APPEND GST_BIN_TOOLS - gst-transcoder-1.0 - ) -endif() +if ("plugins-bad" IN_LIST FEATURES) + list(APPEND GST_BIN_TOOLS gst-transcoder-1.0) +endif () -vcpkg_copy_tools( - TOOL_NAMES ${GST_BIN_TOOLS} - AUTO_CLEAN -) +vcpkg_copy_tools(TOOL_NAMES ${GST_BIN_TOOLS} AUTO_CLEAN) vcpkg_copy_tools( - TOOL_NAMES ${GST_LIBEXEC_TOOLS} - SEARCH_DIR "${CURRENT_PACKAGES_DIR}/libexec/gstreamer-1.0" - AUTO_CLEAN + TOOL_NAMES + ${GST_LIBEXEC_TOOLS} + SEARCH_DIR + "${CURRENT_PACKAGES_DIR}/libexec/gstreamer-1.0" + AUTO_CLEAN ) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" - "${CURRENT_PACKAGES_DIR}/debug/libexec" - "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/include" - "${CURRENT_PACKAGES_DIR}/libexec" - "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/include" - "${CURRENT_PACKAGES_DIR}/share/gdb" +file( + REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/libexec" + "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/include" + "${CURRENT_PACKAGES_DIR}/libexec" + "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/include" + "${CURRENT_PACKAGES_DIR}/share/gdb" ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - # Move plugin pkg-config files - file(GLOB pc_files "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/pkgconfig/*") - file(COPY ${pc_files} DESTINATION "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") - file(GLOB pc_files_dbg "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/pkgconfig/*") - file(COPY ${pc_files_dbg} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/pkgconfig/" - "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/pkgconfig/") +if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + # Move plugin pkg-config files + file(GLOB pc_files "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/pkgconfig/*") + file(COPY ${pc_files} DESTINATION "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") + file(GLOB pc_files_dbg "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/pkgconfig/*") + file(COPY ${pc_files_dbg} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/pkgconfig/" + "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/pkgconfig/" + ) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin" - "${CURRENT_PACKAGES_DIR}/bin" + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin" "${CURRENT_PACKAGES_DIR}/bin") + set(PREFIX "${CMAKE_SHARED_LIBRARY_PREFIX}") + set(SUFFIX "${CMAKE_SHARED_LIBRARY_SUFFIX}") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/${PREFIX}gstreamer-full-1.0${SUFFIX}" + "${CURRENT_PACKAGES_DIR}/lib/${PREFIX}gstreamer-full-1.0${SUFFIX}" + ) + vcpkg_replace_string( + "${CURRENT_PACKAGES_DIR}/include/gstreamer-1.0/gst/gstconfig.h" + "!defined(GST_STATIC_COMPILATION)" "0" + ) +endif () + +if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + # move plugins to ${prefix}/plugins/${PORT} instead of ${prefix}/lib/gstreamer-1.0 + if (NOT VCPKG_BUILD_TYPE) + file( + GLOB + DBG_BINS + "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/${CMAKE_SHARED_LIBRARY_PREFIX}*${CMAKE_SHARED_LIBRARY_SUFFIX}" + "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/*.pdb" ) - set(PREFIX "${CMAKE_SHARED_LIBRARY_PREFIX}") - set(SUFFIX "${CMAKE_SHARED_LIBRARY_SUFFIX}") - file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/${PREFIX}gstreamer-full-1.0${SUFFIX}" - "${CURRENT_PACKAGES_DIR}/lib/${PREFIX}gstreamer-full-1.0${SUFFIX}" + file(COPY ${DBG_BINS} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/plugins/${PORT}") + endif () + file( + GLOB + REL_BINS + "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/${CMAKE_SHARED_LIBRARY_PREFIX}*${CMAKE_SHARED_LIBRARY_SUFFIX}" + "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/*.pdb" + ) + file(COPY ${REL_BINS} DESTINATION "${CURRENT_PACKAGES_DIR}/plugins/${PORT}") + file(REMOVE ${DBG_BINS} ${REL_BINS}) + if (NOT VCPKG_TARGET_IS_WINDOWS) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0" + "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0" ) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/gstreamer-1.0/gst/gstconfig.h" "!defined(GST_STATIC_COMPILATION)" "0") -endif() + endif () -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - # move plugins to ${prefix}/plugins/${PORT} instead of ${prefix}/lib/gstreamer-1.0 - if(NOT VCPKG_BUILD_TYPE) - file(GLOB DBG_BINS "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/${CMAKE_SHARED_LIBRARY_PREFIX}*${CMAKE_SHARED_LIBRARY_SUFFIX}" - "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/*.pdb" - ) - file(COPY ${DBG_BINS} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/plugins/${PORT}") - endif() - file(GLOB REL_BINS "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/${CMAKE_SHARED_LIBRARY_PREFIX}*${CMAKE_SHARED_LIBRARY_SUFFIX}" - "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/*.pdb" + set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gstreamer-1.0.pc") + if (EXISTS "${_file}") + file(READ "${_file}" _contents) + string( + REPLACE [[toolsdir=${exec_prefix}/bin]] + "toolsdir=\${prefix}/../tools/${PORT}" + _contents + "${_contents}" ) - file(COPY ${REL_BINS} DESTINATION "${CURRENT_PACKAGES_DIR}/plugins/${PORT}") - file(REMOVE ${DBG_BINS} ${REL_BINS}) - if(NOT VCPKG_TARGET_IS_WINDOWS) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0" "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0") - endif() - - set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gstreamer-1.0.pc") - if(EXISTS "${_file}") - file(READ "${_file}" _contents) - string(REPLACE [[toolsdir=${exec_prefix}/bin]] "toolsdir=\${prefix}/../tools/${PORT}" _contents "${_contents}") - string(REPLACE [[pluginscannerdir=${libexecdir}/gstreamer-1.0]] "pluginscannerdir=\${prefix}/../tools/${PORT}" _contents "${_contents}") - string(REPLACE [[pluginsdir=${libdir}/gstreamer-1.0]] "pluginsdir=\${prefix}/plugins/${PORT}" _contents "${_contents}") - file(WRITE "${_file}" "${_contents}") - endif() + string( + REPLACE [[pluginscannerdir=${libexecdir}/gstreamer-1.0]] + "pluginscannerdir=\${prefix}/../tools/${PORT}" + _contents + "${_contents}" + ) + string( + REPLACE [[pluginsdir=${libdir}/gstreamer-1.0]] + "pluginsdir=\${prefix}/plugins/${PORT}" + _contents + "${_contents}" + ) + file(WRITE "${_file}" "${_contents}") + endif () - set(_file "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gstreamer-1.0.pc") - if(EXISTS "${_file}") - file(READ "${_file}" _contents) - string(REPLACE [[toolsdir=${exec_prefix}/bin]] "toolsdir=\${prefix}/tools/${PORT}" _contents "${_contents}") - string(REPLACE [[pluginscannerdir=${libexecdir}/gstreamer-1.0]] "pluginscannerdir=\${prefix}/tools/${PORT}" _contents "${_contents}") - string(REPLACE [[pluginsdir=${libdir}/gstreamer-1.0]] "pluginsdir=\${prefix}/plugins/${PORT}" _contents "${_contents}") - file(WRITE "${_file}" "${_contents}") - endif() -endif() + set(_file "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gstreamer-1.0.pc") + if (EXISTS "${_file}") + file(READ "${_file}" _contents) + string( + REPLACE [[toolsdir=${exec_prefix}/bin]] + "toolsdir=\${prefix}/tools/${PORT}" + _contents + "${_contents}" + ) + string( + REPLACE [[pluginscannerdir=${libexecdir}/gstreamer-1.0]] + "pluginscannerdir=\${prefix}/tools/${PORT}" + _contents + "${_contents}" + ) + string( + REPLACE [[pluginsdir=${libdir}/gstreamer-1.0]] + "pluginsdir=\${prefix}/plugins/${PORT}" + _contents + "${_contents}" + ) + file(WRITE "${_file}" "${_contents}") + endif () +endif () vcpkg_fixup_pkgconfig() diff --git a/vcpkg/ports/libb2/portfile.cmake b/vcpkg/ports/libb2/portfile.cmake index 452218f28..012f9360a 100644 --- a/vcpkg/ports/libb2/portfile.cmake +++ b/vcpkg/ports/libb2/portfile.cmake @@ -1,29 +1,39 @@ vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO BLAKE2/libb2 - REF 2c5142f12a2cd52f3ee0a43e50a3a76f75badf85 - SHA512 cf29cf9391ae37a978eb6618de6f856f3defa622b8f56c2d5a519ab34fd5e4d91f3bb868601a44e9c9164a2992e80dde188ccc4d1605dffbdf93687336226f8d - HEAD_REF master + OUT_SOURCE_PATH + SOURCE_PATH + REPO + BLAKE2/libb2 + REF + 2c5142f12a2cd52f3ee0a43e50a3a76f75badf85 + SHA512 + cf29cf9391ae37a978eb6618de6f856f3defa622b8f56c2d5a519ab34fd5e4d91f3bb868601a44e9c9164a2992e80dde188ccc4d1605dffbdf93687336226f8d + HEAD_REF + master ) set(OPTIONS) -if(CMAKE_HOST_WIN32) - set(OPTIONS --disable-native) # requires cpuid -endif() +if (CMAKE_HOST_WIN32) + set(OPTIONS --disable-native) # requires cpuid +endif () vcpkg_configure_make( - AUTOCONFIG - SOURCE_PATH ${SOURCE_PATH} - OPTIONS - ax_cv_check_cflags___O3=no # see https://github.com/microsoft/vcpkg/pull/17912#issuecomment-840514179 - ${OPTIONS} + AUTOCONFIG + SOURCE_PATH + ${SOURCE_PATH} + OPTIONS + ax_cv_check_cflags___O3=no # see + # https://github.com/microsoft/vcpkg/pull/17912#issuecomment-840514179 + ${OPTIONS} ) vcpkg_install_make() vcpkg_fixup_pkgconfig() - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file( + INSTALL ${SOURCE_PATH}/COPYING + DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} + RENAME copyright +) diff --git a/vcpkg/ports/qca/portfile.cmake b/vcpkg/ports/qca/portfile.cmake index 3f695104e..ab649bfb1 100644 --- a/vcpkg/ports/qca/portfile.cmake +++ b/vcpkg/ports/qca/portfile.cmake @@ -1,99 +1,112 @@ -# This portfile adds the Qt Cryptographic Arcitecture -# Changes to the original build: -# No -qt5 suffix, which is recommended just for Linux -# Output directories according to vcpkg -# Updated certstore. See certstore.pem in the output dirs +# This portfile adds the Qt Cryptographic Arcitecture Changes to the original build: No +# -qt5 suffix, which is recommended just for Linux Output directories according to vcpkg +# Updated certstore. See certstore.pem in the output dirs # vcpkg_find_acquire_program(PERL) get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) vcpkg_add_to_path("${PERL_EXE_PATH}") vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KDE/qca - REF "v${VERSION}" - SHA512 956d36058db61498c492fc9b5345b45ca75a5e8214fcbf358273dfacdd5980c1394394652536d9332df05f29fc912d0781338bcca403d98de1285bb8b1216402 - PATCHES - 0001-fix-path-for-vcpkg.patch - 0002-fix-build-error.patch - 0003-Define-NOMINMAX-for-botan-plugin-with-MSVC.patch + OUT_SOURCE_PATH + SOURCE_PATH + REPO + KDE/qca + REF + "v${VERSION}" + SHA512 + 956d36058db61498c492fc9b5345b45ca75a5e8214fcbf358273dfacdd5980c1394394652536d9332df05f29fc912d0781338bcca403d98de1285bb8b1216402 + PATCHES + 0001-fix-path-for-vcpkg.patch + 0002-fix-build-error.patch + 0003-Define-NOMINMAX-for-botan-plugin-with-MSVC.patch ) vcpkg_find_acquire_program(PKGCONFIG) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") +if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") set(QCA_FEATURE_INSTALL_DIR_DEBUG ${CURRENT_PACKAGES_DIR}/debug/bin/Qca) set(QCA_FEATURE_INSTALL_DIR_RELEASE ${CURRENT_PACKAGES_DIR}/bin/Qca) -else() +else () set(QCA_FEATURE_INSTALL_DIR_DEBUG ${CURRENT_PACKAGES_DIR}/debug/lib/Qca) set(QCA_FEATURE_INSTALL_DIR_RELEASE ${CURRENT_PACKAGES_DIR}/lib/Qca) -endif() +endif () -# According to: -# https://www.openssl.org/docs/faq.html#USER16 -# it is up to developers or admins to maintain CAs. -# So we do it here: +# According to: https://www.openssl.org/docs/faq.html#USER16 it is up to developers or +# admins to maintain CAs. So we do it here: message(STATUS "Importing certstore") file(REMOVE "${SOURCE_PATH}/certs/rootcerts.pem") # Using file(DOWNLOAD) to use https -file(DOWNLOAD https://raw.githubusercontent.com/mozilla/gecko-dev/master/security/nss/lib/ckfw/builtins/certdata.txt - "${CURRENT_BUILDTREES_DIR}/cert/certdata.txt" - TLS_VERIFY ON +file( + DOWNLOAD + https://raw.githubusercontent.com/mozilla/gecko-dev/master/security/nss/lib/ckfw/builtins/certdata.txt + "${CURRENT_BUILDTREES_DIR}/cert/certdata.txt" + TLS_VERIFY ON ) vcpkg_execute_required_process( - COMMAND "${PERL}" "${CMAKE_CURRENT_LIST_DIR}/mk-ca-bundle.pl" -n "${SOURCE_PATH}/certs/rootcerts.pem" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/cert" - LOGNAME ca-bundle + COMMAND + "${PERL}" + "${CMAKE_CURRENT_LIST_DIR}/mk-ca-bundle.pl" + -n + "${SOURCE_PATH}/certs/rootcerts.pem" + WORKING_DIRECTORY + "${CURRENT_BUILDTREES_DIR}/cert" + LOGNAME + ca-bundle ) message(STATUS "Importing certstore done") set(PLUGINS logger softstore wincrypto) -if("botan" IN_LIST FEATURES) - list(APPEND PLUGINS botan) -endif() +if ("botan" IN_LIST FEATURES) + list(APPEND PLUGINS botan) +endif () if ("gnupg" IN_LIST FEATURES) - list(APPEND PLUGINS gnupg) -endif() + list(APPEND PLUGINS gnupg) +endif () if ("ossl" IN_LIST FEATURES) - list(APPEND PLUGINS ossl) -endif() + list(APPEND PLUGINS ossl) +endif () # Configure and build vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DUSE_RELATIVE_PATHS=ON - "-DBUILD_PLUGINS=${PLUGINS}" - -DBUILD_TESTS=OFF - -DBUILD_TOOLS=OFF - -DBUILD_WITH_QT6=ON - -DQCA_SUFFIX=OFF - -DQCA_FEATURE_INSTALL_DIR=share/qca/mkspecs/features - -DOSX_FRAMEWORK=OFF - "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" - OPTIONS_DEBUG - -DQCA_PLUGINS_INSTALL_DIR=${QCA_FEATURE_INSTALL_DIR_DEBUG} - OPTIONS_RELEASE - -DQCA_PLUGINS_INSTALL_DIR=${QCA_FEATURE_INSTALL_DIR_RELEASE} + SOURCE_PATH + "${SOURCE_PATH}" + OPTIONS + -DUSE_RELATIVE_PATHS=ON + "-DBUILD_PLUGINS=${PLUGINS}" + -DBUILD_TESTS=OFF + -DBUILD_TOOLS=OFF + -DBUILD_WITH_QT6=ON + -DQCA_SUFFIX=OFF + -DQCA_FEATURE_INSTALL_DIR=share/qca/mkspecs/features + -DOSX_FRAMEWORK=OFF + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" + OPTIONS_DEBUG + -DQCA_PLUGINS_INSTALL_DIR=${QCA_FEATURE_INSTALL_DIR_DEBUG} + OPTIONS_RELEASE + -DQCA_PLUGINS_INSTALL_DIR=${QCA_FEATURE_INSTALL_DIR_RELEASE} ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH share/qca/cmake) file(READ "${CURRENT_PACKAGES_DIR}/share/${PORT}/QcaConfig.cmake" QCA_CONFIG_FILE) -string(REGEX REPLACE "PACKAGE_PREFIX_DIR \"(.*)\" ABSOLUTE" - [[PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE]] - QCA_CONFIG_FILE "${QCA_CONFIG_FILE}" +string( + REGEX + REPLACE "PACKAGE_PREFIX_DIR \"(.*)\" ABSOLUTE" + [[PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE]] + QCA_CONFIG_FILE + "${QCA_CONFIG_FILE}" ) file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/QcaConfig.cmake" "${QCA_CONFIG_FILE}") # Remove unneeded dirs -file(REMOVE_RECURSE - "${CURRENT_BUILDTREES_DIR}/share/man" - "${CURRENT_PACKAGES_DIR}/share/man" - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/share" +file( + REMOVE_RECURSE + "${CURRENT_BUILDTREES_DIR}/share/man" + "${CURRENT_PACKAGES_DIR}/share/man" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" ) vcpkg_fixup_pkgconfig() diff --git a/vcpkg/ports/qgis/portfile.cmake b/vcpkg/ports/qgis/portfile.cmake index 43e6af380..34f8be2eb 100644 --- a/vcpkg/ports/qgis/portfile.cmake +++ b/vcpkg/ports/qgis/portfile.cmake @@ -1,15 +1,21 @@ set(QGIS_REF 55d788f1f80183bd52fd8045c1fbed5e6260f194) # final-3_40_4 -set(QGIS_SHA512 6eb3e2259fda72f7e2e8203d951b891963d52d47128793af02dfa989a467ba5524ab7a1019b4cf4acfd9e70c21635bd7b8577dc452d5cf7b98fcf7ce03d97b9f) +set(QGIS_SHA512 + 6eb3e2259fda72f7e2e8203d951b891963d52d47128793af02dfa989a467ba5524ab7a1019b4cf4acfd9e70c21635bd7b8577dc452d5cf7b98fcf7ce03d97b9f +) vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO qgis/QGIS - REF ${QGIS_REF} - SHA512 ${QGIS_SHA512} - PATCHES - cmakelists.patch - crssync.patch - libxml2.patch + OUT_SOURCE_PATH + SOURCE_PATH + REPO + qgis/QGIS + REF + ${QGIS_REF} + SHA512 + ${QGIS_SHA512} + PATCHES + cmakelists.patch + crssync.patch + libxml2.patch ) file(REMOVE ${SOURCE_PATH}/cmake/FindQtKeychain.cmake) @@ -63,213 +69,349 @@ list(APPEND QGIS_OPTIONS -DQGIS_MACAPP_FRAMEWORK=FALSE) list(APPEND QGIS_OPTIONS -DWITH_QTSERIALPORT=FALSE) # Configure debug and release library paths -macro(FIND_LIB_OPTIONS basename relname debname suffix libsuffix) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/${VCPKG_TARGET_IMPORT_LIBRARY_PREFIX}${relname}${libsuffix}" ${basename}_LIBRARY_RELEASE) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/${VCPKG_TARGET_IMPORT_LIBRARY_PREFIX}${debname}${libsuffix}" ${basename}_LIBRARY_DEBUG) - if( ${basename}_LIBRARY_DEBUG AND ${basename}_LIBRARY_RELEASE AND NOT ${basename}_LIBRARY_DEBUG STREQUAL ${basename}_LIBRARY_RELEASE ) - list(APPEND QGIS_OPTIONS_RELEASE -D${basename}_${suffix}:FILEPATH=${${basename}_LIBRARY_RELEASE}) - list(APPEND QGIS_OPTIONS_DEBUG -D${basename}_${suffix}:FILEPATH=${${basename}_LIBRARY_DEBUG}) - elseif( ${basename}_LIBRARY_RELEASE ) - list(APPEND QGIS_OPTIONS -D${basename}_${suffix}:FILEPATH=${${basename}_LIBRARY_RELEASE}) - elseif( ${basename}_LIBRARY_DEBUG ) - list(APPEND QGIS_OPTIONS -D${basename}_${suffix}:FILEPATH=${${basename}_LIBRARY_DEBUG}) - endif() -endmacro() - -# QGIS likes to install auth and providers to different locations on each platform -# let's keep things clean and tidy and put them at a predictable location +macro ( + FIND_LIB_OPTIONS + basename + relname + debname + suffix + libsuffix +) + file( + TO_NATIVE_PATH + "${CURRENT_INSTALLED_DIR}/lib/${VCPKG_TARGET_IMPORT_LIBRARY_PREFIX}${relname}${libsuffix}" + ${basename}_LIBRARY_RELEASE + ) + file( + TO_NATIVE_PATH + "${CURRENT_INSTALLED_DIR}/debug/lib/${VCPKG_TARGET_IMPORT_LIBRARY_PREFIX}${debname}${libsuffix}" + ${basename}_LIBRARY_DEBUG + ) + if (${basename}_LIBRARY_DEBUG + AND ${basename}_LIBRARY_RELEASE + AND NOT + ${basename}_LIBRARY_DEBUG + STREQUAL + ${basename}_LIBRARY_RELEASE + ) + list(APPEND QGIS_OPTIONS_RELEASE + -D${basename}_${suffix}:FILEPATH=${${basename}_LIBRARY_RELEASE} + ) + list(APPEND QGIS_OPTIONS_DEBUG + -D${basename}_${suffix}:FILEPATH=${${basename}_LIBRARY_DEBUG} + ) + elseif (${basename}_LIBRARY_RELEASE) + list(APPEND QGIS_OPTIONS + -D${basename}_${suffix}:FILEPATH=${${basename}_LIBRARY_RELEASE} + ) + elseif (${basename}_LIBRARY_DEBUG) + list(APPEND QGIS_OPTIONS + -D${basename}_${suffix}:FILEPATH=${${basename}_LIBRARY_DEBUG} + ) + endif () +endmacro () + +# QGIS likes to install auth and providers to different locations on each platform let's +# keep things clean and tidy and put them at a predictable location list(APPEND QGIS_OPTIONS -DQGIS_PLUGIN_SUBDIR=lib) -# By default QGIS installs includes into "include" on Windows and into "include/qgis" everywhere else -# let's keep things clean and tidy and put them at a predictable location +# By default QGIS installs includes into "include" on Windows and into "include/qgis" +# everywhere else let's keep things clean and tidy and put them at a predictable location list(APPEND QGIS_OPTIONS -DQGIS_INCLUDE_SUBDIR=include/qgis) +if (VCPKG_TARGET_IS_WINDOWS) + # ###################################################################################### + # Install pip if(NOT EXISTS "${PYTHON3_PATH}/Scripts/pip.exe") MESSAGE(STATUS "Install + # pip for Python Begin ...") vcpkg_download_distfile( GET_PIP_PATH URLS + # https://bootstrap.pypa.io/pip/3.5/get-pip.py FILENAME get-pip.py SHA512 + # a408dd74e69a2c3259e06669562bebfff676156a1a3b2f8ba6594ed308e3f94afdf79257688e59b02bf02bd7f6ecbea510fc6665b403149031f14bcc08308a47 + # ) + + # vcpkg_execute_required_process( COMMAND "${PYTHON_EXECUTABLE}" "${GET_PIP_PATH}" + # WORKING_DIRECTORY ${PYTHON3_PATH} LOGNAME pip ) + + # vcpkg_execute_required_process( COMMAND "${PYTHON_EXECUTABLE}" -m pip install + # --upgrade pip WORKING_DIRECTORY ${PYTHON3_PATH} LOGNAME pip ) MESSAGE(STATUS "Install + # pip for Python End") endif (NOT EXISTS "${PYTHON3_PATH}/Scripts/pip.exe") + # ###################################################################################### + + list(APPEND QGIS_OPTIONS -DBISON_EXECUTABLE="${BISON}") + list(APPEND QGIS_OPTIONS -DFLEX_EXECUTABLE="${FLEX}") + + # list(APPEND QGIS_OPTIONS -DPYUIC_PROGRAM=${PYTHON3_PATH}/Scripts/pyuic5.exe) + # list(APPEND QGIS_OPTIONS -DPYRCC_PROGRAM=${PYTHON3_PATH}/Scripts/pyrcc5.exe) + # list(APPEND QGIS_OPTIONS + # -DQT_LRELEASE_EXECUTABLE=${CURRENT_INSTALLED_DIR}/tools/qt5-tools/bin/lrelease.exe) + + # qgis_gui depends on Qt5UiTools, and Qt5UiTools is a static library. If + # Qt5_EXCLUDE_STATIC_DEPENDENCIES is not set, it will add the QT release library that it + # depends on. so that in debug mode, it will reference both the qt debug library and the + # release library. In Debug mode, add Qt5_EXCLUDE_STATIC_DEPENDENCIES to avoid this bug + list(APPEND QGIS_OPTIONS_DEBUG -DQt5_EXCLUDE_STATIC_DEPENDENCIES:BOOL=ON) + + find_lib_options( + GDAL + gdal + gdald + LIBRARY + ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX} + ) + find_lib_options( + GEOS + geos_c + geos_cd + LIBRARY + ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX} + ) + # FIND_LIB_OPTIONS(GSL gsl gsld LIB ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}) + # FIND_LIB_OPTIONS(GSLCBLAS gslcblas gslcblasd LIB + # ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}) + find_lib_options( + POSTGRES + libpq + libpq + LIBRARY + ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX} + ) + find_lib_options( + PROJ + proj + proj_d + LIBRARY + ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX} + ) + # FIND_LIB_OPTIONS(PYTHON python39 python39_d LIBRARY + # ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}) + find_lib_options( + QCA + qca + qcad + LIBRARY + ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX} + ) + + find_lib_options( + QTKEYCHAIN + qt6keychain + qt6keychaind + LIBRARY + ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX} + ) + # FIND_LIB_OPTIONS(QSCINTILLA qscintilla2_qt5 qscintilla2_qt5d LIBRARY + # ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}) + + # if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") FIND_LIB_OPTIONS(ZSTD zstd_static + # zstd_staticd LIBRARY ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}) endif() -if(VCPKG_TARGET_IS_WINDOWS) - ############################################################################## - #Install pip - # if(NOT EXISTS "${PYTHON3_PATH}/Scripts/pip.exe") - # MESSAGE(STATUS "Install pip for Python Begin ...") - # vcpkg_download_distfile( - # GET_PIP_PATH - # URLS https://bootstrap.pypa.io/pip/3.5/get-pip.py - # FILENAME get-pip.py - # SHA512 a408dd74e69a2c3259e06669562bebfff676156a1a3b2f8ba6594ed308e3f94afdf79257688e59b02bf02bd7f6ecbea510fc6665b403149031f14bcc08308a47 - # ) - - # vcpkg_execute_required_process( - # COMMAND "${PYTHON_EXECUTABLE}" "${GET_PIP_PATH}" - # WORKING_DIRECTORY ${PYTHON3_PATH} - # LOGNAME pip - # ) - - # vcpkg_execute_required_process( - # COMMAND "${PYTHON_EXECUTABLE}" -m pip install --upgrade pip - # WORKING_DIRECTORY ${PYTHON3_PATH} - # LOGNAME pip - # ) - # MESSAGE(STATUS "Install pip for Python End") - # endif (NOT EXISTS "${PYTHON3_PATH}/Scripts/pip.exe") - ############################################################################## - - list(APPEND QGIS_OPTIONS -DBISON_EXECUTABLE="${BISON}") - list(APPEND QGIS_OPTIONS -DFLEX_EXECUTABLE="${FLEX}") - - # list(APPEND QGIS_OPTIONS -DPYUIC_PROGRAM=${PYTHON3_PATH}/Scripts/pyuic5.exe) - # list(APPEND QGIS_OPTIONS -DPYRCC_PROGRAM=${PYTHON3_PATH}/Scripts/pyrcc5.exe) - # list(APPEND QGIS_OPTIONS -DQT_LRELEASE_EXECUTABLE=${CURRENT_INSTALLED_DIR}/tools/qt5-tools/bin/lrelease.exe) - - # qgis_gui depends on Qt5UiTools, and Qt5UiTools is a static library. - # If Qt5_EXCLUDE_STATIC_DEPENDENCIES is not set, it will add the QT release library that it depends on. - # so that in debug mode, it will reference both the qt debug library and the release library. - # In Debug mode, add Qt5_EXCLUDE_STATIC_DEPENDENCIES to avoid this bug - list(APPEND QGIS_OPTIONS_DEBUG -DQt5_EXCLUDE_STATIC_DEPENDENCIES:BOOL=ON) - - FIND_LIB_OPTIONS(GDAL gdal gdald LIBRARY ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}) - FIND_LIB_OPTIONS(GEOS geos_c geos_cd LIBRARY ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}) - # FIND_LIB_OPTIONS(GSL gsl gsld LIB ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}) - # FIND_LIB_OPTIONS(GSLCBLAS gslcblas gslcblasd LIB ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}) - FIND_LIB_OPTIONS(POSTGRES libpq libpq LIBRARY ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}) - FIND_LIB_OPTIONS(PROJ proj proj_d LIBRARY ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}) - # FIND_LIB_OPTIONS(PYTHON python39 python39_d LIBRARY ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}) - FIND_LIB_OPTIONS(QCA qca qcad LIBRARY ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}) - - FIND_LIB_OPTIONS(QTKEYCHAIN qt6keychain qt6keychaind LIBRARY ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}) - # FIND_LIB_OPTIONS(QSCINTILLA qscintilla2_qt5 qscintilla2_qt5d LIBRARY ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}) - - # if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") - # FIND_LIB_OPTIONS(ZSTD zstd_static zstd_staticd LIBRARY ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}) - # endif() - - set(SPATIALINDEX_LIB_NAME spatialindex) - if( VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" ) - set( SPATIALINDEX_LIB_NAME "spatialindex-64" ) - else() - set( SPATIALINDEX_LIB_NAME "spatialindex-32" ) - endif() - FIND_LIB_OPTIONS(SPATIALINDEX ${SPATIALINDEX_LIB_NAME} ${SPATIALINDEX_LIB_NAME}d LIBRARY ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}) -endif() + set(SPATIALINDEX_LIB_NAME spatialindex) + if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL + "arm64" + ) + set(SPATIALINDEX_LIB_NAME "spatialindex-64") + else () + set(SPATIALINDEX_LIB_NAME "spatialindex-32") + endif () + find_lib_options( + SPATIALINDEX + ${SPATIALINDEX_LIB_NAME} + ${SPATIALINDEX_LIB_NAME}d + LIBRARY + ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX} + ) +endif () list(APPEND QGIS_OPTIONS "-DWITH_INTERNAL_POLY2TRI:BOOL=OFF") -if(VCPKG_CROSSCOMPILING) - list(APPEND QGIS_OPTIONS -DQT_HOST_PATH=${CURRENT_HOST_INSTALLED_DIR}) - list(APPEND QGIS_OPTIONS -DQT_HOST_PATH_CMAKE_DIR:PATH=${CURRENT_HOST_INSTALLED_DIR}/share) -endif() +if (VCPKG_CROSSCOMPILING) + list(APPEND QGIS_OPTIONS -DQT_HOST_PATH=${CURRENT_HOST_INSTALLED_DIR}) + list(APPEND QGIS_OPTIONS + -DQT_HOST_PATH_CMAKE_DIR:PATH=${CURRENT_HOST_INSTALLED_DIR}/share + ) +endif () + +# For desktop builds, build QGIS as RelWithDebInfo for better debugging +if (TARGET_TRIPLET STREQUAL "arm64-osx" OR TARGET_TRIPLET STREQUAL "x64-linux") + list(APPEND QGIS_OPTIONS_RELEASE -DCMAKE_BUILD_TYPE=RelWithDebInfo) +endif () vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - #PREFER_NINJA - OPTIONS ${QGIS_OPTIONS} - OPTIONS_DEBUG ${QGIS_OPTIONS_DEBUG} - OPTIONS_RELEASE ${QGIS_OPTIONS_RELEASE} + SOURCE_PATH + ${SOURCE_PATH} + # PREFER_NINJA + OPTIONS + ${QGIS_OPTIONS} + OPTIONS_DEBUG + ${QGIS_OPTIONS_DEBUG} + OPTIONS_RELEASE + ${QGIS_OPTIONS_RELEASE} ) vcpkg_install_cmake() -function(copy_path basepath targetdir) - file(GLOB ${basepath}_PATH ${CURRENT_PACKAGES_DIR}/${basepath}/*) - if( ${basepath}_PATH ) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/${targetdir}/${PORT}/${basepath}) - file(COPY ${${basepath}_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/${targetdir}/${PORT}/${basepath}) - endif() - - if(EXISTS "${CURRENT_PACKAGES_DIR}/${basepath}/") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/${basepath}/) - endif() -endfunction() - -if(VCPKG_TARGET_IS_WINDOWS) - file(GLOB QGIS_TOOL_PATH ${CURRENT_PACKAGES_DIR}/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/*${VCPKG_TARGET_EXECUTABLE_SUFFIX}) - if(QGIS_TOOL_PATH) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin) - file(COPY ${QGIS_TOOL_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin) - file(REMOVE_RECURSE ${QGIS_TOOL_PATH}) - file(GLOB QGIS_TOOL_PATH ${CURRENT_PACKAGES_DIR}/bin/* ) - file(COPY ${QGIS_TOOL_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin) - endif() - - file(GLOB QGIS_TOOL_PATH_DEBUG ${CURRENT_PACKAGES_DIR}/debug/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/debug/*${VCPKG_TARGET_EXECUTABLE_SUFFIX}) - if(QGIS_TOOL_PATH_DEBUG) - if("debug-tools" IN_LIST FEATURES) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/bin) - file(COPY ${QGIS_TOOL_PATH_DEBUG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/bin) - file(REMOVE_RECURSE ${QGIS_TOOL_PATH_DEBUG}) - file(GLOB QGIS_TOOL_PATH_DEBUG ${CURRENT_PACKAGES_DIR}/debug/bin/* ) - file(COPY ${QGIS_TOOL_PATH_DEBUG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/bin) - else() - file(REMOVE_RECURSE ${QGIS_TOOL_PATH_DEBUG}) - endif() - endif() - - copy_path(doc share) - copy_path(i18n share) - copy_path(icons share) - copy_path(images share) - copy_path(plugins tools) - copy_path(resources share) - copy_path(svg share) - - # Extend vcpkg_copy_tool_dependencies to support the export of dll and exe dependencies in different directories to the same directory, - # and support the copy of debug dependencies - function(vcpkg_copy_tool_dependencies_ex TOOL_DIR OUTPUT_DIR SEARCH_DIR) - find_program(PS_EXE powershell PATHS ${DOWNLOADS}/tool) - if (PS_EXE-NOTFOUND) - message(FATAL_ERROR "Could not find powershell in vcpkg tools, please open an issue to report this.") - endif() - macro(search_for_dependencies PATH_TO_SEARCH) - file(GLOB TOOLS ${TOOL_DIR}/*.exe ${TOOL_DIR}/*.dll) - foreach(TOOL ${TOOLS}) - vcpkg_execute_required_process( - COMMAND ${PS_EXE} -noprofile -executionpolicy Bypass -nologo - -file ${CMAKE_CURRENT_LIST_DIR}/applocal.ps1 - -targetBinary ${TOOL} - -installedDir ${PATH_TO_SEARCH} - -outputDir ${OUTPUT_DIR} - WORKING_DIRECTORY ${VCPKG_ROOT_DIR} - LOGNAME copy-tool-dependencies - ) - endforeach() - endmacro() - search_for_dependencies(${CURRENT_PACKAGES_DIR}/${SEARCH_DIR}) - search_for_dependencies(${CURRENT_INSTALLED_DIR}/${SEARCH_DIR}) - endfunction() - - vcpkg_copy_tool_dependencies_ex(${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin ${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin bin) - vcpkg_copy_tool_dependencies_ex(${CURRENT_PACKAGES_DIR}/tools/${PORT}/plugins ${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin bin) - if("debug-tools" IN_LIST FEATURES) - vcpkg_copy_tool_dependencies_ex(${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/bin ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/bin debug/bin) - vcpkg_copy_tool_dependencies_ex(${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/plugins ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/bin debug/bin) - endif() - if("server" IN_LIST FEATURES) - vcpkg_copy_tool_dependencies_ex(${CURRENT_PACKAGES_DIR}/tools/${PORT}/server ${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin bin) - if("debug-tools" IN_LIST FEATURES) - vcpkg_copy_tool_dependencies_ex(${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/server ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/bin debug/bin) - endif() - endif() -endif() - -if(VCPKG_TARGET_IS_OSX) - copy_path(resources share) -endif() +function (copy_path basepath targetdir) + file(GLOB ${basepath}_PATH ${CURRENT_PACKAGES_DIR}/${basepath}/*) + if (${basepath}_PATH) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/${targetdir}/${PORT}/${basepath}) + file(COPY ${${basepath}_PATH} + DESTINATION ${CURRENT_PACKAGES_DIR}/${targetdir}/${PORT}/${basepath} + ) + endif () + + if (EXISTS "${CURRENT_PACKAGES_DIR}/${basepath}/") + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/${basepath}/) + endif () +endfunction () + +if (VCPKG_TARGET_IS_WINDOWS) + file( + GLOB + QGIS_TOOL_PATH + ${CURRENT_PACKAGES_DIR}/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX} + ${CURRENT_PACKAGES_DIR}/*${VCPKG_TARGET_EXECUTABLE_SUFFIX} + ) + if (QGIS_TOOL_PATH) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin) + file(COPY ${QGIS_TOOL_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin) + file(REMOVE_RECURSE ${QGIS_TOOL_PATH}) + file(GLOB QGIS_TOOL_PATH ${CURRENT_PACKAGES_DIR}/bin/*) + file(COPY ${QGIS_TOOL_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin) + endif () + + file( + GLOB + QGIS_TOOL_PATH_DEBUG + ${CURRENT_PACKAGES_DIR}/debug/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX} + ${CURRENT_PACKAGES_DIR}/debug/*${VCPKG_TARGET_EXECUTABLE_SUFFIX} + ) + if (QGIS_TOOL_PATH_DEBUG) + if ("debug-tools" IN_LIST FEATURES) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/bin) + file(COPY ${QGIS_TOOL_PATH_DEBUG} + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/bin + ) + file(REMOVE_RECURSE ${QGIS_TOOL_PATH_DEBUG}) + file(GLOB QGIS_TOOL_PATH_DEBUG ${CURRENT_PACKAGES_DIR}/debug/bin/*) + file(COPY ${QGIS_TOOL_PATH_DEBUG} + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/bin + ) + else () + file(REMOVE_RECURSE ${QGIS_TOOL_PATH_DEBUG}) + endif () + endif () + + copy_path(doc share) + copy_path(i18n share) + copy_path(icons share) + copy_path(images share) + copy_path(plugins tools) + copy_path(resources share) + copy_path(svg share) + + # Extend vcpkg_copy_tool_dependencies to support the export of dll and exe dependencies + # in different directories to the same directory, and support the copy of debug + # dependencies + function ( + vcpkg_copy_tool_dependencies_ex + TOOL_DIR + OUTPUT_DIR + SEARCH_DIR + ) + find_program(PS_EXE powershell PATHS ${DOWNLOADS}/tool) + if (PS_EXE-NOTFOUND) + message( + FATAL_ERROR + "Could not find powershell in vcpkg tools, please open an issue to report this." + ) + endif () + macro (search_for_dependencies PATH_TO_SEARCH) + file( + GLOB + TOOLS + ${TOOL_DIR}/*.exe + ${TOOL_DIR}/*.dll + ) + foreach (TOOL ${TOOLS}) + vcpkg_execute_required_process( + COMMAND + ${PS_EXE} + -noprofile + -executionpolicy + Bypass + -nologo + -file + ${CMAKE_CURRENT_LIST_DIR}/applocal.ps1 + -targetBinary + ${TOOL} + -installedDir + ${PATH_TO_SEARCH} + -outputDir + ${OUTPUT_DIR} + WORKING_DIRECTORY + ${VCPKG_ROOT_DIR} + LOGNAME + copy-tool-dependencies + ) + endforeach () + endmacro () + search_for_dependencies(${CURRENT_PACKAGES_DIR}/${SEARCH_DIR}) + search_for_dependencies(${CURRENT_INSTALLED_DIR}/${SEARCH_DIR}) + endfunction () + + vcpkg_copy_tool_dependencies_ex( + ${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin ${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin + bin + ) + vcpkg_copy_tool_dependencies_ex( + ${CURRENT_PACKAGES_DIR}/tools/${PORT}/plugins + ${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin bin + ) + if ("debug-tools" IN_LIST FEATURES) + vcpkg_copy_tool_dependencies_ex( + ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/bin + ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/bin debug/bin + ) + vcpkg_copy_tool_dependencies_ex( + ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/plugins + ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/bin debug/bin + ) + endif () + if ("server" IN_LIST FEATURES) + vcpkg_copy_tool_dependencies_ex( + ${CURRENT_PACKAGES_DIR}/tools/${PORT}/server + ${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin bin + ) + if ("debug-tools" IN_LIST FEATURES) + vcpkg_copy_tool_dependencies_ex( + ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/server + ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/bin debug/bin + ) + endif () + endif () +endif () + +if (VCPKG_TARGET_IS_OSX) + copy_path(resources share) +endif () file(GLOB QGIS_CMAKE_PATH ${CURRENT_PACKAGES_DIR}/*.cmake) -if(QGIS_CMAKE_PATH) - file(COPY ${QGIS_CMAKE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/cmake/${PORT}) - file(REMOVE_RECURSE ${QGIS_CMAKE_PATH}) -endif() +if (QGIS_CMAKE_PATH) + file(COPY ${QGIS_CMAKE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/cmake/${PORT}) + file(REMOVE_RECURSE ${QGIS_CMAKE_PATH}) +endif () file(GLOB QGIS_CMAKE_PATH_DEBUG ${CURRENT_PACKAGES_DIR}/debug/*.cmake) -if( QGIS_CMAKE_PATH_DEBUG ) - file(REMOVE_RECURSE ${QGIS_CMAKE_PATH_DEBUG}) -endif() +if (QGIS_CMAKE_PATH_DEBUG) + file(REMOVE_RECURSE ${QGIS_CMAKE_PATH_DEBUG}) +endif () -file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include -) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE # Added for debug porpose - ${CURRENT_PACKAGES_DIR}/debug/share + ${CURRENT_PACKAGES_DIR}/debug/share ) # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +file( + INSTALL ${SOURCE_PATH}/COPYING + DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} + RENAME copyright +) diff --git a/vcpkg/ports/qtbase/cmake/qt_install_copyright.cmake b/vcpkg/ports/qtbase/cmake/qt_install_copyright.cmake index 8ec395fe6..4a7084b5d 100644 --- a/vcpkg/ports/qtbase/cmake/qt_install_copyright.cmake +++ b/vcpkg/ports/qtbase/cmake/qt_install_copyright.cmake @@ -1,27 +1,31 @@ -include_guard(GLOBAL) - -#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() - if(LICENSE_PATH) - file(INSTALL "${LICENSE_PATH}" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - elseif(EXISTS "${SOURCE_PATH}/LICENSES") - file(GLOB LICENSES "${SOURCE_PATH}/LICENSES/*") - vcpkg_install_copyright(FILE_LIST ${LICENSES}) - else() - message(WARNING "No license/copyright file found!") - endif() -endfunction() +include_guard(GLOBAL) + +# 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 () + if (LICENSE_PATH) + file( + INSTALL "${LICENSE_PATH}" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" + RENAME copyright + ) + elseif (EXISTS "${SOURCE_PATH}/LICENSES") + file(GLOB LICENSES "${SOURCE_PATH}/LICENSES/*") + vcpkg_install_copyright(FILE_LIST ${LICENSES}) + else () + message(WARNING "No license/copyright file found!") + endif () +endfunction () diff --git a/vcpkg/ports/qtbase/cmake/qt_install_submodule.cmake b/vcpkg/ports/qtbase/cmake/qt_install_submodule.cmake index 2f05a8b6f..586a71bc6 100644 --- a/vcpkg/ports/qtbase/cmake/qt_install_submodule.cmake +++ b/vcpkg/ports/qtbase/cmake/qt_install_submodule.cmake @@ -1,362 +1,582 @@ -include_guard(GLOBAL) - -include("${CURRENT_HOST_INSTALLED_DIR}/share/vcpkg-cmake/vcpkg-port-config.cmake") -include("${CURRENT_HOST_INSTALLED_DIR}/share/vcpkg-cmake-config/vcpkg-port-config.cmake") -include("${CMAKE_CURRENT_LIST_DIR}/qt_install_copyright.cmake") - -if(NOT DEFINED QT6_DIRECTORY_PREFIX) - set(QT6_DIRECTORY_PREFIX "Qt6/") -endif() - -if(VCPKG_TARGET_IS_ANDROID AND NOT ANDROID_SDK_ROOT) - message(FATAL_ERROR "${PORT} requires ANDROID_SDK_ROOT to be set. Consider adding it to the triplet." ) -endif() - -function(qt_download_submodule_impl) - cmake_parse_arguments(PARSE_ARGV 0 "_qarg" "" "SUBMODULE" "PATCHES") - - if("${_qarg_SUBMODULE}" IN_LIST QT_FROM_QT_GIT) - # qtinterfaceframework is not available in the release, so we fall back to a `git clone`. - vcpkg_from_git( - OUT_SOURCE_PATH SOURCE_PATH - URL "https://code.qt.io/qt/${_qarg_SUBMODULE}.git" - REF "${${_qarg_SUBMODULE}_REF}" - PATCHES ${_qarg_PATCHES} - ) - if(PORT STREQUAL "qttools") # Keep this for beta & rc's - vcpkg_from_git( - OUT_SOURCE_PATH SOURCE_PATH_QLITEHTML - URL https://code.qt.io/playground/qlitehtml.git - REF "${${PORT}_qlitehtml_REF}" - FETCH_REF master - HEAD_REF master - ) - # port 'litehtml' is not in vcpkg! - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH_LITEHTML - REPO litehtml/litehtml - REF "${${PORT}_litehtml_REF}" - SHA512 "${${PORT}_litehtml_HASH}" - HEAD_REF master - ) - file(COPY "${SOURCE_PATH_QLITEHTML}/" DESTINATION "${SOURCE_PATH}/src/assistant/qlitehtml") - file(COPY "${SOURCE_PATH_LITEHTML}/" DESTINATION "${SOURCE_PATH}/src/assistant/qlitehtml/src/3rdparty/litehtml") - elseif(PORT STREQUAL "qtwebengine") - vcpkg_from_git( - OUT_SOURCE_PATH SOURCE_PATH_WEBENGINE - URL https://code.qt.io/qt/qtwebengine-chromium.git - REF "${${PORT}_chromium_REF}" - ) - if(NOT EXISTS "${SOURCE_PATH}/src/3rdparty/chromium") - file(RENAME "${SOURCE_PATH_WEBENGINE}/chromium" "${SOURCE_PATH}/src/3rdparty/chromium") - endif() - if(NOT EXISTS "${SOURCE_PATH}/src/3rdparty/gn") - file(RENAME "${SOURCE_PATH_WEBENGINE}/gn" "${SOURCE_PATH}/src/3rdparty/gn") - endif() - endif() - else() - if(VCPKG_USE_HEAD_VERSION) - set(sha512 SKIP_SHA512) - elseif(NOT DEFINED "${_qarg_SUBMODULE}_HASH") - message(FATAL_ERROR "No information for ${_qarg_SUBMODULE} -- add it to QT_PORTS and run qtbase in QT_UPDATE_VERSION mode first") - else() - set(sha512 SHA512 "${${_qarg_SUBMODULE}_HASH}") - endif() - - qt_get_url_filename("${_qarg_SUBMODULE}" urls filename) - vcpkg_download_distfile(archive - URLS ${urls} - FILENAME "${filename}" - ${sha512} - ) - vcpkg_extract_source_archive( - SOURCE_PATH - ARCHIVE "${archive}" - PATCHES ${_qarg_PATCHES} - ) - endif() - set(SOURCE_PATH "${SOURCE_PATH}" PARENT_SCOPE) -endfunction() - -function(qt_download_submodule) - cmake_parse_arguments(PARSE_ARGV 0 "_qarg" "" "" "PATCHES") - - qt_download_submodule_impl(SUBMODULE "${PORT}" PATCHES ${_qarg_PATCHES}) - - set(SOURCE_PATH "${SOURCE_PATH}" PARENT_SCOPE) -endfunction() - - -function(qt_cmake_configure) - cmake_parse_arguments(PARSE_ARGV 0 "_qarg" "DISABLE_NINJA;DISABLE_PARALLEL_CONFIGURE" - "" - "TOOL_NAMES;OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE;OPTIONS_MAYBE_UNUSED") - - vcpkg_find_acquire_program(PERL) # Perl is probably required by all qt ports for syncqt - get_filename_component(PERL_PATH ${PERL} DIRECTORY) - vcpkg_add_to_path(${PERL_PATH}) - if(NOT PORT STREQUAL "qtwebengine" OR QT_IS_LATEST) # qtwebengine requires python2; since 6.3 python3 - vcpkg_find_acquire_program(PYTHON3) # Python is required by some qt ports - get_filename_component(PYTHON3_PATH ${PYTHON3} DIRECTORY) - vcpkg_add_to_path(${PYTHON3_PATH}) - endif() - - if(NOT PORT MATCHES "^qtbase") - list(APPEND _qarg_OPTIONS "-DQT_SYNCQT:PATH=${CURRENT_HOST_INSTALLED_DIR}/tools/Qt6/bin/syncqt.pl") - endif() - set(PERL_OPTION "-DHOST_PERL:PATH=${PERL}") - - set(ninja_option "") - if(_qarg_DISABLE_NINJA) - set(ninja_option WINDOWS_USE_MSBUILD) - endif() - - set(disable_parallel "") - if(_qarg_DISABLE_PARALLEL_CONFIGURE) - set(disable_parallel DISABLE_PARALLEL_CONFIGURE) - endif() - - if(VCPKG_CROSSCOMPILING) - list(APPEND _qarg_OPTIONS "-DQT_HOST_PATH=${CURRENT_HOST_INSTALLED_DIR}") - list(APPEND _qarg_OPTIONS "-DQT_HOST_PATH_CMAKE_DIR:PATH=${CURRENT_HOST_INSTALLED_DIR}/share") - endif() - - # Disable warning for CMAKE_(REQUIRE|DISABLE)_FIND_PACKAGE_ - string(REGEX MATCHALL "CMAKE_DISABLE_FIND_PACKAGE_[^:=]+" disabled_find_package "${_qarg_OPTIONS}") - list(APPEND _qarg_OPTIONS_MAYBE_UNUSED ${disabled_find_package}) - - string(REGEX MATCHALL "CMAKE_REQUIRE_FIND_PACKAGE_[^:=]+(:BOOL)?=OFF" require_find_package "${_qarg_OPTIONS}") - list(TRANSFORM require_find_package REPLACE "(:BOOL)?=OFF" "") - list(APPEND _qarg_OPTIONS_MAYBE_UNUSED ${require_find_package}) - - # Disable unused warnings for disabled features. Qt might decide to not emit the feature variables if other features are deactivated. - string(REGEX MATCHALL "(QT_)?FEATURE_[^:=]+(:BOOL)?=OFF" disabled_features "${_qarg_OPTIONS}") - list(TRANSFORM disabled_features REPLACE "(:BOOL)?=OFF" "") - list(APPEND _qarg_OPTIONS_MAYBE_UNUSED ${disabled_features}) - - list(APPEND _qarg_OPTIONS "-DQT_NO_FORCE_SET_CMAKE_BUILD_TYPE:BOOL=ON") - - if(VCPKG_TARGET_IS_ANDROID) - list(APPEND _qarg_OPTIONS "-DANDROID_SDK_ROOT=${ANDROID_SDK_ROOT}") - endif() - - if(NOT PORT MATCHES "qtbase") - list(APPEND _qarg_OPTIONS "-DQT_MKSPECS_DIR:PATH=${CURRENT_HOST_INSTALLED_DIR}/share/Qt6/mkspecs") - endif() - - if(NOT DEFINED VCPKG_OSX_DEPLOYMENT_TARGET) - list(APPEND _qarg_OPTIONS "-DCMAKE_OSX_DEPLOYMENT_TARGET=14") - endif() - - vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - ${ninja_option} - ${disable_parallel} - OPTIONS - -DQT_FORCE_WARN_APPLE_SDK_AND_XCODE_CHECK=ON - -DQT_NO_FORCE_SET_CMAKE_BUILD_TYPE:BOOL=ON - -DQT_USE_DEFAULT_CMAKE_OPTIMIZATION_FLAGS:BOOL=ON # We don't want Qt to mess with users toolchain settings. - -DCMAKE_FIND_PACKAGE_TARGETS_GLOBAL=ON # Because Qt doesn't correctly scope find_package calls. - #-DQT_HOST_PATH= # For crosscompiling - #-DQT_PLATFORM_DEFINITION_DIR=mkspecs/win32-msvc - #-DQT_QMAKE_TARGET_MKSPEC=win32-msvc - #-DQT_USE_CCACHE - -DQT_BUILD_EXAMPLES:BOOL=OFF - -DQT_BUILD_TESTS:BOOL=OFF - -DQT_BUILD_BENCHMARKS:BOOL=OFF - ${PERL_OPTION} - -DINSTALL_BINDIR:STRING=bin - -DINSTALL_LIBEXECDIR:STRING=bin - -DINSTALL_PLUGINSDIR:STRING=${qt_plugindir} - -DINSTALL_QMLDIR:STRING=${qt_qmldir} - ${_qarg_OPTIONS} - OPTIONS_RELEASE - ${_qarg_OPTIONS_RELEASE} - -DINSTALL_DOCDIR:STRING=doc/${QT6_DIRECTORY_PREFIX} - -DINSTALL_INCLUDEDIR:STRING=include/${QT6_DIRECTORY_PREFIX} - -DINSTALL_DESCRIPTIONSDIR:STRING=share/Qt6/modules - -DINSTALL_MKSPECSDIR:STRING=share/Qt6/mkspecs - -DINSTALL_TRANSLATIONSDIR:STRING=translations/${QT6_DIRECTORY_PREFIX} - OPTIONS_DEBUG - # -DFEATURE_debug:BOOL=ON only needed by qtbase and auto detected? - -DINSTALL_DOCDIR:STRING=../doc/${QT6_DIRECTORY_PREFIX} - -DINSTALL_INCLUDEDIR:STRING=../include/${QT6_DIRECTORY_PREFIX} - -DINSTALL_TRANSLATIONSDIR:STRING=../translations/${QT6_DIRECTORY_PREFIX} - -DINSTALL_DESCRIPTIONSDIR:STRING=../share/Qt6/modules - -DINSTALL_MKSPECSDIR:STRING=../share/Qt6/mkspecs - ${_qarg_OPTIONS_DEBUG} - MAYBE_UNUSED_VARIABLES - INSTALL_BINDIR - INSTALL_DOCDIR - INSTALL_LIBEXECDIR - INSTALL_QMLDIR # No qml files - INSTALL_TRANSLATIONSDIR # No translations - INSTALL_PLUGINSDIR # No plugins - INSTALL_DESCRIPTIONSDIR - INSTALL_INCLUDEDIR - HOST_PERL - QT_SYNCQT - QT_NO_FORCE_SET_CMAKE_BUILD_TYPE - QT_FORCE_WARN_APPLE_SDK_AND_XCODE_CHECK - ${_qarg_OPTIONS_MAYBE_UNUSED} - INPUT_bundled_xcb_xinput - INPUT_freetype - INPUT_harfbuzz - INPUT_libjpeg - INPUT_libmd4c - INPUT_libpng - INPUT_opengl - INPUT_openssl - INPUT_xcb - INPUT_xkbcommon - ) - set(Z_VCPKG_CMAKE_GENERATOR "${Z_VCPKG_CMAKE_GENERATOR}" PARENT_SCOPE) -endfunction() - -function(qt_fix_prl_files) - file(TO_CMAKE_PATH "${CURRENT_PACKAGES_DIR}/lib" package_dir) - file(TO_CMAKE_PATH "${package_dir}/lib" lib_path) - file(TO_CMAKE_PATH "${package_dir}/include/Qt6" include_path) - file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}" install_prefix) - file(GLOB_RECURSE prl_files "${CURRENT_PACKAGES_DIR}/*.prl" "${CURRENT_PACKAGES_DIR}/*.pri") - foreach(prl_file IN LISTS prl_files) - file(READ "${prl_file}" _contents) - string(REPLACE "${lib_path}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}") - string(REPLACE "${include_path}" "\$\$[QT_INSTALL_HEADERS]" _contents "${_contents}") - string(REPLACE "${install_prefix}" "\$\$[QT_INSTALL_PREFIX]" _contents "${_contents}") - string(REPLACE "[QT_INSTALL_PREFIX]/lib/objects-Debug" "[QT_INSTALL_LIBS]/objects-Debug" _contents "${_contents}") - string(REPLACE "[QT_INSTALL_PREFIX]/Qt6/qml" "[QT_INSTALL_QML]" _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() - -function(qt_fixup_and_cleanup) - cmake_parse_arguments(PARSE_ARGV 0 "_qarg" "" - "" - "TOOL_NAMES") - vcpkg_copy_pdbs() - - ## Handle PRL files - qt_fix_prl_files() - - ## Handle CMake files. - set(COMPONENTS) - file(GLOB COMPONENTS_OR_FILES LIST_DIRECTORIES true "${CURRENT_PACKAGES_DIR}/share/Qt6*") - list(REMOVE_ITEM COMPONENTS_OR_FILES "${CURRENT_PACKAGES_DIR}/share/Qt6") - foreach(_glob IN LISTS COMPONENTS_OR_FILES) - if(IS_DIRECTORY "${_glob}") - string(REPLACE "${CURRENT_PACKAGES_DIR}/share/Qt6" "" _component "${_glob}") - debug_message("Adding cmake component: '${_component}'") - list(APPEND COMPONENTS ${_component}) - endif() - endforeach() - - foreach(_comp IN LISTS COMPONENTS) - if(EXISTS "${CURRENT_PACKAGES_DIR}/share/Qt6${_comp}") - vcpkg_cmake_config_fixup(PACKAGE_NAME "Qt6${_comp}" CONFIG_PATH "share/Qt6${_comp}" TOOLS_PATH "tools/Qt6/bin") - # Would rather put it into share/cmake as before but the import_prefix correction in vcpkg_cmake_config_fixup is working against that. - else() - message(STATUS "WARNING: Qt component ${_comp} not found/built!") - endif() - endforeach() - #fix debug plugin paths (should probably be fixed in vcpkg_cmake_config_fixup) - file(GLOB_RECURSE DEBUG_CMAKE_TARGETS "${CURRENT_PACKAGES_DIR}/share/**/*Targets-debug.cmake") - debug_message("DEBUG_CMAKE_TARGETS:${DEBUG_CMAKE_TARGETS}") - foreach(_debug_target IN LISTS DEBUG_CMAKE_TARGETS) - vcpkg_replace_string("${_debug_target}" "{_IMPORT_PREFIX}/${qt_plugindir}" "{_IMPORT_PREFIX}/debug/${qt_plugindir}" IGNORE_UNCHANGED) - vcpkg_replace_string("${_debug_target}" "{_IMPORT_PREFIX}/${qt_qmldir}" "{_IMPORT_PREFIX}/debug/${qt_qmldir}" IGNORE_UNCHANGED) - endforeach() - - file(GLOB_RECURSE STATIC_CMAKE_TARGETS "${CURRENT_PACKAGES_DIR}/share/Qt6Qml/QmlPlugins/*.cmake") - foreach(_plugin_target IN LISTS STATIC_CMAKE_TARGETS) - # restore a single get_filename_component which was remove by vcpkg_cmake_config_fixup - vcpkg_replace_string("${_plugin_target}" - [[get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)]] - "get_filename_component(_IMPORT_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)" - IGNORE_UNCHANGED) - endforeach() - - set(qt_tooldest "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin") - set(qt_searchdir "${CURRENT_PACKAGES_DIR}/bin") - ## Handle Tools - foreach(_tool IN LISTS _qarg_TOOL_NAMES) - if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/bin/${_tool}${VCPKG_TARGET_EXECUTABLE_SUFFIX}") - debug_message("Removed '${_tool}' from copy tools list since it was not found!") - list(REMOVE_ITEM _qarg_TOOL_NAMES ${_tool}) - endif() - endforeach() - if(_qarg_TOOL_NAMES) - set(tool_names ${_qarg_TOOL_NAMES}) - vcpkg_copy_tools(TOOL_NAMES ${tool_names} SEARCH_DIR "${qt_searchdir}" DESTINATION "${qt_tooldest}" AUTO_CLEAN) - endif() - - if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/") - file(COPY "${CURRENT_PACKAGES_DIR}/bin/" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin") - endif() - file(GLOB_RECURSE _installed_dll_files RELATIVE "${CURRENT_INSTALLED_DIR}/tools/Qt6/bin" "${CURRENT_INSTALLED_DIR}/tools/Qt6/bin/*.dll") - foreach(_dll_to_remove IN LISTS _installed_dll_files) - file(GLOB_RECURSE _packaged_dll_file "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/${_dll_to_remove}") - if(EXISTS "${_packaged_dll_file}") - file(REMOVE "${_packaged_dll_file}") - endif() - endforeach() - file(GLOB_RECURSE _folders LIST_DIRECTORIES true "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/**/") - file(GLOB_RECURSE _files "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/**/") - if(_files) - list(REMOVE_ITEM _folders ${_files}) - endif() - foreach(_dir IN LISTS _folders) - if(NOT "${_remaining_dll_files}" MATCHES "${_dir}") - file(REMOVE_RECURSE "${_dir}") - endif() - endforeach() - endif() - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/cmake/" - "${CURRENT_PACKAGES_DIR}/debug/share" - "${CURRENT_PACKAGES_DIR}/lib/cmake/" - "${CURRENT_PACKAGES_DIR}/debug/include" - ) - - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(GLOB_RECURSE _bin_files "${CURRENT_PACKAGES_DIR}/bin/*") - if(NOT _bin_files STREQUAL "") - message(STATUS "Remaining files in bin: '${_bin_files}'") - else() # Only clean if empty otherwise let vcpkg throw and error. - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/" "${CURRENT_PACKAGES_DIR}/debug/bin/") - endif() - endif() - - vcpkg_fixup_pkgconfig() -endfunction() - -function(qt_install_submodule) - cmake_parse_arguments(PARSE_ARGV 0 "_qis" "DISABLE_NINJA" - "" - "PATCHES;TOOL_NAMES;CONFIGURE_OPTIONS;CONFIGURE_OPTIONS_DEBUG;CONFIGURE_OPTIONS_RELEASE;CONFIGURE_OPTIONS_MAYBE_UNUSED") - - set(qt_plugindir ${QT6_DIRECTORY_PREFIX}plugins) - set(qt_qmldir ${QT6_DIRECTORY_PREFIX}qml) - - qt_download_submodule(PATCHES ${_qis_PATCHES}) - - if(_qis_DISABLE_NINJA) - set(_opt DISABLE_NINJA) - endif() - qt_cmake_configure(${_opt} - OPTIONS ${_qis_CONFIGURE_OPTIONS} - OPTIONS_DEBUG ${_qis_CONFIGURE_OPTIONS_DEBUG} - OPTIONS_RELEASE ${_qis_CONFIGURE_OPTIONS_RELEASE} - OPTIONS_MAYBE_UNUSED ${_qis_CONFIGURE_OPTIONS_MAYBE_UNUSED} - ) - - vcpkg_cmake_install(ADD_BIN_TO_PATH) - - qt_fixup_and_cleanup(TOOL_NAMES ${_qis_TOOL_NAMES}) - - qt_install_copyright("${SOURCE_PATH}") - set(SOURCE_PATH "${SOURCE_PATH}" PARENT_SCOPE) -endfunction() - -include("${CMAKE_CURRENT_LIST_DIR}/qt_port_details.cmake") +include_guard(GLOBAL) + +include("${CURRENT_HOST_INSTALLED_DIR}/share/vcpkg-cmake/vcpkg-port-config.cmake") +include("${CURRENT_HOST_INSTALLED_DIR}/share/vcpkg-cmake-config/vcpkg-port-config.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/qt_install_copyright.cmake") + +if (NOT DEFINED QT6_DIRECTORY_PREFIX) + set(QT6_DIRECTORY_PREFIX "Qt6/") +endif () + +if (VCPKG_TARGET_IS_ANDROID AND NOT ANDROID_SDK_ROOT) + message( + FATAL_ERROR + "${PORT} requires ANDROID_SDK_ROOT to be set. Consider adding it to the triplet." + ) +endif () + +function (qt_download_submodule_impl) + cmake_parse_arguments( + PARSE_ARGV + 0 + "_qarg" + "" + "SUBMODULE" + "PATCHES" + ) + + if ("${_qarg_SUBMODULE}" IN_LIST QT_FROM_QT_GIT) + # qtinterfaceframework is not available in the release, so we fall back to a `git + # clone`. + vcpkg_from_git( + OUT_SOURCE_PATH + SOURCE_PATH + URL + "https://code.qt.io/qt/${_qarg_SUBMODULE}.git" + REF + "${${_qarg_SUBMODULE}_REF}" + PATCHES + ${_qarg_PATCHES} + ) + if (PORT STREQUAL "qttools") # Keep this for beta & rc's + vcpkg_from_git( + OUT_SOURCE_PATH + SOURCE_PATH_QLITEHTML + URL + https://code.qt.io/playground/qlitehtml.git + REF + "${${PORT}_qlitehtml_REF}" + FETCH_REF + master + HEAD_REF + master + ) + # port 'litehtml' is not in vcpkg! + vcpkg_from_github( + OUT_SOURCE_PATH + SOURCE_PATH_LITEHTML + REPO + litehtml/litehtml + REF + "${${PORT}_litehtml_REF}" + SHA512 + "${${PORT}_litehtml_HASH}" + HEAD_REF + master + ) + file(COPY "${SOURCE_PATH_QLITEHTML}/" + DESTINATION "${SOURCE_PATH}/src/assistant/qlitehtml" + ) + file(COPY "${SOURCE_PATH_LITEHTML}/" + DESTINATION "${SOURCE_PATH}/src/assistant/qlitehtml/src/3rdparty/litehtml" + ) + elseif (PORT STREQUAL "qtwebengine") + vcpkg_from_git( + OUT_SOURCE_PATH + SOURCE_PATH_WEBENGINE + URL + https://code.qt.io/qt/qtwebengine-chromium.git + REF + "${${PORT}_chromium_REF}" + ) + if (NOT EXISTS "${SOURCE_PATH}/src/3rdparty/chromium") + file(RENAME "${SOURCE_PATH_WEBENGINE}/chromium" + "${SOURCE_PATH}/src/3rdparty/chromium" + ) + endif () + if (NOT EXISTS "${SOURCE_PATH}/src/3rdparty/gn") + file(RENAME "${SOURCE_PATH_WEBENGINE}/gn" "${SOURCE_PATH}/src/3rdparty/gn") + endif () + endif () + else () + if (VCPKG_USE_HEAD_VERSION) + set(sha512 SKIP_SHA512) + elseif (NOT DEFINED "${_qarg_SUBMODULE}_HASH") + message( + FATAL_ERROR + "No information for ${_qarg_SUBMODULE} -- add it to QT_PORTS and run qtbase in QT_UPDATE_VERSION mode first" + ) + else () + set(sha512 SHA512 "${${_qarg_SUBMODULE}_HASH}") + endif () + + qt_get_url_filename("${_qarg_SUBMODULE}" urls filename) + vcpkg_download_distfile( + archive + URLS + ${urls} + FILENAME + "${filename}" + ${sha512} + ) + vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE + "${archive}" + PATCHES + ${_qarg_PATCHES} + ) + endif () + set(SOURCE_PATH + "${SOURCE_PATH}" + PARENT_SCOPE + ) +endfunction () + +function (qt_download_submodule) + cmake_parse_arguments( + PARSE_ARGV + 0 + "_qarg" + "" + "" + "PATCHES" + ) + + qt_download_submodule_impl( + SUBMODULE + "${PORT}" + PATCHES + ${_qarg_PATCHES} + ) + + set(SOURCE_PATH + "${SOURCE_PATH}" + PARENT_SCOPE + ) +endfunction () + +function (qt_cmake_configure) + cmake_parse_arguments( + PARSE_ARGV + 0 + "_qarg" + "DISABLE_NINJA;DISABLE_PARALLEL_CONFIGURE" + "" + "TOOL_NAMES;OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE;OPTIONS_MAYBE_UNUSED" + ) + + vcpkg_find_acquire_program(PERL) # Perl is probably required by all qt ports for syncqt + get_filename_component(PERL_PATH ${PERL} DIRECTORY) + vcpkg_add_to_path(${PERL_PATH}) + if (NOT + PORT + STREQUAL + "qtwebengine" + OR QT_IS_LATEST + ) # qtwebengine requires python2; since 6.3 python3 + vcpkg_find_acquire_program(PYTHON3) # Python is required by some qt ports + get_filename_component(PYTHON3_PATH ${PYTHON3} DIRECTORY) + vcpkg_add_to_path(${PYTHON3_PATH}) + endif () + + if (NOT + PORT + MATCHES + "^qtbase" + ) + list(APPEND _qarg_OPTIONS + "-DQT_SYNCQT:PATH=${CURRENT_HOST_INSTALLED_DIR}/tools/Qt6/bin/syncqt.pl" + ) + endif () + set(PERL_OPTION "-DHOST_PERL:PATH=${PERL}") + + set(ninja_option "") + if (_qarg_DISABLE_NINJA) + set(ninja_option WINDOWS_USE_MSBUILD) + endif () + + set(disable_parallel "") + if (_qarg_DISABLE_PARALLEL_CONFIGURE) + set(disable_parallel DISABLE_PARALLEL_CONFIGURE) + endif () + + if (VCPKG_CROSSCOMPILING) + list(APPEND _qarg_OPTIONS "-DQT_HOST_PATH=${CURRENT_HOST_INSTALLED_DIR}") + list(APPEND _qarg_OPTIONS + "-DQT_HOST_PATH_CMAKE_DIR:PATH=${CURRENT_HOST_INSTALLED_DIR}/share" + ) + endif () + + # Disable warning for CMAKE_(REQUIRE|DISABLE)_FIND_PACKAGE_ + string( + REGEX MATCHALL + "CMAKE_DISABLE_FIND_PACKAGE_[^:=]+" + disabled_find_package + "${_qarg_OPTIONS}" + ) + list(APPEND _qarg_OPTIONS_MAYBE_UNUSED ${disabled_find_package}) + + string( + REGEX MATCHALL + "CMAKE_REQUIRE_FIND_PACKAGE_[^:=]+(:BOOL)?=OFF" + require_find_package + "${_qarg_OPTIONS}" + ) + list(TRANSFORM require_find_package REPLACE "(:BOOL)?=OFF" "") + list(APPEND _qarg_OPTIONS_MAYBE_UNUSED ${require_find_package}) + + # Disable unused warnings for disabled features. Qt might decide to not emit the feature + # variables if other features are deactivated. + string( + REGEX MATCHALL + "(QT_)?FEATURE_[^:=]+(:BOOL)?=OFF" + disabled_features + "${_qarg_OPTIONS}" + ) + list(TRANSFORM disabled_features REPLACE "(:BOOL)?=OFF" "") + list(APPEND _qarg_OPTIONS_MAYBE_UNUSED ${disabled_features}) + + list(APPEND _qarg_OPTIONS "-DQT_NO_FORCE_SET_CMAKE_BUILD_TYPE:BOOL=ON") + + if (VCPKG_TARGET_IS_ANDROID) + list(APPEND _qarg_OPTIONS "-DANDROID_SDK_ROOT=${ANDROID_SDK_ROOT}") + endif () + + if (NOT + PORT + MATCHES + "qtbase" + ) + list(APPEND _qarg_OPTIONS + "-DQT_MKSPECS_DIR:PATH=${CURRENT_HOST_INSTALLED_DIR}/share/Qt6/mkspecs" + ) + endif () + + if (NOT DEFINED VCPKG_OSX_DEPLOYMENT_TARGET) + list(APPEND _qarg_OPTIONS "-DCMAKE_OSX_DEPLOYMENT_TARGET=14") + endif () + + vcpkg_cmake_configure( + SOURCE_PATH + "${SOURCE_PATH}" + ${ninja_option} + ${disable_parallel} + OPTIONS + -DQT_FORCE_WARN_APPLE_SDK_AND_XCODE_CHECK=ON + -DQT_NO_FORCE_SET_CMAKE_BUILD_TYPE:BOOL=ON + -DQT_USE_DEFAULT_CMAKE_OPTIMIZATION_FLAGS:BOOL=ON # We don't want Qt to mess with + # users toolchain settings. + -DCMAKE_FIND_PACKAGE_TARGETS_GLOBAL=ON # Because Qt doesn't correctly scope + # find_package calls. + # -DQT_HOST_PATH= # For crosscompiling + # -DQT_PLATFORM_DEFINITION_DIR=mkspecs/win32-msvc -DQT_QMAKE_TARGET_MKSPEC=win32-msvc + # -DQT_USE_CCACHE + -DQT_BUILD_EXAMPLES:BOOL=OFF + -DQT_BUILD_TESTS:BOOL=OFF + -DQT_BUILD_BENCHMARKS:BOOL=OFF + ${PERL_OPTION} + -DINSTALL_BINDIR:STRING=bin + -DINSTALL_LIBEXECDIR:STRING=bin + -DINSTALL_PLUGINSDIR:STRING=${qt_plugindir} + -DINSTALL_QMLDIR:STRING=${qt_qmldir} + ${_qarg_OPTIONS} + OPTIONS_RELEASE + ${_qarg_OPTIONS_RELEASE} + -DINSTALL_DOCDIR:STRING=doc/${QT6_DIRECTORY_PREFIX} + -DINSTALL_INCLUDEDIR:STRING=include/${QT6_DIRECTORY_PREFIX} + -DINSTALL_DESCRIPTIONSDIR:STRING=share/Qt6/modules + -DINSTALL_MKSPECSDIR:STRING=share/Qt6/mkspecs + -DINSTALL_TRANSLATIONSDIR:STRING=translations/${QT6_DIRECTORY_PREFIX} + OPTIONS_DEBUG + # -DFEATURE_debug:BOOL=ON only needed by qtbase and auto detected? + -DINSTALL_DOCDIR:STRING=../doc/${QT6_DIRECTORY_PREFIX} + -DINSTALL_INCLUDEDIR:STRING=../include/${QT6_DIRECTORY_PREFIX} + -DINSTALL_TRANSLATIONSDIR:STRING=../translations/${QT6_DIRECTORY_PREFIX} + -DINSTALL_DESCRIPTIONSDIR:STRING=../share/Qt6/modules + -DINSTALL_MKSPECSDIR:STRING=../share/Qt6/mkspecs + ${_qarg_OPTIONS_DEBUG} + MAYBE_UNUSED_VARIABLES + INSTALL_BINDIR + INSTALL_DOCDIR + INSTALL_LIBEXECDIR + INSTALL_QMLDIR # No qml files + INSTALL_TRANSLATIONSDIR # No translations + INSTALL_PLUGINSDIR # No plugins + INSTALL_DESCRIPTIONSDIR + INSTALL_INCLUDEDIR + HOST_PERL + QT_SYNCQT + QT_NO_FORCE_SET_CMAKE_BUILD_TYPE + QT_FORCE_WARN_APPLE_SDK_AND_XCODE_CHECK + ${_qarg_OPTIONS_MAYBE_UNUSED} + INPUT_bundled_xcb_xinput + INPUT_freetype + INPUT_harfbuzz + INPUT_libjpeg + INPUT_libmd4c + INPUT_libpng + INPUT_opengl + INPUT_openssl + INPUT_xcb + INPUT_xkbcommon + ) + set(Z_VCPKG_CMAKE_GENERATOR + "${Z_VCPKG_CMAKE_GENERATOR}" + PARENT_SCOPE + ) +endfunction () + +function (qt_fix_prl_files) + file(TO_CMAKE_PATH "${CURRENT_PACKAGES_DIR}/lib" package_dir) + file(TO_CMAKE_PATH "${package_dir}/lib" lib_path) + file(TO_CMAKE_PATH "${package_dir}/include/Qt6" include_path) + file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}" install_prefix) + file( + GLOB_RECURSE + prl_files + "${CURRENT_PACKAGES_DIR}/*.prl" + "${CURRENT_PACKAGES_DIR}/*.pri" + ) + foreach (prl_file IN LISTS prl_files) + file(READ "${prl_file}" _contents) + string( + REPLACE "${lib_path}" + "\$\$[QT_INSTALL_LIBS]" + _contents + "${_contents}" + ) + string( + REPLACE "${include_path}" + "\$\$[QT_INSTALL_HEADERS]" + _contents + "${_contents}" + ) + string( + REPLACE "${install_prefix}" + "\$\$[QT_INSTALL_PREFIX]" + _contents + "${_contents}" + ) + string( + REPLACE "[QT_INSTALL_PREFIX]/lib/objects-Debug" + "[QT_INSTALL_LIBS]/objects-Debug" + _contents + "${_contents}" + ) + string( + REPLACE "[QT_INSTALL_PREFIX]/Qt6/qml" + "[QT_INSTALL_QML]" + _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 () + +function (qt_fixup_and_cleanup) + cmake_parse_arguments( + PARSE_ARGV + 0 + "_qarg" + "" + "" + "TOOL_NAMES" + ) + vcpkg_copy_pdbs() + + # Handle PRL files + qt_fix_prl_files() + + # Handle CMake files. + set(COMPONENTS) + file( + GLOB COMPONENTS_OR_FILES + LIST_DIRECTORIES true + "${CURRENT_PACKAGES_DIR}/share/Qt6*" + ) + list(REMOVE_ITEM COMPONENTS_OR_FILES "${CURRENT_PACKAGES_DIR}/share/Qt6") + foreach (_glob IN LISTS COMPONENTS_OR_FILES) + if (IS_DIRECTORY "${_glob}") + string( + REPLACE "${CURRENT_PACKAGES_DIR}/share/Qt6" + "" + _component + "${_glob}" + ) + debug_message("Adding cmake component: '${_component}'") + list(APPEND COMPONENTS ${_component}) + endif () + endforeach () + + foreach (_comp IN LISTS COMPONENTS) + if (EXISTS "${CURRENT_PACKAGES_DIR}/share/Qt6${_comp}") + vcpkg_cmake_config_fixup( + PACKAGE_NAME + "Qt6${_comp}" + CONFIG_PATH + "share/Qt6${_comp}" + TOOLS_PATH + "tools/Qt6/bin" + ) + # Would rather put it into share/cmake as before but the import_prefix correction in + # vcpkg_cmake_config_fixup is working against that. + else () + message(STATUS "WARNING: Qt component ${_comp} not found/built!") + endif () + endforeach () + # fix debug plugin paths (should probably be fixed in vcpkg_cmake_config_fixup) + file(GLOB_RECURSE DEBUG_CMAKE_TARGETS + "${CURRENT_PACKAGES_DIR}/share/**/*Targets-debug.cmake" + ) + debug_message("DEBUG_CMAKE_TARGETS:${DEBUG_CMAKE_TARGETS}") + foreach (_debug_target IN LISTS DEBUG_CMAKE_TARGETS) + vcpkg_replace_string( + "${_debug_target}" + "{_IMPORT_PREFIX}/${qt_plugindir}" + "{_IMPORT_PREFIX}/debug/${qt_plugindir}" + IGNORE_UNCHANGED + ) + vcpkg_replace_string( + "${_debug_target}" + "{_IMPORT_PREFIX}/${qt_qmldir}" + "{_IMPORT_PREFIX}/debug/${qt_qmldir}" + IGNORE_UNCHANGED + ) + endforeach () + + file(GLOB_RECURSE STATIC_CMAKE_TARGETS + "${CURRENT_PACKAGES_DIR}/share/Qt6Qml/QmlPlugins/*.cmake" + ) + foreach (_plugin_target IN LISTS STATIC_CMAKE_TARGETS) + # restore a single get_filename_component which was remove by vcpkg_cmake_config_fixup + vcpkg_replace_string( + "${_plugin_target}" + [[get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)]] + "get_filename_component(_IMPORT_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)" + IGNORE_UNCHANGED + ) + endforeach () + + set(qt_tooldest "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin") + set(qt_searchdir "${CURRENT_PACKAGES_DIR}/bin") + # Handle Tools + foreach (_tool IN LISTS _qarg_TOOL_NAMES) + if (NOT EXISTS + "${CURRENT_PACKAGES_DIR}/bin/${_tool}${VCPKG_TARGET_EXECUTABLE_SUFFIX}" + ) + debug_message("Removed '${_tool}' from copy tools list since it was not found!") + list(REMOVE_ITEM _qarg_TOOL_NAMES ${_tool}) + endif () + endforeach () + if (_qarg_TOOL_NAMES) + set(tool_names ${_qarg_TOOL_NAMES}) + vcpkg_copy_tools( + TOOL_NAMES + ${tool_names} + SEARCH_DIR + "${qt_searchdir}" + DESTINATION + "${qt_tooldest}" + AUTO_CLEAN + ) + endif () + + if (VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + if (EXISTS "${CURRENT_PACKAGES_DIR}/bin/") + file(COPY "${CURRENT_PACKAGES_DIR}/bin/" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin" + ) + endif () + file( + GLOB_RECURSE _installed_dll_files + RELATIVE "${CURRENT_INSTALLED_DIR}/tools/Qt6/bin" + "${CURRENT_INSTALLED_DIR}/tools/Qt6/bin/*.dll" + ) + foreach (_dll_to_remove IN LISTS _installed_dll_files) + file(GLOB_RECURSE _packaged_dll_file + "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/${_dll_to_remove}" + ) + if (EXISTS "${_packaged_dll_file}") + file(REMOVE "${_packaged_dll_file}") + endif () + endforeach () + file( + GLOB_RECURSE _folders + LIST_DIRECTORIES true + "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/**/" + ) + file(GLOB_RECURSE _files "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/**/") + if (_files) + list(REMOVE_ITEM _folders ${_files}) + endif () + foreach (_dir IN LISTS _folders) + if (NOT + "${_remaining_dll_files}" + MATCHES + "${_dir}" + ) + file(REMOVE_RECURSE "${_dir}") + endif () + endforeach () + endif () + file( + REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/lib/cmake/" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/lib/cmake/" + "${CURRENT_PACKAGES_DIR}/debug/include" + ) + + if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(GLOB_RECURSE _bin_files "${CURRENT_PACKAGES_DIR}/bin/*") + if (NOT + _bin_files + STREQUAL + "" + ) + message(STATUS "Remaining files in bin: '${_bin_files}'") + else () # Only clean if empty otherwise let vcpkg throw and error. + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/" + "${CURRENT_PACKAGES_DIR}/debug/bin/" + ) + endif () + endif () + + vcpkg_fixup_pkgconfig() +endfunction () + +function (qt_install_submodule) + cmake_parse_arguments( + PARSE_ARGV + 0 + "_qis" + "DISABLE_NINJA" + "" + "PATCHES;TOOL_NAMES;CONFIGURE_OPTIONS;CONFIGURE_OPTIONS_DEBUG;CONFIGURE_OPTIONS_RELEASE;CONFIGURE_OPTIONS_MAYBE_UNUSED" + ) + + set(qt_plugindir ${QT6_DIRECTORY_PREFIX}plugins) + set(qt_qmldir ${QT6_DIRECTORY_PREFIX}qml) + + qt_download_submodule(PATCHES ${_qis_PATCHES}) + + if (_qis_DISABLE_NINJA) + set(_opt DISABLE_NINJA) + endif () + qt_cmake_configure( + ${_opt} + OPTIONS + ${_qis_CONFIGURE_OPTIONS} + OPTIONS_DEBUG + ${_qis_CONFIGURE_OPTIONS_DEBUG} + OPTIONS_RELEASE + ${_qis_CONFIGURE_OPTIONS_RELEASE} + OPTIONS_MAYBE_UNUSED + ${_qis_CONFIGURE_OPTIONS_MAYBE_UNUSED} + ) + + vcpkg_cmake_install(ADD_BIN_TO_PATH) + + qt_fixup_and_cleanup(TOOL_NAMES ${_qis_TOOL_NAMES}) + + qt_install_copyright("${SOURCE_PATH}") + set(SOURCE_PATH + "${SOURCE_PATH}" + PARENT_SCOPE + ) +endfunction () + +include("${CMAKE_CURRENT_LIST_DIR}/qt_port_details.cmake") diff --git a/vcpkg/ports/qtbase/cmake/qt_port_data.cmake b/vcpkg/ports/qtbase/cmake/qt_port_data.cmake index 254593037..5e49d55b6 100644 --- a/vcpkg/ports/qtbase/cmake/qt_port_data.cmake +++ b/vcpkg/ports/qtbase/cmake/qt_port_data.cmake @@ -1,50 +1,136 @@ -set(qtbase_HASH "ef364f939f23b622f67d21833c2dbf1fb74531d9a1e25b6d2e94ea5d747a40f20c6c3a24abef1e9710287366b7cb54dd090350d315601317779235c20743cc81") -set(qttools_HASH "77141b310f63932678f28682c490ccc75776493994d96582d546545c17937605efac312c008c75fda991b78c369320d0a2c4b543b568a459cc90051d1ed2b9da") -set(qtdeclarative_HASH "75c9fdc8ba26ef95ae8ff0c82b18589b74d7ff3065e86e5bd8427bc36336e569eaa22fa07863f99d0592eec0c1a69c3409c7b3941eae14361ff523c058e56084") -set(qtsvg_HASH "213af7fdf92fb64c9b824dbe044f51d89e661ccc02c17cf109e65b962a7b1de84c71e1b1b58d6cad0cc9fccee80b97efe9ebcab3491b478fb9b64bcfd33986a4") -set(qt5compat_HASH "e049508efda201e5d12a2dc0e023fc096611b18810f695be213a26bfbf8cdda1ae04c353c2a8b9be0c30b014e3d4f9280921acd1e8ec3834cd309143de82f570") -set(qtshadertools_HASH "5f326bb097e09f9f9259b550ccf5fb05634d748eebf8b8c416225e3cd328c2b532c764a41b98a4d47633be446edaeaa3d4e5da1f4951b31e3da6ddc4392a47fc") -set(qtquicktimeline_HASH "3f9aef0eb8b495cda9bcab22e7f544e9dd1894e556e162654c87903406cd3c73820f54a543bc3861d49c7863d2fc8d92f79bb8e90cdcc23a99cf64bbeb816885") -set(qtquick3d_HASH "5a5c04dfd1581905fb0b40cb35ef9e7370ffaf451287d84a9d444c0871f495ecfe59c8ab15cacc8e7314af45c16598fad5e63cd9466384c5ba245ad0c28315f2") -set(qttranslations_HASH "d5df6136d3f66c93c0dd6d98c7a467c8b939d7bf5c90b5acff69262163c1e7cccc0c4f2f83b5ef06179601578b4a109f2f0c76c3897a31d3fb2567995fc55328") -set(qtwayland_HASH "2edb6d3e85c06bcf689c3acfcc38b6ff0505569dfeec8bfb5a434fad563087ff917875ea56e639405af3cca8adc98206ab9f68dfaf8e2449300d010ffbb16699") -set(qtdoc_HASH "839fbff235f67ade032f25120fbd7f394d272bf752dfe982c202cb8b6cf411a1bc949f5035b2c1062468e40632b2061ac611c771d35567dd5970b013ff2090f8") -set(qtcoap_HASH "ce51ea39b7946b85cacddd3ebfe3a92615f31b032a779b799113c1e97aecdd3906e4fdc066296b0c0a369f4a023df4c951cc18dd47d2713e173118f2bd055cff") -set(qtopcua_HASH "ac11aab0f9333a4b666c9c523f5d74140bd52e236ed14cfce3dbfc030516b1cc654761048a7fd9e4238a9f1e0e47a72c6f2f8e98173f27042c6cdbb348c8d6d9") -set(qtimageformats_HASH "174bddd49dac507b7a2c9f1e1f7b384bff9ac515891ee49fd72acfa944b503cf5bd26acf388203e7d14b1f147b07ccbc2da992f71d51b7a18151245efc53a3a2") -set(qtmqtt_HASH "1934405a8e6b7188ce710e89eaf7ae00f1e1516b803b773ec95b962368a8da3967bac29dfe2a4377a76d0f8b9bf47599f566d7130eff311f38af2041d0c40a88") -set(qtnetworkauth_HASH "8f9f25883534af6ce7029a6c96501de3e944c8c6c3021f185c3a932653b4e4c40b3a0f8bc210d3ee175b690721a99b3d42de2f6fa9d1dbd1b730abf22fc48455") -set(qt3d_HASH "8316fbe5a39bc5113da4759e195a55c57d8340021a39576939c0a4a604f47b4edb3c0206f914d4a3177ff09471d1f3475ffc4c2fa935ed8d98a166e310bc78b4") -set(qtactiveqt_HASH "d49c16f4e055bcf389c719ae0e33a6ae0ef54f2433211f14864774c3694f82361783d18db6996b6f5abd52f5ac7f791b0eab015c946ceaa3ddfb9ef6abf64f19") -set(qtdatavis3d_HASH "a5d0cf5c223a5baa69dc7fc59b131eb3b971dc3701d20e81bf7e86ccb6e8f4d20a82079e514d1269091fa014896167d52912e3940210fd546a8a55439c75509a") -set(qtdeviceutilities_HASH "b32222c52169832a30a1d6bf0b19e5adc15bc9b1c7c12e4613ea73eba73b00528969f8a87830d0a9bf61663547ff263e2e0d6e5f4bc37b8624c3f96d9cbc51b6") -set(qtlottie_HASH "c663b830210359bd738a3ab2ae84d956646c249e199acac194c1ec725b3eb1acb2392eef0a9b252e8ece0adad104932d4f7207903e49ec041287618d3a6f9894") -set(qtscxml_HASH "c0138fc338b2d12fb4bcbba2c852b44e4257c56850f22af46d452871fb9bd9465bd824d86cd7e7772ef62b8ed48515790b496e1e873aa335deae8e25789cb4d0") -set(qtvirtualkeyboard_HASH "a128c8210eec799d81c76b20e32e3c09ccb345d822b5c59b1fbf0960a1e2bec50c43140d86aaae9419a1fc514fc3e14bd283f612bf9133676db1a21e7217f528") -set(qtcharts_HASH "84b372c8b52aea580b2b9727775753345affa80b73e0be843e65f7331bb809187d7183d93fdaf543197860210bc4e006f3a707663a160cf8ae05b37871abac7e") -set(qtconnectivity_HASH "5508f3fc57679a4f986f430dcd19c5da15af663a677d27c9cc6aba81629f4a6e1954be31c5d2a44ba22366d7731ff105d2eaa3a0565b3b02baea0f498c547733") -set(qtpositioning_HASH "8899b4bf8096211fca37f7a7855ae2c6f79d770602105d76a98b580ad8e2f2f55096095bd7f935f6f9ac36e23135e7594cf3c2e5b760c979560a108d43d57784") -set(qtlocation_HASH "c7cbd76b6b8b7d09387c7da0e6630959ae66f0c8af2cd26b255e86ec36c6efeec59e4af7b34faa05f2fa035d4dd075d13a8dd0bccaefac48d391b4fa786769c0") -set(qtmultimedia_HASH "2f001888b44274583dcd5bc6f467cf18efbb1a711f29d6baf354071199772ee49d835922f2fa0e9770898d42decddf04b379d8f05d1dfd923c5f9d58e3c7fcd8") -set(qtremoteobjects_HASH "5845afc5ea4894fa788ce07a89348bd5027c0cceca65dce99a6bf437b396c71f25e8e7374401c8d10fd88be2303766c6df29b62e826f4d5ba38971a042dd7b06") -set(qtsensors_HASH "88e9277aefdc609bda881cb836dfdc04d29a32a4e09998d67e2ebe7ec6f94aff508fb39c2b624f00bcc85ddccd61bb5ed3ffcc953dd28d00ef559d50e6104ae4") -set(qtserialbus_HASH "b0ce725382c15048913204e6173dd899af6f8233ff3a098f497dea6a3d9d2cd436ad7944165398fba59f92098f7e38e7c3c5efa47a7ffeec2bf3a464ae9d4539") -set(qtserialport_HASH "343537aedd9c84dd5d6889d45babff181d7ef05927fd9cfdbb9389066f8860e2522bc059ca2c5c9af4c88bca255e0fc40b5eea84b93c970123a94afc803a638d") -set(qtwebchannel_HASH "156d3d1f7e1a0b0df8c103db010cd8e40717e6fcf27dd20c27ca22900ae377a8da8bc86a9ec1d65765defb68032469415c345a571e9a3dcbc3919603972d01d6") -set(qtwebengine_HASH "01e8988c76ff40ca5e38f76e90791d7ef708c29f2e9f8e83ca8604b6335fbecdee71473678a63633ec1edec85088256b20e56a618ca95748ccbe1e7b9673c298") -set(qtwebsockets_HASH "7453c6657e9885393d57df3ebaf9d3ad12237b5fb848ac3547cc6c6ed607562d58564667a7fd10133d4cdb94151aa5c21660e33c7f48f01a4061001a47f85b60") -set(qtwebview_HASH "af16c85d76e55e3c39c747995b3c46354efe5f5a3e111df36f9b169ab8fe3ac878cfe223ee47aef9aa8bc302c7383fc9b1f9682c63034e42def3714b28a0aabf") -set(qtinterfaceframework_REF "373322fc654e875cb56828de554dfdda96e9fb4e") -set(qtapplicationmanager_HASH "7d404ac3f98d29004009d87996779a0c5c86b976e864257cd3a9018d84db8bc07bcedc74f0b15443f90b487d2229fdb7b80d1ae082b0fc8dea30f682b58cea1a") -set(qtlanguageserver_HASH "8b55a3558de28d6c2c61bf52e8f10d1a67cc6890fdd3846db99f6c766fd22fef1793687b88b146f5a64971d60eef4357409b893c91310d1b9abec883ab35c2bc") -set(qthttpserver_HASH "4e99164e285ed4e8ae64a4af2c717fc22a7b5934ac5a78fe3adbb04e29109d1294e9917aa089b9cb9e5492bdf7fad4888c837374c2fef691ea7294bccbe7b01a") -set(qtquick3dphysics_HASH "e8948f84e337bc4c496ba67f047c809ece8d74a3d2af388227c902b765a1d2969f86be2ebaaa89f271c4b73d2cf5151a4c488ff7dc4f4a965d5f6a4de052784a") -set(qtspeech_HASH "6434ccf743604bf4ac4bc31b26c7dbc7f765ec95174f0d9047bec822292f85e6b21ace825b52ce60bd388d9c333d427b206209f78c612782701567bb7d271e6d") -set(qtgrpc_HASH "488c7e6a20cd9c267b44923c317e545e71543f68153228a4fee1fa9c0a2f6d3e212db9482962999bb80e87313a1a851b787759852089f17dca8add7040627c55") -set(qtquickeffectmaker_HASH "cdcee80a0bf7347ef9b63acc277ce6ef134128ba56f247008803d9444a9e0713e23205ed0f9ecf2b7752d82183acb471a2589c8b0ec914259a22395f94755bfa") -set(qtgraphs_HASH "c1803e68e065fc4ed7de68e65f5dc86a0b926768779c0de57a7f4af46506f019c27d47095f87eb1516011868262d6654817c478e130739477658a3dbcef2fb35") - - -# Keep for beta/rc -#set(qttools_qlitehtml_REF bd70f93ce41443a6a90a269531393f575685283e) -#set(qtwebengine_chromium_REF 0b138dc30d0aec7930c76a2595065629948ad9f7) +set(qtbase_HASH + "ef364f939f23b622f67d21833c2dbf1fb74531d9a1e25b6d2e94ea5d747a40f20c6c3a24abef1e9710287366b7cb54dd090350d315601317779235c20743cc81" +) +set(qttools_HASH + "77141b310f63932678f28682c490ccc75776493994d96582d546545c17937605efac312c008c75fda991b78c369320d0a2c4b543b568a459cc90051d1ed2b9da" +) +set(qtdeclarative_HASH + "75c9fdc8ba26ef95ae8ff0c82b18589b74d7ff3065e86e5bd8427bc36336e569eaa22fa07863f99d0592eec0c1a69c3409c7b3941eae14361ff523c058e56084" +) +set(qtsvg_HASH + "213af7fdf92fb64c9b824dbe044f51d89e661ccc02c17cf109e65b962a7b1de84c71e1b1b58d6cad0cc9fccee80b97efe9ebcab3491b478fb9b64bcfd33986a4" +) +set(qt5compat_HASH + "e049508efda201e5d12a2dc0e023fc096611b18810f695be213a26bfbf8cdda1ae04c353c2a8b9be0c30b014e3d4f9280921acd1e8ec3834cd309143de82f570" +) +set(qtshadertools_HASH + "5f326bb097e09f9f9259b550ccf5fb05634d748eebf8b8c416225e3cd328c2b532c764a41b98a4d47633be446edaeaa3d4e5da1f4951b31e3da6ddc4392a47fc" +) +set(qtquicktimeline_HASH + "3f9aef0eb8b495cda9bcab22e7f544e9dd1894e556e162654c87903406cd3c73820f54a543bc3861d49c7863d2fc8d92f79bb8e90cdcc23a99cf64bbeb816885" +) +set(qtquick3d_HASH + "5a5c04dfd1581905fb0b40cb35ef9e7370ffaf451287d84a9d444c0871f495ecfe59c8ab15cacc8e7314af45c16598fad5e63cd9466384c5ba245ad0c28315f2" +) +set(qttranslations_HASH + "d5df6136d3f66c93c0dd6d98c7a467c8b939d7bf5c90b5acff69262163c1e7cccc0c4f2f83b5ef06179601578b4a109f2f0c76c3897a31d3fb2567995fc55328" +) +set(qtwayland_HASH + "2edb6d3e85c06bcf689c3acfcc38b6ff0505569dfeec8bfb5a434fad563087ff917875ea56e639405af3cca8adc98206ab9f68dfaf8e2449300d010ffbb16699" +) +set(qtdoc_HASH + "839fbff235f67ade032f25120fbd7f394d272bf752dfe982c202cb8b6cf411a1bc949f5035b2c1062468e40632b2061ac611c771d35567dd5970b013ff2090f8" +) +set(qtcoap_HASH + "ce51ea39b7946b85cacddd3ebfe3a92615f31b032a779b799113c1e97aecdd3906e4fdc066296b0c0a369f4a023df4c951cc18dd47d2713e173118f2bd055cff" +) +set(qtopcua_HASH + "ac11aab0f9333a4b666c9c523f5d74140bd52e236ed14cfce3dbfc030516b1cc654761048a7fd9e4238a9f1e0e47a72c6f2f8e98173f27042c6cdbb348c8d6d9" +) +set(qtimageformats_HASH + "174bddd49dac507b7a2c9f1e1f7b384bff9ac515891ee49fd72acfa944b503cf5bd26acf388203e7d14b1f147b07ccbc2da992f71d51b7a18151245efc53a3a2" +) +set(qtmqtt_HASH + "1934405a8e6b7188ce710e89eaf7ae00f1e1516b803b773ec95b962368a8da3967bac29dfe2a4377a76d0f8b9bf47599f566d7130eff311f38af2041d0c40a88" +) +set(qtnetworkauth_HASH + "8f9f25883534af6ce7029a6c96501de3e944c8c6c3021f185c3a932653b4e4c40b3a0f8bc210d3ee175b690721a99b3d42de2f6fa9d1dbd1b730abf22fc48455" +) +set(qt3d_HASH + "8316fbe5a39bc5113da4759e195a55c57d8340021a39576939c0a4a604f47b4edb3c0206f914d4a3177ff09471d1f3475ffc4c2fa935ed8d98a166e310bc78b4" +) +set(qtactiveqt_HASH + "d49c16f4e055bcf389c719ae0e33a6ae0ef54f2433211f14864774c3694f82361783d18db6996b6f5abd52f5ac7f791b0eab015c946ceaa3ddfb9ef6abf64f19" +) +set(qtdatavis3d_HASH + "a5d0cf5c223a5baa69dc7fc59b131eb3b971dc3701d20e81bf7e86ccb6e8f4d20a82079e514d1269091fa014896167d52912e3940210fd546a8a55439c75509a" +) +set(qtdeviceutilities_HASH + "b32222c52169832a30a1d6bf0b19e5adc15bc9b1c7c12e4613ea73eba73b00528969f8a87830d0a9bf61663547ff263e2e0d6e5f4bc37b8624c3f96d9cbc51b6" +) +set(qtlottie_HASH + "c663b830210359bd738a3ab2ae84d956646c249e199acac194c1ec725b3eb1acb2392eef0a9b252e8ece0adad104932d4f7207903e49ec041287618d3a6f9894" +) +set(qtscxml_HASH + "c0138fc338b2d12fb4bcbba2c852b44e4257c56850f22af46d452871fb9bd9465bd824d86cd7e7772ef62b8ed48515790b496e1e873aa335deae8e25789cb4d0" +) +set(qtvirtualkeyboard_HASH + "a128c8210eec799d81c76b20e32e3c09ccb345d822b5c59b1fbf0960a1e2bec50c43140d86aaae9419a1fc514fc3e14bd283f612bf9133676db1a21e7217f528" +) +set(qtcharts_HASH + "84b372c8b52aea580b2b9727775753345affa80b73e0be843e65f7331bb809187d7183d93fdaf543197860210bc4e006f3a707663a160cf8ae05b37871abac7e" +) +set(qtconnectivity_HASH + "5508f3fc57679a4f986f430dcd19c5da15af663a677d27c9cc6aba81629f4a6e1954be31c5d2a44ba22366d7731ff105d2eaa3a0565b3b02baea0f498c547733" +) +set(qtpositioning_HASH + "8899b4bf8096211fca37f7a7855ae2c6f79d770602105d76a98b580ad8e2f2f55096095bd7f935f6f9ac36e23135e7594cf3c2e5b760c979560a108d43d57784" +) +set(qtlocation_HASH + "c7cbd76b6b8b7d09387c7da0e6630959ae66f0c8af2cd26b255e86ec36c6efeec59e4af7b34faa05f2fa035d4dd075d13a8dd0bccaefac48d391b4fa786769c0" +) +set(qtmultimedia_HASH + "2f001888b44274583dcd5bc6f467cf18efbb1a711f29d6baf354071199772ee49d835922f2fa0e9770898d42decddf04b379d8f05d1dfd923c5f9d58e3c7fcd8" +) +set(qtremoteobjects_HASH + "5845afc5ea4894fa788ce07a89348bd5027c0cceca65dce99a6bf437b396c71f25e8e7374401c8d10fd88be2303766c6df29b62e826f4d5ba38971a042dd7b06" +) +set(qtsensors_HASH + "88e9277aefdc609bda881cb836dfdc04d29a32a4e09998d67e2ebe7ec6f94aff508fb39c2b624f00bcc85ddccd61bb5ed3ffcc953dd28d00ef559d50e6104ae4" +) +set(qtserialbus_HASH + "b0ce725382c15048913204e6173dd899af6f8233ff3a098f497dea6a3d9d2cd436ad7944165398fba59f92098f7e38e7c3c5efa47a7ffeec2bf3a464ae9d4539" +) +set(qtserialport_HASH + "343537aedd9c84dd5d6889d45babff181d7ef05927fd9cfdbb9389066f8860e2522bc059ca2c5c9af4c88bca255e0fc40b5eea84b93c970123a94afc803a638d" +) +set(qtwebchannel_HASH + "156d3d1f7e1a0b0df8c103db010cd8e40717e6fcf27dd20c27ca22900ae377a8da8bc86a9ec1d65765defb68032469415c345a571e9a3dcbc3919603972d01d6" +) +set(qtwebengine_HASH + "01e8988c76ff40ca5e38f76e90791d7ef708c29f2e9f8e83ca8604b6335fbecdee71473678a63633ec1edec85088256b20e56a618ca95748ccbe1e7b9673c298" +) +set(qtwebsockets_HASH + "7453c6657e9885393d57df3ebaf9d3ad12237b5fb848ac3547cc6c6ed607562d58564667a7fd10133d4cdb94151aa5c21660e33c7f48f01a4061001a47f85b60" +) +set(qtwebview_HASH + "af16c85d76e55e3c39c747995b3c46354efe5f5a3e111df36f9b169ab8fe3ac878cfe223ee47aef9aa8bc302c7383fc9b1f9682c63034e42def3714b28a0aabf" +) +set(qtinterfaceframework_REF "373322fc654e875cb56828de554dfdda96e9fb4e") +set(qtapplicationmanager_HASH + "7d404ac3f98d29004009d87996779a0c5c86b976e864257cd3a9018d84db8bc07bcedc74f0b15443f90b487d2229fdb7b80d1ae082b0fc8dea30f682b58cea1a" +) +set(qtlanguageserver_HASH + "8b55a3558de28d6c2c61bf52e8f10d1a67cc6890fdd3846db99f6c766fd22fef1793687b88b146f5a64971d60eef4357409b893c91310d1b9abec883ab35c2bc" +) +set(qthttpserver_HASH + "4e99164e285ed4e8ae64a4af2c717fc22a7b5934ac5a78fe3adbb04e29109d1294e9917aa089b9cb9e5492bdf7fad4888c837374c2fef691ea7294bccbe7b01a" +) +set(qtquick3dphysics_HASH + "e8948f84e337bc4c496ba67f047c809ece8d74a3d2af388227c902b765a1d2969f86be2ebaaa89f271c4b73d2cf5151a4c488ff7dc4f4a965d5f6a4de052784a" +) +set(qtspeech_HASH + "6434ccf743604bf4ac4bc31b26c7dbc7f765ec95174f0d9047bec822292f85e6b21ace825b52ce60bd388d9c333d427b206209f78c612782701567bb7d271e6d" +) +set(qtgrpc_HASH + "488c7e6a20cd9c267b44923c317e545e71543f68153228a4fee1fa9c0a2f6d3e212db9482962999bb80e87313a1a851b787759852089f17dca8add7040627c55" +) +set(qtquickeffectmaker_HASH + "cdcee80a0bf7347ef9b63acc277ce6ef134128ba56f247008803d9444a9e0713e23205ed0f9ecf2b7752d82183acb471a2589c8b0ec914259a22395f94755bfa" +) +set(qtgraphs_HASH + "c1803e68e065fc4ed7de68e65f5dc86a0b926768779c0de57a7f4af46506f019c27d47095f87eb1516011868262d6654817c478e130739477658a3dbcef2fb35" +) + +# Keep for beta/rc set(qttools_qlitehtml_REF bd70f93ce41443a6a90a269531393f575685283e) +# set(qtwebengine_chromium_REF 0b138dc30d0aec7930c76a2595065629948ad9f7) diff --git a/vcpkg/ports/qtbase/cmake/qt_port_details.cmake b/vcpkg/ports/qtbase/cmake/qt_port_details.cmake index e1f263d57..e6d330979 100644 --- a/vcpkg/ports/qtbase/cmake/qt_port_details.cmake +++ b/vcpkg/ports/qtbase/cmake/qt_port_details.cmake @@ -1,183 +1,245 @@ -### Steps to update the qt6 ports -## 1. Change QT_VERSION below to the new version -## 2. Set QT_UPDATE_VERSION to 1 -## 3. Add any new Qt modules to QT_PORTS -## 4. Run a build of `qtbase` -## 5. Fix any intermediate failures by adding the module into QT_FROM_GITHUB, QT_FROM_GITHUB_BRANCH, or QT_FROM_QT_GIT as appropriate -## 6. The build should fail with "Done downloading version and emitting hashes." This will have changed out the vcpkg.json versions of the qt ports and rewritten qt_port_data.cmake -## 7. Set QT_UPDATE_VERSION back to 0 +# Steps to update the qt6 ports 1. Change QT_VERSION below to the new version 2. Set +# QT_UPDATE_VERSION to 1 3. Add any new Qt modules to QT_PORTS 4. Run a build of `qtbase` +# 5. Fix any intermediate failures by adding the module into QT_FROM_GITHUB, +# QT_FROM_GITHUB_BRANCH, or QT_FROM_QT_GIT as appropriate 6. The build should fail with +# "Done downloading version and emitting hashes." This will have changed out the +# vcpkg.json versions of the qt ports and rewritten qt_port_data.cmake 7. Set +# QT_UPDATE_VERSION back to 0 set(QT_VERSION 6.8.3) set(QT_DEV_BRANCH 0) set(QT_UPDATE_VERSION 0) -if(PORT MATCHES "(qtquickcontrols2)") - set(VCPKG_POLICY_EMPTY_PACKAGE enabled) - return() -endif() +if (PORT MATCHES "(qtquickcontrols2)") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + return() +endif () -### Setting up the git tag. +# Setting up the git tag. -set(QT_PORTS qt - qtbase - qttools - qtdeclarative - qtsvg - qt5compat - qtshadertools - qtquicktimeline - qtquick3d - qttranslations - qtwayland - qtdoc - qtcoap - qtopcua - qtimageformats - qtmqtt - qtnetworkauth - qt3d) - # qtquickcontrols2 -> moved into qtdeclarative -if(QT_VERSION VERSION_GREATER_EQUAL 6.1) - list(APPEND QT_PORTS - ## New in 6.1 - qtactiveqt - qtdatavis3d - qtdeviceutilities - qtlottie - qtscxml - qtvirtualkeyboard - qtcharts) -endif() -if(QT_VERSION VERSION_GREATER_EQUAL 6.2) - list(APPEND QT_PORTS - ## New in 6.2 - qtconnectivity - qtpositioning - qtlocation # back in 6.5 as tech preview - qtmultimedia - qtremoteobjects - qtsensors - qtserialbus - qtserialport - qtwebchannel - qtwebengine - qtwebsockets - qtwebview) -endif() -if(QT_VERSION VERSION_GREATER_EQUAL 6.2.2) - list(APPEND QT_PORTS - ## New in 6.2.2 - qtinterfaceframework - qtapplicationmanager) -endif() -if(QT_VERSION VERSION_GREATER_EQUAL 6.3.0) - list(APPEND QT_PORTS - ## New in 6.3.0 - qtlanguageserver) -endif() -if(QT_VERSION VERSION_GREATER_EQUAL 6.4.0) - list(APPEND QT_PORTS - ## New in 6.4.0 - qthttpserver - qtquick3dphysics - qtspeech) -endif() -if(QT_VERSION VERSION_GREATER_EQUAL 6.5.0) - list(APPEND QT_PORTS - ## New in 6.5.0 - qtgrpc - qtquickeffectmaker - ) -endif() -if(QT_VERSION VERSION_GREATER_EQUAL 6.6.0) - list(APPEND QT_PORTS - ## New in 6.6.0 - qtgraphs - #qtvncserver # only commercial - #qtinsighttracker - ) -endif() -#qtinsighttracker -#qtvncserver -#qtgraphs +set(QT_PORTS + qt + qtbase + qttools + qtdeclarative + qtsvg + qt5compat + qtshadertools + qtquicktimeline + qtquick3d + qttranslations + qtwayland + qtdoc + qtcoap + qtopcua + qtimageformats + qtmqtt + qtnetworkauth + qt3d +) +# qtquickcontrols2 -> moved into qtdeclarative +if (QT_VERSION VERSION_GREATER_EQUAL 6.1) + list( + APPEND + QT_PORTS + # New in 6.1 + qtactiveqt + qtdatavis3d + qtdeviceutilities + qtlottie + qtscxml + qtvirtualkeyboard + qtcharts + ) +endif () +if (QT_VERSION VERSION_GREATER_EQUAL 6.2) + list( + APPEND + QT_PORTS + # New in 6.2 + qtconnectivity + qtpositioning + qtlocation # back in 6.5 as tech preview + qtmultimedia + qtremoteobjects + qtsensors + qtserialbus + qtserialport + qtwebchannel + qtwebengine + qtwebsockets + qtwebview + ) +endif () +if (QT_VERSION VERSION_GREATER_EQUAL 6.2.2) + list( + APPEND + QT_PORTS + # New in 6.2.2 + qtinterfaceframework + qtapplicationmanager + ) +endif () +if (QT_VERSION VERSION_GREATER_EQUAL 6.3.0) + list(APPEND QT_PORTS + # New in 6.3.0 + qtlanguageserver + ) +endif () +if (QT_VERSION VERSION_GREATER_EQUAL 6.4.0) + list( + APPEND + QT_PORTS + # New in 6.4.0 + qthttpserver + qtquick3dphysics + qtspeech + ) +endif () +if (QT_VERSION VERSION_GREATER_EQUAL 6.5.0) + list( + APPEND + QT_PORTS + # New in 6.5.0 + qtgrpc + qtquickeffectmaker + ) +endif () +if (QT_VERSION VERSION_GREATER_EQUAL 6.6.0) + list( + APPEND + QT_PORTS + # New in 6.6.0 + qtgraphs + # qtvncserver # only commercial qtinsighttracker + ) +endif () +# qtinsighttracker qtvncserver qtgraphs # 1. By default, modules come from the official release # 2. These modules are mirrored to github and have tags matching the release -set(QT_FROM_GITHUB qtcoap qtopcua qtmqtt qtapplicationmanager) -# 3. These modules are mirrored to github and have branches matching the release +set(QT_FROM_GITHUB + qtcoap + qtopcua + qtmqtt + qtapplicationmanager +) +# 1. These modules are mirrored to github and have branches matching the release set(QT_FROM_GITHUB_BRANCH qtdeviceutilities) -# 4. These modules are not mirrored to github and not part of the release +# 1. These modules are not mirrored to github and not part of the release set(QT_FROM_QT_GIT qtinterfaceframework) -# For beta releases uncomment the next two lines and comment the lines with QT_FROM_GITHUB, QT_FROM_GITHUB_BRANCH, QT_FROM_QT_GIT -#set(QT_FROM_QT_GIT ${QT_PORTS}) -#list(POP_FRONT QT_FROM_QT_GIT) +# For beta releases uncomment the next two lines and comment the lines with +# QT_FROM_GITHUB, QT_FROM_GITHUB_BRANCH, QT_FROM_QT_GIT set(QT_FROM_QT_GIT ${QT_PORTS}) +# list(POP_FRONT QT_FROM_QT_GIT) -function(qt_get_url_filename qt_port out_urls out_filename) - if("${qt_port}" IN_LIST QT_FROM_GITHUB) - set(urls "https://github.com/qt/${qt_port}/archive/v${QT_VERSION}.tar.gz") - set(filename "qt-${qt_port}-v${QT_VERSION}.tar.gz") - elseif("${qt_port}" IN_LIST QT_FROM_GITHUB_BRANCH) - set(urls "https://github.com/qt/${qt_port}/archive/${QT_VERSION}.tar.gz") - set(filename "qt-${qt_port}-${QT_VERSION}.tar.gz") - else() - string(SUBSTRING "${QT_VERSION}" 0 3 qt_major_minor) +function ( + qt_get_url_filename + qt_port + out_urls + out_filename +) + if ("${qt_port}" IN_LIST QT_FROM_GITHUB) + set(urls "https://github.com/qt/${qt_port}/archive/v${QT_VERSION}.tar.gz") + set(filename "qt-${qt_port}-v${QT_VERSION}.tar.gz") + elseif ("${qt_port}" IN_LIST QT_FROM_GITHUB_BRANCH) + set(urls "https://github.com/qt/${qt_port}/archive/${QT_VERSION}.tar.gz") + set(filename "qt-${qt_port}-${QT_VERSION}.tar.gz") + else () + string( + SUBSTRING "${QT_VERSION}" + 0 + 3 + qt_major_minor + ) - if(NOT QT_DEV_BRANCH) - set(branch_subpath "archive") - else() - set(branch_subpath "development_releases") - endif() + if (NOT QT_DEV_BRANCH) + set(branch_subpath "archive") + else () + set(branch_subpath "development_releases") + endif () - set(filename "${qt_port}-everywhere-src-${QT_VERSION}.tar.xz") - set(mirrors - "https://download.qt.io/" - "https://mirrors.ocf.berkeley.edu/qt/" - ) - set(url_subpath "${branch_subpath}/qt/${qt_major_minor}/${QT_VERSION}/submodules/${filename}") - list(TRANSFORM mirrors APPEND "${url_subpath}" OUTPUT_VARIABLE urls) - endif() - set(${out_urls} ${urls} PARENT_SCOPE) - set(${out_filename} "${filename}" PARENT_SCOPE) -endfunction() + set(filename "${qt_port}-everywhere-src-${QT_VERSION}.tar.xz") + set(mirrors "https://download.qt.io/" "https://mirrors.ocf.berkeley.edu/qt/") + set(url_subpath + "${branch_subpath}/qt/${qt_major_minor}/${QT_VERSION}/submodules/${filename}" + ) + list(TRANSFORM mirrors APPEND "${url_subpath}" OUTPUT_VARIABLE urls) + endif () + set(${out_urls} + ${urls} + PARENT_SCOPE + ) + set(${out_filename} + "${filename}" + PARENT_SCOPE + ) +endfunction () -if(QT_UPDATE_VERSION) - if(NOT PORT STREQUAL "qtbase") - message(FATAL_ERROR "QT_UPDATE_VERSION must be used from the root 'qtbase' package") - endif() - set(VCPKG_USE_HEAD_VERSION 1) - set(msg "" CACHE INTERNAL "") - foreach(qt_port IN LISTS QT_PORTS) - set(port_json "${CMAKE_CURRENT_LIST_DIR}/../../${qt_port}/vcpkg.json") - file(READ "${port_json}" _control_contents) - string(REGEX REPLACE "\"version(-(string|semver))?\": [^\n]+\n" "\"version\": \"${QT_VERSION}\",\n" _control_contents "${_control_contents}") - string(REGEX REPLACE "\"port-version\": [^\n]+\n" "" _control_contents "${_control_contents}") - file(WRITE "${port_json}" "${_control_contents}") - if(qt_port STREQUAL "qt") - continue() - endif() - if("${qt_port}" IN_LIST QT_FROM_QT_GIT) - vcpkg_find_acquire_program(GIT) - execute_process( - COMMAND "${GIT}" ls-remote -t "https://code.qt.io/cgit/qt/${qt_port}.git" "v${QT_VERSION}" - OUTPUT_VARIABLE out - ) - string(SUBSTRING "${out}" 0 40 tag_sha) - string(APPEND msg "set(${qt_port}_REF ${tag_sha})\n") - else() - qt_get_url_filename("${qt_port}" urls filename) - vcpkg_download_distfile(archive - URLS ${urls} - FILENAME "${filename}" - SKIP_SHA512 - ) - file(SHA512 "${archive}" hash) - string(APPEND msg "set(${qt_port}_HASH \"${hash}\")\n") - endif() - endforeach() - message("${msg}") - file(WRITE "${CMAKE_CURRENT_LIST_DIR}/qt_port_data_new.cmake" "${msg}") - message(FATAL_ERROR "Done downloading version and emitting hashes.") -endif() +if (QT_UPDATE_VERSION) + if (NOT + PORT + STREQUAL + "qtbase" + ) + message(FATAL_ERROR "QT_UPDATE_VERSION must be used from the root 'qtbase' package") + endif () + set(VCPKG_USE_HEAD_VERSION 1) + set(msg + "" + CACHE INTERNAL "" + ) + foreach (qt_port IN LISTS QT_PORTS) + set(port_json "${CMAKE_CURRENT_LIST_DIR}/../../${qt_port}/vcpkg.json") + file(READ "${port_json}" _control_contents) + string( + REGEX + REPLACE "\"version(-(string|semver))?\": [^\n]+\n" + "\"version\": \"${QT_VERSION}\",\n" + _control_contents + "${_control_contents}" + ) + string( + REGEX + REPLACE "\"port-version\": [^\n]+\n" + "" + _control_contents + "${_control_contents}" + ) + file(WRITE "${port_json}" "${_control_contents}") + if (qt_port STREQUAL "qt") + continue() + endif () + if ("${qt_port}" IN_LIST QT_FROM_QT_GIT) + vcpkg_find_acquire_program(GIT) + execute_process( + COMMAND "${GIT}" ls-remote -t "https://code.qt.io/cgit/qt/${qt_port}.git" + "v${QT_VERSION}" OUTPUT_VARIABLE out + ) + string( + SUBSTRING "${out}" + 0 + 40 + tag_sha + ) + string(APPEND msg "set(${qt_port}_REF ${tag_sha})\n") + else () + qt_get_url_filename("${qt_port}" urls filename) + vcpkg_download_distfile( + archive + URLS + ${urls} + FILENAME + "${filename}" + SKIP_SHA512 + ) + file(SHA512 "${archive}" hash) + string(APPEND msg "set(${qt_port}_HASH \"${hash}\")\n") + endif () + endforeach () + message("${msg}") + file(WRITE "${CMAKE_CURRENT_LIST_DIR}/qt_port_data_new.cmake" "${msg}") + message(FATAL_ERROR "Done downloading version and emitting hashes.") +endif () include("${CMAKE_CURRENT_LIST_DIR}/qt_port_data.cmake") diff --git a/vcpkg/ports/qtbase/portfile.cmake b/vcpkg/ports/qtbase/portfile.cmake index e997ade1c..2f1fca59e 100644 --- a/vcpkg/ports/qtbase/portfile.cmake +++ b/vcpkg/ports/qtbase/portfile.cmake @@ -1,242 +1,338 @@ -# Reminder for myself and everybody else: -# Qt cross module dependency information within the Qt respository is wrong and/or incomplete. -# Always check the toplevel CMakeLists.txt for the find_package call and search for linkage against the Qt:: targets -# Often enough certain (bigger) dependencies are only used to build examples and/or tests. -# As such getting the correct dependency information relevant for vcpkg requires a manual search/check +# Reminder for myself and everybody else: Qt cross module dependency information within +# the Qt respository is wrong and/or incomplete. Always check the toplevel CMakeLists.txt +# for the find_package call and search for linkage against the Qt:: targets Often enough +# certain (bigger) dependencies are only used to build examples and/or tests. As such +# getting the correct dependency information relevant for vcpkg requires a manual +# search/check set(QT_IS_LATEST ON) -## All above goes into the qt_port_hashes in the future +# All above goes into the qt_port_hashes in the future include("${CMAKE_CURRENT_LIST_DIR}/cmake/qt_install_submodule.cmake") set(${PORT}_PATCHES - allow_outside_prefix.patch - config_install.patch - fix_cmake_build.patch - harfbuzz.patch - fix_egl.patch - fix_egl_2.patch - installed_dir.patch - GLIB2-static.patch # alternative is to force pkg-config - clang-cl_source_location.patch - clang-cl_QGADGET_fix.diff - fix-host-aliasing.patch - fix_deploy_windows.patch - fix-link-lib-discovery.patch - macdeployqt-symlinks.patch + allow_outside_prefix.patch + config_install.patch + fix_cmake_build.patch + harfbuzz.patch + fix_egl.patch + fix_egl_2.patch + installed_dir.patch + GLIB2-static.patch # alternative is to force pkg-config + clang-cl_source_location.patch + clang-cl_QGADGET_fix.diff + fix-host-aliasing.patch + fix_deploy_windows.patch + fix-link-lib-discovery.patch + macdeployqt-symlinks.patch ) - -if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) - list(APPEND ${PORT}_PATCHES env.patch) -endif() -list(APPEND ${PORT}_PATCHES - dont_force_cmakecache_latest.patch - ) - -if(VCPKG_TARGET_IS_WINDOWS AND NOT "doubleconversion" IN_LIST FEATURES) - message(FATAL_ERROR "${PORT} requires feature doubleconversion on windows!" ) -endif() - -if(VCPKG_TARGET_IS_LINUX) - message(WARNING "qtbase currently requires packages from the system package manager. " - "They can be installed on Ubuntu systems via sudo apt-get install " - "'^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev " - "libxkbcommon-x11-dev libegl1-mesa-dev.") -endif() +if (VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + list(APPEND ${PORT}_PATCHES env.patch) +endif () -# Features can be found via searching for qt_feature in all configure.cmake files in the source: -# The files also contain information about the Platform for which it is searched -# Always use FEATURE_ in vcpkg_cmake_configure -# (using QT_FEATURE_X overrides Qts condition check for the feature.) -# Theoretically there is a feature for every widget to enable/disable it but that is way to much for vcpkg +list(APPEND ${PORT}_PATCHES dont_force_cmakecache_latest.patch) -set(input_vars doubleconversion freetype harfbuzz libb2 jpeg libmd4c png sql-sqlite) +if (VCPKG_TARGET_IS_WINDOWS + AND NOT + "doubleconversion" + IN_LIST + FEATURES +) + message(FATAL_ERROR "${PORT} requires feature doubleconversion on windows!") +endif () + +if (VCPKG_TARGET_IS_LINUX) + message( + WARNING + "qtbase currently requires packages from the system package manager. " + "They can be installed on Ubuntu systems via sudo apt-get install " + "'^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev " + "libxkbcommon-x11-dev libegl1-mesa-dev." + ) +endif () + +# Features can be found via searching for qt_feature in all configure.cmake files in the +# source: The files also contain information about the Platform for which it is searched +# Always use FEATURE_ in vcpkg_cmake_configure (using QT_FEATURE_X overrides Qts +# condition check for the feature.) Theoretically there is a feature for every widget to +# enable/disable it but that is way to much for vcpkg + +set(input_vars + doubleconversion + freetype + harfbuzz + libb2 + jpeg + libmd4c + png + sql-sqlite +) set(INPUT_OPTIONS) -foreach(_input IN LISTS input_vars) - if(_input MATCHES "(png|jpeg)" ) - list(APPEND INPUT_OPTIONS -DINPUT_lib${_input}:STRING=) - elseif(_input MATCHES "(sql-sqlite)") # Not yet used by the cmake build - else() - list(APPEND INPUT_OPTIONS -DINPUT_${_input}:STRING=) - endif() - if("${_input}" IN_LIST FEATURES) - string(APPEND INPUT_OPTIONS system) - elseif(_input STREQUAL "libb2" AND NOT VCPKG_TARGET_IS_WINDOWS) - string(APPEND INPUT_OPTIONS system) - elseif(_input STREQUAL "libmd4c") - string(APPEND INPUT_OPTIONS qt) # libmd4c is not yet in VCPKG (but required by qtdeclarative) - else() - string(APPEND INPUT_OPTIONS no) - endif() -endforeach() +foreach (_input IN LISTS input_vars) + if (_input MATCHES "(png|jpeg)") + list(APPEND INPUT_OPTIONS -DINPUT_lib${_input}:STRING=) + elseif (_input MATCHES "(sql-sqlite)") # Not yet used by the cmake build + + else () + list(APPEND INPUT_OPTIONS -DINPUT_${_input}:STRING=) + endif () + if ("${_input}" IN_LIST FEATURES) + string(APPEND INPUT_OPTIONS system) + elseif (_input STREQUAL "libb2" AND NOT VCPKG_TARGET_IS_WINDOWS) + string(APPEND INPUT_OPTIONS system) + elseif (_input STREQUAL "libmd4c") + string(APPEND INPUT_OPTIONS qt) # libmd4c is not yet in VCPKG (but required by + # qtdeclarative) + else () + string(APPEND INPUT_OPTIONS no) + endif () +endforeach () # General features: -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS -FEATURES - "appstore-compliant" FEATURE_appstore_compliant - "zstd" FEATURE_zstd - "framework" FEATURE_framework - "concurrent" FEATURE_concurrent - "concurrent" FEATURE_future - "dbus" FEATURE_dbus - "gui" FEATURE_gui - "thread" FEATURE_thread - "network" FEATURE_network - "sql" FEATURE_sql - "widgets" FEATURE_widgets - #"xml" FEATURE_xml # Required to build moc - "testlib" FEATURE_testlib - "zstd" CMAKE_REQUIRE_FIND_PACKAGE_zstd - ${require_features} -INVERTED_FEATURES - "zstd" CMAKE_DISABLE_FIND_PACKAGE_ZSTD - "dbus" CMAKE_DISABLE_FIND_PACKAGE_WrapDBus1 - ) +vcpkg_check_features( + OUT_FEATURE_OPTIONS + FEATURE_OPTIONS + FEATURES + "appstore-compliant" + FEATURE_appstore_compliant + "zstd" + FEATURE_zstd + "framework" + FEATURE_framework + "concurrent" + FEATURE_concurrent + "concurrent" + FEATURE_future + "dbus" + FEATURE_dbus + "gui" + FEATURE_gui + "thread" + FEATURE_thread + "network" + FEATURE_network + "sql" + FEATURE_sql + "widgets" + FEATURE_widgets + # "xml" FEATURE_xml # Required to build moc + "testlib" + FEATURE_testlib + "zstd" + CMAKE_REQUIRE_FIND_PACKAGE_zstd + ${require_features} + INVERTED_FEATURES + "zstd" + CMAKE_DISABLE_FIND_PACKAGE_ZSTD + "dbus" + CMAKE_DISABLE_FIND_PACKAGE_WrapDBus1 +) list(APPEND FEATURE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Libudev:BOOL=ON) list(APPEND FEATURE_OPTIONS -DFEATURE_xml:BOOL=ON) -if("dbus" IN_LIST FEATURES AND VCPKG_TARGET_IS_LINUX) +if ("dbus" IN_LIST FEATURES AND VCPKG_TARGET_IS_LINUX) list(APPEND FEATURE_OPTIONS -DINPUT_dbus=linked) -elseif("dbus" IN_LIST FEATURES) +elseif ("dbus" IN_LIST FEATURES) list(APPEND FEATURE_OPTIONS -DINPUT_dbus=runtime) -else() +else () list(APPEND FEATURE_OPTIONS -DINPUT_dbus=no) -endif() +endif () -if(VCPKG_QT_NAMESPACE) - list(APPEND FEATURE_OPTIONS "-DQT_NAMESPACE:STRING=${VCPKG_QT_NAMESPACE}") -endif() +if (VCPKG_QT_NAMESPACE) + list(APPEND FEATURE_OPTIONS "-DQT_NAMESPACE:STRING=${VCPKG_QT_NAMESPACE}") +endif () # Corelib features: -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_CORE_OPTIONS -FEATURES - "doubleconversion" FEATURE_doubleconversion - "glib" FEATURE_glib - "icu" FEATURE_icu - "pcre2" FEATURE_pcre2 - #"icu" CMAKE_REQUIRE_FIND_PACKAGE_ICU - "glib" CMAKE_REQUIRE_FIND_PACKAGE_GLIB2 -INVERTED_FEATURES - #"doubleconversion" CMAKE_DISABLE_FIND_PACKAGE_WrapDoubleConversion # Required - #"pcre2" CMAKE_DISABLE_FIND_PACKAGE_WrapSystemPCRE2 # Bug in qt cannot be deactivated - "icu" CMAKE_DISABLE_FIND_PACKAGE_ICU - "glib" CMAKE_DISABLE_FIND_PACKAGE_GLIB2 - ) +vcpkg_check_features( + OUT_FEATURE_OPTIONS + FEATURE_CORE_OPTIONS + FEATURES + "doubleconversion" + FEATURE_doubleconversion + "glib" + FEATURE_glib + "icu" + FEATURE_icu + "pcre2" + FEATURE_pcre2 + # "icu" CMAKE_REQUIRE_FIND_PACKAGE_ICU + "glib" + CMAKE_REQUIRE_FIND_PACKAGE_GLIB2 + INVERTED_FEATURES + # "doubleconversion" CMAKE_DISABLE_FIND_PACKAGE_WrapDoubleConversion # Required + # "pcre2" CMAKE_DISABLE_FIND_PACKAGE_WrapSystemPCRE2 # Bug in qt cannot + # be deactivated + "icu" + CMAKE_DISABLE_FIND_PACKAGE_ICU + "glib" + CMAKE_DISABLE_FIND_PACKAGE_GLIB2 +) list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_LTTngUST:BOOL=ON) list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_PPS:BOOL=ON) list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Slog2:BOOL=ON) list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Libsystemd:BOOL=ON) list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_WrapBacktrace:BOOL=ON) -#list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_WrapAtomic:BOOL=ON) # Cannot be disabled on x64 platforms -#list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_WrapRt:BOOL=ON) # Cannot be disabled on osx +# list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_WrapAtomic:BOOL=ON) # +# Cannot be disabled on x64 platforms list(APPEND FEATURE_CORE_OPTIONS +# -DCMAKE_DISABLE_FIND_PACKAGE_WrapRt:BOOL=ON) # Cannot be disabled on osx if (VCPKG_TARGET_IS_ANDROID) - list(APPEND FEATURE_CORE_OPTIONS -DFEATURE_getentropy:BOOL=OFF) -endif() - + list(APPEND FEATURE_CORE_OPTIONS -DFEATURE_getentropy:BOOL=OFF) +endif () + # Network features: - vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_NET_OPTIONS - FEATURES - "openssl" FEATURE_openssl - "brotli" FEATURE_brotli - "securetransport" FEATURE_securetransport - "dnslookup" FEATURE_dnslookup - #"brotli" CMAKE_REQUIRE_FIND_PACKAGE_WrapBrotli - #"openssl" CMAKE_REQUIRE_FIND_PACKAGE_WrapOpenSSL - INVERTED_FEATURES - "brotli" CMAKE_DISABLE_FIND_PACKAGE_WrapBrotli - "openssl" CMAKE_DISABLE_FIND_PACKAGE_WrapOpenSSL - "dnslookup" CMAKE_DISABLE_FIND_PACKAGE_WrapResolve - ) +vcpkg_check_features( + OUT_FEATURE_OPTIONS + FEATURE_NET_OPTIONS + FEATURES + "openssl" + FEATURE_openssl + "brotli" + FEATURE_brotli + "securetransport" + FEATURE_securetransport + "dnslookup" + FEATURE_dnslookup + # "brotli" CMAKE_REQUIRE_FIND_PACKAGE_WrapBrotli "openssl" + # CMAKE_REQUIRE_FIND_PACKAGE_WrapOpenSSL + INVERTED_FEATURES + "brotli" + CMAKE_DISABLE_FIND_PACKAGE_WrapBrotli + "openssl" + CMAKE_DISABLE_FIND_PACKAGE_WrapOpenSSL + "dnslookup" + CMAKE_DISABLE_FIND_PACKAGE_WrapResolve +) -if("openssl" IN_LIST FEATURES) - list(APPEND FEATURE_NET_OPTIONS -DINPUT_openssl=linked) -else() - list(APPEND FEATURE_NET_OPTIONS -DINPUT_openssl=no) -endif() +if ("openssl" IN_LIST FEATURES) + list(APPEND FEATURE_NET_OPTIONS -DINPUT_openssl=linked) +else () + list(APPEND FEATURE_NET_OPTIONS -DINPUT_openssl=no) +endif () if ("dnslookup" IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_WINDOWS) - list(APPEND FEATURE_NET_OPTIONS -DFEATURE_libresolv:BOOL=ON) -endif() + list(APPEND FEATURE_NET_OPTIONS -DFEATURE_libresolv:BOOL=ON) +endif () list(APPEND FEATURE_NET_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Libproxy:BOOL=ON) list(APPEND FEATURE_NET_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_GSSAPI:BOOL=ON) # Gui features: -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_GUI_OPTIONS +vcpkg_check_features( + OUT_FEATURE_OPTIONS + FEATURE_GUI_OPTIONS + FEATURES + "freetype" + FEATURE_freetype # required on windows + "harfbuzz" + FEATURE_harfbuzz + "fontconfig" + FEATURE_fontconfig # NOT WINDOWS + "jpeg" + FEATURE_jpeg + "png" + FEATURE_png + "opengl" + FEATURE_opengl + "xlib" + FEATURE_xlib + "xkb" + FEATURE_xkbcommon + "xcb" + FEATURE_xcb + "xcb-xlib" + FEATURE_xcb_xlib + "xkbcommon-x11" + FEATURE_xkbcommon_x11 + "xrender" + FEATURE_xrender # requires FEATURE_xcb_native_painting; otherwise disabled. + "xrender" + FEATURE_xcb_native_painting # experimental + "gles2" + FEATURE_opengles2 + "gles3" + FEATURE_opengles3 + # Cannot be required since Qt will look in CONFIG mode first but is controlled via + # CMAKE_DISABLE_FIND_PACKAGE_Vulkan below "vulkan" + # CMAKE_REQUIRE_FIND_PACKAGE_WrapVulkanHeaders + "egl" + FEATURE_egl + # "fontconfig" CMAKE_REQUIRE_FIND_PACKAGE_Fontconfig "harfbuzz" + # CMAKE_REQUIRE_FIND_PACKAGE_WrapSystemHarfbuzz "jpeg" CMAKE_REQUIRE_FIND_PACKAGE_JPEG + # "png" CMAKE_REQUIRE_FIND_PACKAGE_PNG "xlib" + # CMAKE_REQUIRE_FIND_PACKAGE_X11 "xkb" CMAKE_REQUIRE_FIND_PACKAGE_XKB "xcb" + # CMAKE_REQUIRE_FIND_PACKAGE_XCB "xcb-xlib" CMAKE_REQUIRE_FIND_PACKAGE_X11_XCB + # "xkbcommon-x11" CMAKE_REQUIRE_FIND_PACKAGE_XKB_COMMON_X11 "xrender" + # CMAKE_REQUIRE_FIND_PACKAGE_XRender + INVERTED_FEATURES + "vulkan" + CMAKE_DISABLE_FIND_PACKAGE_Vulkan + "opengl" + CMAKE_DISABLE_FIND_PACKAGE_WrapOpenGL + "egl" + CMAKE_DISABLE_FIND_PACKAGE_EGL + "gles2" + CMAKE_DISABLE_FIND_PACKAGE_GLESv2 + "gles3" + CMAKE_DISABLE_FIND_PACKAGE_GLESv3 + "fontconfig" + CMAKE_DISABLE_FIND_PACKAGE_Fontconfig + # "freetype" CMAKE_DISABLE_FIND_PACKAGE_WrapSystemFreetype # Bug in qt cannot + # be deactivated + "harfbuzz" + CMAKE_DISABLE_FIND_PACKAGE_WrapSystemHarfbuzz + "jpeg" + CMAKE_DISABLE_FIND_PACKAGE_JPEG + # "png" CMAKE_DISABLE_FIND_PACKAGE_PNG # Unable to disable if Freetype + # requires it + "xlib" + CMAKE_DISABLE_FIND_PACKAGE_X11 + "xkb" + CMAKE_DISABLE_FIND_PACKAGE_XKB + "xcb" + CMAKE_DISABLE_FIND_PACKAGE_XCB + "xcb-xlib" + CMAKE_DISABLE_FIND_PACKAGE_X11_XCB + "xkbcommon-x11" + CMAKE_DISABLE_FIND_PACKAGE_XKB_COMMON_X11 + "xrender" + CMAKE_DISABLE_FIND_PACKAGE_XRender + # There are more X features but I am unsure how to safely disable them! Most of them + # seem to be found automaticall with find_package(X11) +) + +if ("gles2" IN_LIST FEATURES) + list(APPEND FEATURE_GUI_OPTIONS -DINPUT_opengl='es2') + list(APPEND FEATURE_GUI_OPTIONS -DFEATURE_opengl_desktop=OFF) +endif () + +if (NOT + "opengl" + IN_LIST FEATURES - "freetype" FEATURE_freetype # required on windows - "harfbuzz" FEATURE_harfbuzz - "fontconfig" FEATURE_fontconfig # NOT WINDOWS - "jpeg" FEATURE_jpeg - "png" FEATURE_png - "opengl" FEATURE_opengl - "xlib" FEATURE_xlib - "xkb" FEATURE_xkbcommon - "xcb" FEATURE_xcb - "xcb-xlib" FEATURE_xcb_xlib - "xkbcommon-x11" FEATURE_xkbcommon_x11 - "xrender" FEATURE_xrender # requires FEATURE_xcb_native_painting; otherwise disabled. - "xrender" FEATURE_xcb_native_painting # experimental - "gles2" FEATURE_opengles2 - "gles3" FEATURE_opengles3 - #Cannot be required since Qt will look in CONFIG mode first but is controlled via CMAKE_DISABLE_FIND_PACKAGE_Vulkan below - #"vulkan" CMAKE_REQUIRE_FIND_PACKAGE_WrapVulkanHeaders - "egl" FEATURE_egl - #"fontconfig" CMAKE_REQUIRE_FIND_PACKAGE_Fontconfig - #"harfbuzz" CMAKE_REQUIRE_FIND_PACKAGE_WrapSystemHarfbuzz - #"jpeg" CMAKE_REQUIRE_FIND_PACKAGE_JPEG - #"png" CMAKE_REQUIRE_FIND_PACKAGE_PNG - #"xlib" CMAKE_REQUIRE_FIND_PACKAGE_X11 - #"xkb" CMAKE_REQUIRE_FIND_PACKAGE_XKB - #"xcb" CMAKE_REQUIRE_FIND_PACKAGE_XCB - #"xcb-xlib" CMAKE_REQUIRE_FIND_PACKAGE_X11_XCB - #"xkbcommon-x11" CMAKE_REQUIRE_FIND_PACKAGE_XKB_COMMON_X11 - #"xrender" CMAKE_REQUIRE_FIND_PACKAGE_XRender - INVERTED_FEATURES - "vulkan" CMAKE_DISABLE_FIND_PACKAGE_Vulkan - "opengl" CMAKE_DISABLE_FIND_PACKAGE_WrapOpenGL - "egl" CMAKE_DISABLE_FIND_PACKAGE_EGL - "gles2" CMAKE_DISABLE_FIND_PACKAGE_GLESv2 - "gles3" CMAKE_DISABLE_FIND_PACKAGE_GLESv3 - "fontconfig" CMAKE_DISABLE_FIND_PACKAGE_Fontconfig - #"freetype" CMAKE_DISABLE_FIND_PACKAGE_WrapSystemFreetype # Bug in qt cannot be deactivated - "harfbuzz" CMAKE_DISABLE_FIND_PACKAGE_WrapSystemHarfbuzz - "jpeg" CMAKE_DISABLE_FIND_PACKAGE_JPEG - #"png" CMAKE_DISABLE_FIND_PACKAGE_PNG # Unable to disable if Freetype requires it - "xlib" CMAKE_DISABLE_FIND_PACKAGE_X11 - "xkb" CMAKE_DISABLE_FIND_PACKAGE_XKB - "xcb" CMAKE_DISABLE_FIND_PACKAGE_XCB - "xcb-xlib" CMAKE_DISABLE_FIND_PACKAGE_X11_XCB - "xkbcommon-x11" CMAKE_DISABLE_FIND_PACKAGE_XKB_COMMON_X11 - "xrender" CMAKE_DISABLE_FIND_PACKAGE_XRender - # There are more X features but I am unsure how to safely disable them! Most of them seem to be found automaticall with find_package(X11) - ) - -if("gles2" IN_LIST FEATURES) - list(APPEND FEATURE_GUI_OPTIONS -DINPUT_opengl='es2') - list(APPEND FEATURE_GUI_OPTIONS -DFEATURE_opengl_desktop=OFF) -endif() - -if(NOT "opengl" IN_LIST FEATURES AND NOT "gles2" IN_LIST FEATURES) - list(APPEND FEATURE_GUI_OPTIONS -DINPUT_opengl='no') - list(APPEND FEATURE_GUI_OPTIONS -DFEATURE_opengl_desktop=OFF) - list(APPEND FEATURE_GUI_OPTIONS -DFEATURE_opengl_dynamic=OFF) -endif() - -if("xcb" IN_LIST FEATURES) - list(APPEND FEATURE_GUI_OPTIONS -DINPUT_xcb=yes) -else() - list(APPEND FEATURE_GUI_OPTIONS -DINPUT_xcb=no) -endif() -if("xkb" IN_LIST FEATURES) - list(APPEND FEATURE_GUI_OPTIONS -DINPUT_xkbcommon=yes) -else() - list(APPEND FEATURE_GUI_OPTIONS -DINPUT_xkbcommon=no) -endif() + AND NOT + "gles2" + IN_LIST + FEATURES +) + list(APPEND FEATURE_GUI_OPTIONS -DINPUT_opengl='no') + list(APPEND FEATURE_GUI_OPTIONS -DFEATURE_opengl_desktop=OFF) + list(APPEND FEATURE_GUI_OPTIONS -DFEATURE_opengl_dynamic=OFF) +endif () + +if ("xcb" IN_LIST FEATURES) + list(APPEND FEATURE_GUI_OPTIONS -DINPUT_xcb=yes) +else () + list(APPEND FEATURE_GUI_OPTIONS -DINPUT_xcb=no) +endif () +if ("xkb" IN_LIST FEATURES) + list(APPEND FEATURE_GUI_OPTIONS -DINPUT_xkbcommon=yes) +else () + list(APPEND FEATURE_GUI_OPTIONS -DINPUT_xkbcommon=no) +endif () # Disable OpenGL ES 3.1 and 3.2 list(APPEND FEATURE_GUI_OPTIONS -DFEATURE_opengles31:BOOL=OFF) @@ -251,215 +347,327 @@ list(APPEND FEATURE_GUI_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Mtdev:BOOL=ON) list(APPEND FEATURE_GUI_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Tslib:BOOL=ON) # sql-drivers features: -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_SQLDRIVERS_OPTIONS - FEATURES - "sql-sqlite" FEATURE_system_sqlite - "sql-odbc" FEATURE_sql_odbc - "sql-mysql" FEATURE_sql_mysql - "sql-oci" FEATURE_sql_oci - #"sql-psql" CMAKE_REQUIRE_FIND_PACKAGE_PostgreSQL - #"sql-sqlite" CMAKE_REQUIRE_FIND_PACKAGE_SQLite3 - INVERTED_FEATURES - "sql-psql" CMAKE_DISABLE_FIND_PACKAGE_PostgreSQL - "sql-sqlite" CMAKE_DISABLE_FIND_PACKAGE_SQLite3 - "sql-odbc" CMAKE_DISABLE_FIND_PACKAGE_ODBC - "sql-mysql" CMAKE_DISABLE_FIND_PACKAGE_MySQL - "sql-oci" CMAKE_DISABLE_FIND_PACKAGE_Oracle - ) +vcpkg_check_features( + OUT_FEATURE_OPTIONS + FEATURE_SQLDRIVERS_OPTIONS + FEATURES + "sql-sqlite" + FEATURE_system_sqlite + "sql-odbc" + FEATURE_sql_odbc + "sql-mysql" + FEATURE_sql_mysql + "sql-oci" + FEATURE_sql_oci + # "sql-psql" CMAKE_REQUIRE_FIND_PACKAGE_PostgreSQL "sql-sqlite" + # CMAKE_REQUIRE_FIND_PACKAGE_SQLite3 + INVERTED_FEATURES + "sql-psql" + CMAKE_DISABLE_FIND_PACKAGE_PostgreSQL + "sql-sqlite" + CMAKE_DISABLE_FIND_PACKAGE_SQLite3 + "sql-odbc" + CMAKE_DISABLE_FIND_PACKAGE_ODBC + "sql-mysql" + CMAKE_DISABLE_FIND_PACKAGE_MySQL + "sql-oci" + CMAKE_DISABLE_FIND_PACKAGE_Oracle +) set(DB_LIST DB2 Interbase Mimer) -foreach(_db IN LISTS DB_LIST) - list(APPEND FEATURE_SQLDRIVERS_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_${_db}:BOOL=ON) -endforeach() +foreach (_db IN LISTS DB_LIST) + list(APPEND FEATURE_SQLDRIVERS_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_${_db}:BOOL=ON) +endforeach () # printsupport features: -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_PRINTSUPPORT_OPTIONS +vcpkg_check_features( + OUT_FEATURE_OPTIONS + FEATURE_PRINTSUPPORT_OPTIONS FEATURES - "cups" FEATURE_cups + "cups" + FEATURE_cups INVERTED_FEATURES - "cups" CMAKE_DISABLE_FIND_PACKAGE_Cups + "cups" + CMAKE_DISABLE_FIND_PACKAGE_Cups ) - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_WIDGETS_OPTIONS - FEATURES - "gtk3" FEATURE_gtk3 - INVERTED_FEATURES - "gtk3" CMAKE_DISABLE_FIND_PACKAGE_GTK3 +vcpkg_check_features( + OUT_FEATURE_OPTIONS + FEATURE_WIDGETS_OPTIONS + FEATURES + "gtk3" + FEATURE_gtk3 + INVERTED_FEATURES + "gtk3" + CMAKE_DISABLE_FIND_PACKAGE_GTK3 ) set(TOOL_NAMES - androiddeployqt - androidtestrunner - cmake_automoc_parser - moc - qdbuscpp2xml - qdbusxml2cpp - qlalr - qmake - qmake6 - qvkgen - rcc - tracegen - uic - qtpaths - qtpaths6 - windeployqt - windeployqt6 - macdeployqt - macdeployqt6 - androiddeployqt6 - syncqt - tracepointgen - ) + androiddeployqt + androidtestrunner + cmake_automoc_parser + moc + qdbuscpp2xml + qdbusxml2cpp + qlalr + qmake + qmake6 + qvkgen + rcc + tracegen + uic + qtpaths + qtpaths6 + windeployqt + windeployqt6 + macdeployqt + macdeployqt6 + androiddeployqt6 + syncqt + tracepointgen +) -qt_install_submodule(PATCHES ${${PORT}_PATCHES} - TOOL_NAMES ${TOOL_NAMES} - CONFIGURE_OPTIONS - #--trace-expand - ${FEATURE_OPTIONS} - ${FEATURE_CORE_OPTIONS} - ${FEATURE_NET_OPTIONS} - ${FEATURE_GUI_OPTIONS} - ${FEATURE_SQLDRIVERS_OPTIONS} - ${FEATURE_PRINTSUPPORT_OPTIONS} - ${FEATURE_WIDGETS_OPTIONS} - ${INPUT_OPTIONS} - -DQT_USE_BUNDLED_BundledFreetype:BOOL=FALSE - -DQT_USE_BUNDLED_BundledHarfbuzz:BOOL=FALSE - -DQT_USE_BUNDLED_BundledLibpng:BOOL=FALSE - -DQT_USE_BUNDLED_BundledPcre2:BOOL=FALSE - -DINPUT_bundled_xcb_xinput:STRING=no - -DFEATURE_force_debug_info:BOOL=ON - -DFEATURE_relocatable:BOOL=ON - CONFIGURE_OPTIONS_RELEASE - CONFIGURE_OPTIONS_DEBUG - -DFEATURE_debug:BOOL=ON - CONFIGURE_OPTIONS_MAYBE_UNUSED - FEATURE_appstore_compliant # only used for android/ios - ) +qt_install_submodule( + PATCHES + ${${PORT}_PATCHES} + TOOL_NAMES + ${TOOL_NAMES} + CONFIGURE_OPTIONS + # --trace-expand + ${FEATURE_OPTIONS} + ${FEATURE_CORE_OPTIONS} + ${FEATURE_NET_OPTIONS} + ${FEATURE_GUI_OPTIONS} + ${FEATURE_SQLDRIVERS_OPTIONS} + ${FEATURE_PRINTSUPPORT_OPTIONS} + ${FEATURE_WIDGETS_OPTIONS} + ${INPUT_OPTIONS} + -DQT_USE_BUNDLED_BundledFreetype:BOOL=FALSE + -DQT_USE_BUNDLED_BundledHarfbuzz:BOOL=FALSE + -DQT_USE_BUNDLED_BundledLibpng:BOOL=FALSE + -DQT_USE_BUNDLED_BundledPcre2:BOOL=FALSE + -DINPUT_bundled_xcb_xinput:STRING=no + -DFEATURE_force_debug_info:BOOL=ON + -DFEATURE_relocatable:BOOL=ON + CONFIGURE_OPTIONS_RELEASE + CONFIGURE_OPTIONS_DEBUG + -DFEATURE_debug:BOOL=ON + CONFIGURE_OPTIONS_MAYBE_UNUSED + FEATURE_appstore_compliant # only used for android/ios +) # Install CMake helper scripts -file(COPY - "${CMAKE_CURRENT_LIST_DIR}/cmake/" - DESTINATION - "${CURRENT_PACKAGES_DIR}/share/${PORT}" - ) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/cmake/" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" +) -file(CONFIGURE OUTPUT "${CURRENT_PACKAGES_DIR}/share/${PORT}/port_status.cmake" CONTENT "set(qtbase_with_icu ${FEATURE_icu})\n") - -set(other_files qt-cmake - qt-cmake-create - qt-cmake-private - qt-cmake-standalone-test - qt-configure-module - qt-internal-configure-tests - qt-cmake-create - qt-internal-configure-examples - qt-internal-configure-tests - qmake - qmake6 - qtpaths - qtpaths6 +file( + CONFIGURE + OUTPUT + "${CURRENT_PACKAGES_DIR}/share/${PORT}/port_status.cmake" + CONTENT + "set(qtbase_with_icu ${FEATURE_icu})\n" ) -if(CMAKE_HOST_WIN32) - set(script_suffix ".bat") -else() - set(script_suffix "") -endif() +set(other_files + qt-cmake + qt-cmake-create + qt-cmake-private + qt-cmake-standalone-test + qt-configure-module + qt-internal-configure-tests + qt-cmake-create + qt-internal-configure-examples + qt-internal-configure-tests + qmake + qmake6 + qtpaths + qtpaths6 +) + +if (CMAKE_HOST_WIN32) + set(script_suffix ".bat") +else () + set(script_suffix "") +endif () list(TRANSFORM other_files APPEND "${script_suffix}") -list(APPEND other_files - android_cmakelist_patcher.sh - android_emulator_launcher.sh - ensure_pro_file.cmake - qt-android-runner.py - qt-cmake-private-install.cmake - qt-testrunner.py - qt-wasmtestrunner.py - sanitizer-testrunner.py - syncqt.pl - target_qt.conf +list( + APPEND + other_files + android_cmakelist_patcher.sh + android_emulator_launcher.sh + ensure_pro_file.cmake + qt-android-runner.py + qt-cmake-private-install.cmake + qt-testrunner.py + qt-wasmtestrunner.py + sanitizer-testrunner.py + syncqt.pl + target_qt.conf ) -foreach(_config debug release) - if(_config MATCHES "debug") - set(path_suffix debug/) - else() - set(path_suffix) - endif() - if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/${path_suffix}bin") - continue() - endif() - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/${path_suffix}") - foreach(other_file IN LISTS other_files) - if(EXISTS "${CURRENT_PACKAGES_DIR}/${path_suffix}bin/${other_file}") - set(target_file "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/${path_suffix}${other_file}") - file(RENAME "${CURRENT_PACKAGES_DIR}/${path_suffix}bin/${other_file}" "${target_file}") - file(READ "${target_file}" _contents) - if(_config MATCHES "debug") - string(REPLACE "..\\share\\" "..\\..\\..\\..\\share\\" _contents "${_contents}") - string(REPLACE "../share/" "../../../../share/" _contents "${_contents}") - else() - string(REPLACE "..\\share\\" "..\\..\\..\\share\\" _contents "${_contents}") - string(REPLACE "../share/" "../../../share/" _contents "${_contents}") - endif() - string(REGEX REPLACE "set cmake_path=[^\n]+\n" "set cmake_path=cmake\n" _contents "${_contents}") - string(REGEX REPLACE "original_cmake_path=[^\n]+\n" "original_cmake_path=does-not-exist\n" _contents "${_contents}") - file(WRITE "${target_file}" "${_contents}") - endif() - endforeach() -endforeach() +foreach (_config debug release) + if (_config MATCHES "debug") + set(path_suffix debug/) + else () + set(path_suffix) + endif () + if (NOT EXISTS "${CURRENT_PACKAGES_DIR}/${path_suffix}bin") + continue() + endif () + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/${path_suffix}") + foreach (other_file IN LISTS other_files) + if (EXISTS "${CURRENT_PACKAGES_DIR}/${path_suffix}bin/${other_file}") + set(target_file "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/${path_suffix}${other_file}") + file(RENAME "${CURRENT_PACKAGES_DIR}/${path_suffix}bin/${other_file}" + "${target_file}" + ) + file(READ "${target_file}" _contents) + if (_config MATCHES "debug") + string( + REPLACE "..\\share\\" + "..\\..\\..\\..\\share\\" + _contents + "${_contents}" + ) + string( + REPLACE "../share/" + "../../../../share/" + _contents + "${_contents}" + ) + else () + string( + REPLACE "..\\share\\" + "..\\..\\..\\share\\" + _contents + "${_contents}" + ) + string( + REPLACE "../share/" + "../../../share/" + _contents + "${_contents}" + ) + endif () + string( + REGEX + REPLACE "set cmake_path=[^\n]+\n" + "set cmake_path=cmake\n" + _contents + "${_contents}" + ) + string( + REGEX + REPLACE "original_cmake_path=[^\n]+\n" + "original_cmake_path=does-not-exist\n" + _contents + "${_contents}" + ) + file(WRITE "${target_file}" "${_contents}") + endif () + endforeach () +endforeach () # Fixup qt.toolchain.cmake set(qttoolchain "${CURRENT_PACKAGES_DIR}/share/Qt6/qt.toolchain.cmake") file(READ "${qttoolchain}" toolchain_contents) -string(REGEX REPLACE "set\\\(__qt_initially_configured_toolchain_file [^\\\n]+\\\n" "" toolchain_contents "${toolchain_contents}") -string(REGEX REPLACE "set\\\(__qt_chainload_toolchain_file [^\\\n]+\\\n" "set(__qt_chainload_toolchain_file \"\${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}\")" toolchain_contents "${toolchain_contents}") -string(REGEX REPLACE "set\\\(VCPKG_CHAINLOAD_TOOLCHAIN_FILE [^\\\n]+\\\n" "" toolchain_contents "${toolchain_contents}") -string(REGEX REPLACE "set\\\(__qt_initial_c_compiler [^\\\n]+\\\n" "" toolchain_contents "${toolchain_contents}") -string(REGEX REPLACE "set\\\(__qt_initial_cxx_compiler [^\\\n]+\\\n" "" toolchain_contents "${toolchain_contents}") -string(REPLACE "${CURRENT_HOST_INSTALLED_DIR}" "\${vcpkg_installed_dir}/${HOST_TRIPLET}" toolchain_contents "${toolchain_contents}") +string( + REGEX + REPLACE "set\\\(__qt_initially_configured_toolchain_file [^\\\n]+\\\n" + "" + toolchain_contents + "${toolchain_contents}" +) +string( + REGEX + REPLACE "set\\\(__qt_chainload_toolchain_file [^\\\n]+\\\n" + "set(__qt_chainload_toolchain_file \"\${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}\")" + toolchain_contents + "${toolchain_contents}" +) +string( + REGEX + REPLACE "set\\\(VCPKG_CHAINLOAD_TOOLCHAIN_FILE [^\\\n]+\\\n" + "" + toolchain_contents + "${toolchain_contents}" +) +string( + REGEX + REPLACE "set\\\(__qt_initial_c_compiler [^\\\n]+\\\n" + "" + toolchain_contents + "${toolchain_contents}" +) +string( + REGEX + REPLACE "set\\\(__qt_initial_cxx_compiler [^\\\n]+\\\n" + "" + toolchain_contents + "${toolchain_contents}" +) +string( + REPLACE "${CURRENT_HOST_INSTALLED_DIR}" + "\${vcpkg_installed_dir}/${HOST_TRIPLET}" + toolchain_contents + "${toolchain_contents}" +) file(WRITE "${qttoolchain}" "${toolchain_contents}") -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR NOT VCPKG_TARGET_IS_WINDOWS) - if(VCPKG_CROSSCOMPILING) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/qmake" "${CURRENT_PACKAGES_DIR}/debug/bin/qmake") # qmake has been moved so this is the qmake helper script - endif() - file(GLOB_RECURSE _bin_files "${CURRENT_PACKAGES_DIR}/bin/*") - if(NOT _bin_files) # Only clean if empty otherwise let vcpkg throw and error. - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/" "${CURRENT_PACKAGES_DIR}/debug/bin/") - else() - message(STATUS "Files in '/bin':${_bin_files}") - endif() -endif() +if (VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR NOT VCPKG_TARGET_IS_WINDOWS) + if (VCPKG_CROSSCOMPILING) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/qmake" + "${CURRENT_PACKAGES_DIR}/debug/bin/qmake" + ) # qmake has been moved so this is the qmake helper script + endif () + file(GLOB_RECURSE _bin_files "${CURRENT_PACKAGES_DIR}/bin/*") + if (NOT _bin_files) # Only clean if empty otherwise let vcpkg throw and error. + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/" + "${CURRENT_PACKAGES_DIR}/debug/bin/" + ) + else () + message(STATUS "Files in '/bin':${_bin_files}") + endif () +endif () file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/Qt6/QtBuildInternals") -if(NOT VCPKG_TARGET_IS_OSX) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/Qt6/macos") -endif() -if(NOT VCPKG_TARGET_IS_IOS) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/Qt6/ios") -endif() - -file(RELATIVE_PATH installed_to_host "${CURRENT_INSTALLED_DIR}" "${CURRENT_HOST_INSTALLED_DIR}") -file(RELATIVE_PATH host_to_installed "${CURRENT_HOST_INSTALLED_DIR}" "${CURRENT_INSTALLED_DIR}") -if(installed_to_host) - string(APPEND installed_to_host "/") - string(APPEND host_to_installed "/") -endif() +if (NOT VCPKG_TARGET_IS_OSX) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/Qt6/macos") +endif () +if (NOT VCPKG_TARGET_IS_IOS) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/Qt6/ios") +endif () + +file( + RELATIVE_PATH + installed_to_host + "${CURRENT_INSTALLED_DIR}" + "${CURRENT_HOST_INSTALLED_DIR}" +) +file( + RELATIVE_PATH + host_to_installed + "${CURRENT_HOST_INSTALLED_DIR}" + "${CURRENT_INSTALLED_DIR}" +) +if (installed_to_host) + string(APPEND installed_to_host "/") + string(APPEND host_to_installed "/") +endif () set(_file "${CMAKE_CURRENT_LIST_DIR}/qt.conf.in") set(REL_PATH "") set(REL_HOST_TO_DATA "\${CURRENT_INSTALLED_DIR}/") -configure_file("${_file}" "${CURRENT_PACKAGES_DIR}/tools/Qt6/qt_release.conf" @ONLY) # For vcpkg-qmake +configure_file("${_file}" "${CURRENT_PACKAGES_DIR}/tools/Qt6/qt_release.conf" @ONLY +)# For vcpkg-qmake set(BACKUP_CURRENT_INSTALLED_DIR "${CURRENT_INSTALLED_DIR}") set(BACKUP_CURRENT_HOST_INSTALLED_DIR "${CURRENT_HOST_INSTALLED_DIR}") set(CURRENT_INSTALLED_DIR "./../../../") set(CURRENT_HOST_INSTALLED_DIR "${CURRENT_INSTALLED_DIR}${installed_to_host}") -## Configure installed qt.conf +# Configure installed qt.conf set(REL_HOST_TO_DATA "${host_to_installed}") configure_file("${_file}" "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qt.conf") set(REL_PATH debug/) @@ -468,121 +676,210 @@ configure_file("${_file}" "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qt.debug.conf") set(CURRENT_INSTALLED_DIR "${BACKUP_CURRENT_INSTALLED_DIR}") set(CURRENT_HOST_INSTALLED_DIR "${BACKUP_CURRENT_HOST_INSTALLED_DIR}") set(REL_HOST_TO_DATA "\${CURRENT_INSTALLED_DIR}/") -configure_file("${_file}" "${CURRENT_PACKAGES_DIR}/tools/Qt6/qt_debug.conf" @ONLY) # For vcpkg-qmake +configure_file("${_file}" "${CURRENT_PACKAGES_DIR}/tools/Qt6/qt_debug.conf" @ONLY +)# For vcpkg-qmake set(target_qt_conf "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/target_qt.conf") -if(EXISTS "${target_qt_conf}") - file(READ "${target_qt_conf}" qt_conf_contents) - string(REGEX REPLACE "Prefix=[^\n]+" "Prefix=./../../../" qt_conf_contents ${qt_conf_contents}) - string(REGEX REPLACE "HostData=[^\n]+" "HostData=./../${TARGET_TRIPLET}/share/Qt6" qt_conf_contents ${qt_conf_contents}) - string(REGEX REPLACE "HostPrefix=[^\n]+" "HostPrefix=./../../../../${_HOST_TRIPLET}" qt_conf_contents ${qt_conf_contents}) - file(WRITE "${target_qt_conf}" "${qt_conf_contents}") - if(NOT VCPKG_BUILD_TYPE) - set(target_qt_conf_debug "${CURRENT_PACKAGES_DIR}/tools/Qt6/target_qt_debug.conf") - configure_file("${target_qt_conf}" "${target_qt_conf_debug}" COPYONLY) - file(READ "${target_qt_conf_debug}" qt_conf_contents) - string(REGEX REPLACE "=(bin|lib|Qt6/plugins|Qt6/qml)" "=debug/\\1" qt_conf_contents ${qt_conf_contents}) - file(WRITE "${target_qt_conf_debug}" "${qt_conf_contents}") - - configure_file("${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qmake${script_suffix}" "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qmake.debug${script_suffix}" COPYONLY) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qmake.debug${script_suffix}" "target_qt.conf" "target_qt_debug.conf") - endif() -endif() - -if(VCPKG_TARGET_IS_EMSCRIPTEN) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/Qt6Core/Qt6WasmMacros.cmake" "_qt_test_emscripten_version()" "") # this is missing a include(QtPublicWasmToolchainHelpers) -endif() - - -if(VCPKG_TARGET_IS_WINDOWS) - set(_DLL_FILES brotlicommon brotlidec bz2 freetype harfbuzz libpng16) - set(DLLS_TO_COPY "") - foreach(_file IN LISTS _DLL_FILES) - if(EXISTS "${CURRENT_INSTALLED_DIR}/bin/${_file}.dll") - list(APPEND DLLS_TO_COPY "${CURRENT_INSTALLED_DIR}/bin/${_file}.dll") - endif() - endforeach() - file(COPY ${DLLS_TO_COPY} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin") -endif() +if (EXISTS "${target_qt_conf}") + file(READ "${target_qt_conf}" qt_conf_contents) + string( + REGEX + REPLACE "Prefix=[^\n]+" + "Prefix=./../../../" + qt_conf_contents + ${qt_conf_contents} + ) + string( + REGEX + REPLACE "HostData=[^\n]+" + "HostData=./../${TARGET_TRIPLET}/share/Qt6" + qt_conf_contents + ${qt_conf_contents} + ) + string( + REGEX + REPLACE "HostPrefix=[^\n]+" + "HostPrefix=./../../../../${_HOST_TRIPLET}" + qt_conf_contents + ${qt_conf_contents} + ) + file(WRITE "${target_qt_conf}" "${qt_conf_contents}") + if (NOT VCPKG_BUILD_TYPE) + set(target_qt_conf_debug "${CURRENT_PACKAGES_DIR}/tools/Qt6/target_qt_debug.conf") + configure_file("${target_qt_conf}" "${target_qt_conf_debug}" COPYONLY) + file(READ "${target_qt_conf_debug}" qt_conf_contents) + string( + REGEX + REPLACE "=(bin|lib|Qt6/plugins|Qt6/qml)" + "=debug/\\1" + qt_conf_contents + ${qt_conf_contents} + ) + file(WRITE "${target_qt_conf_debug}" "${qt_conf_contents}") + + configure_file( + "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qmake${script_suffix}" + "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qmake.debug${script_suffix}" COPYONLY + ) + vcpkg_replace_string( + "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qmake.debug${script_suffix}" + "target_qt.conf" "target_qt_debug.conf" + ) + endif () +endif () + +if (VCPKG_TARGET_IS_EMSCRIPTEN) + vcpkg_replace_string( + "${CURRENT_PACKAGES_DIR}/share/Qt6Core/Qt6WasmMacros.cmake" + "_qt_test_emscripten_version()" "" + ) # this is missing a include(QtPublicWasmToolchainHelpers) +endif () + +if (VCPKG_TARGET_IS_WINDOWS) + set(_DLL_FILES + brotlicommon + brotlidec + bz2 + freetype + harfbuzz + libpng16 + ) + set(DLLS_TO_COPY "") + foreach (_file IN LISTS _DLL_FILES) + if (EXISTS "${CURRENT_INSTALLED_DIR}/bin/${_file}.dll") + list(APPEND DLLS_TO_COPY "${CURRENT_INSTALLED_DIR}/bin/${_file}.dll") + endif () + endforeach () + file(COPY ${DLLS_TO_COPY} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin") +endif () set(hostinfofile "${CURRENT_PACKAGES_DIR}/share/Qt6HostInfo/Qt6HostInfoConfig.cmake") file(READ "${hostinfofile}" _contents) -string(REPLACE [[set(QT6_HOST_INFO_LIBEXECDIR "bin")]] [[set(QT6_HOST_INFO_LIBEXECDIR "tools/Qt6/bin")]] _contents "${_contents}") -string(REPLACE [[set(QT6_HOST_INFO_BINDIR "bin")]] [[set(QT6_HOST_INFO_BINDIR "tools/Qt6/bin")]] _contents "${_contents}") +string( + REPLACE [[set(QT6_HOST_INFO_LIBEXECDIR "bin")]] + [[set(QT6_HOST_INFO_LIBEXECDIR "tools/Qt6/bin")]] + _contents + "${_contents}" +) +string( + REPLACE [[set(QT6_HOST_INFO_BINDIR "bin")]] + [[set(QT6_HOST_INFO_BINDIR "tools/Qt6/bin")]] + _contents + "${_contents}" +) file(WRITE "${hostinfofile}" "${_contents}") -# MANUAL FIX - see -# https://github.com/microsoft/vcpkg/issues/44792 -if(NOT VCPKG_CROSSCOMPILING OR EXISTS "${CURRENT_PACKAGES_DIR}/share/Qt6CoreTools/Qt6CoreToolsAdditionalTargetInfo.cmake") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/Qt6CoreTools/Qt6CoreToolsAdditionalTargetInfo.cmake" - "CMAKE_CURRENT_LIST_DIR}/../../bin/syncqt" - "CMAKE_CURRENT_LIST_DIR}/../../tools/Qt6/bin/syncqt" - IGNORE_UNCHANGED) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/Qt6CoreTools/Qt6CoreToolsAdditionalTargetInfo.cmake" - "PACKAGE_PREFIX_DIR}/bin/syncqt" - "PACKAGE_PREFIX_DIR}/tools/Qt6/bin/syncqt" - IGNORE_UNCHANGED) -endif() - -set(configfile "${CURRENT_PACKAGES_DIR}/share/Qt6CoreTools/Qt6CoreToolsTargets-debug.cmake") -if(EXISTS "${configfile}") - file(READ "${configfile}" _contents) - if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qmake.exe") - file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/qmake.debug.bat" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin") - string(REPLACE [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/qmake.exe"]] [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/qmake.debug.bat"]] _contents "${_contents}") - endif() - if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qtpaths.exe") - file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/qtpaths.debug.bat" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin") - string(REPLACE [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/qtpaths.exe"]] [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/qtpaths.debug.bat"]] _contents "${_contents}") - endif() - if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/windeployqt.exe") - file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/windeployqt.debug.bat" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin") - string(REPLACE [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/windeployqt.exe"]] [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/windeployqt.debug.bat"]] _contents "${_contents}") - endif() - file(WRITE "${configfile}" "${_contents}") -endif() - -if(VCPKG_CROSSCOMPILING) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/Qt6/Qt6Dependencies.cmake" "${CURRENT_HOST_INSTALLED_DIR}" "\${CMAKE_CURRENT_LIST_DIR}/../../../${HOST_TRIPLET}") -endif() - -function(remove_original_cmake_path file) - file(READ "${file}" _contents) - string(REGEX REPLACE "original_cmake_path=[^\n]*" "original_cmake_path=''" _contents "${_contents}") - file(WRITE "${file}" "${_contents}") -endfunction() - -if(NOT VCPKG_TARGET_IS_WINDOWS AND NOT CMAKE_HOST_WIN32) - foreach(file "qt-cmake${script_suffix}" "qt-cmake-private${script_suffix}") - remove_original_cmake_path("${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/${file}") - if(NOT VCPKG_BUILD_TYPE) - remove_original_cmake_path("${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/debug/${file}") - endif() - endforeach() -endif() - -if(VCPKG_TARGET_IS_WINDOWS) - # dlls owned but not automatically installed by qtbase - # this is required to avoid ownership troubles in downstream qt modules +# MANUAL FIX - see https://github.com/microsoft/vcpkg/issues/44792 +if (NOT VCPKG_CROSSCOMPILING + OR EXISTS + "${CURRENT_PACKAGES_DIR}/share/Qt6CoreTools/Qt6CoreToolsAdditionalTargetInfo.cmake" +) + vcpkg_replace_string( + "${CURRENT_PACKAGES_DIR}/share/Qt6CoreTools/Qt6CoreToolsAdditionalTargetInfo.cmake" + "CMAKE_CURRENT_LIST_DIR}/../../bin/syncqt" + "CMAKE_CURRENT_LIST_DIR}/../../tools/Qt6/bin/syncqt" + IGNORE_UNCHANGED + ) + vcpkg_replace_string( + "${CURRENT_PACKAGES_DIR}/share/Qt6CoreTools/Qt6CoreToolsAdditionalTargetInfo.cmake" + "PACKAGE_PREFIX_DIR}/bin/syncqt" + "PACKAGE_PREFIX_DIR}/tools/Qt6/bin/syncqt" + IGNORE_UNCHANGED + ) +endif () + +set(configfile + "${CURRENT_PACKAGES_DIR}/share/Qt6CoreTools/Qt6CoreToolsTargets-debug.cmake" +) +if (EXISTS "${configfile}") + file(READ "${configfile}" _contents) + if (EXISTS "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qmake.exe") + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/qmake.debug.bat" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin" + ) + string( + REPLACE [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/qmake.exe"]] + [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/qmake.debug.bat"]] + _contents + "${_contents}" + ) + endif () + if (EXISTS "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qtpaths.exe") + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/qtpaths.debug.bat" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin" + ) + string( + REPLACE [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/qtpaths.exe"]] + [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/qtpaths.debug.bat"]] + _contents + "${_contents}" + ) + endif () + if (EXISTS "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/windeployqt.exe") + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/windeployqt.debug.bat" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin" + ) + string( + REPLACE [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/windeployqt.exe"]] + [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/windeployqt.debug.bat"]] + _contents + "${_contents}" + ) + endif () + file(WRITE "${configfile}" "${_contents}") +endif () + +if (VCPKG_CROSSCOMPILING) + vcpkg_replace_string( + "${CURRENT_PACKAGES_DIR}/share/Qt6/Qt6Dependencies.cmake" + "${CURRENT_HOST_INSTALLED_DIR}" "\${CMAKE_CURRENT_LIST_DIR}/../../../${HOST_TRIPLET}" + ) +endif () + +function (remove_original_cmake_path file) + file(READ "${file}" _contents) + string( + REGEX + REPLACE "original_cmake_path=[^\n]*" + "original_cmake_path=''" + _contents + "${_contents}" + ) + file(WRITE "${file}" "${_contents}") +endfunction () + +if (NOT VCPKG_TARGET_IS_WINDOWS AND NOT CMAKE_HOST_WIN32) + foreach (file "qt-cmake${script_suffix}" "qt-cmake-private${script_suffix}") + remove_original_cmake_path("${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/${file}") + if (NOT VCPKG_BUILD_TYPE) + remove_original_cmake_path("${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/debug/${file}") + endif () + endforeach () +endif () + +if (VCPKG_TARGET_IS_WINDOWS) + # dlls owned but not automatically installed by qtbase this is required to avoid + # ownership troubles in downstream qt modules set(qtbase_owned_dlls - double-conversion.dll - icudt74.dll - icuin74.dll - icuuc74.dll - libcrypto-3-${VCPKG_TARGET_ARCHITECTURE}.dll - libcrypto-3.dll # for x86 - pcre2-16.dll - zlib1.dll - zstd.dll + double-conversion.dll + icudt74.dll + icuin74.dll + icuuc74.dll + libcrypto-3-${VCPKG_TARGET_ARCHITECTURE}.dll + libcrypto-3.dll # for x86 + pcre2-16.dll + zlib1.dll + zstd.dll ) - if("dbus" IN_LIST FEATURES) + if ("dbus" IN_LIST FEATURES) list(APPEND qtbase_owned_dlls dbus-1-3.dll) - endif() + endif () list(TRANSFORM qtbase_owned_dlls PREPEND "${CURRENT_INSTALLED_DIR}/bin/") - foreach(dll IN LISTS qtbase_owned_dlls) - if(NOT EXISTS "${dll}") # Need to remove non-existant dlls since dependencies could have been build statically + foreach (dll IN LISTS qtbase_owned_dlls) + if (NOT EXISTS "${dll}") # Need to remove non-existant dlls since dependencies could + # have been build statically list(REMOVE_ITEM qtbase_owned_dlls "${dll}") - endif() - endforeach() + endif () + endforeach () file(COPY ${qtbase_owned_dlls} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin") -endif() +endif () diff --git a/vcpkg/ports/qtdeclarative/portfile.cmake b/vcpkg/ports/qtdeclarative/portfile.cmake index 4e6e576e9..e25092041 100644 --- a/vcpkg/ports/qtdeclarative/portfile.cmake +++ b/vcpkg/ports/qtdeclarative/portfile.cmake @@ -6,39 +6,42 @@ vcpkg_buildpath_length_warning(44) set(${PORT}_PATCHES "") set(TOOL_NAMES - qml - qmlaotstats - qmlcachegen - qmleasing - qmlformat - qmlimportscanner - qmllint - qmlplugindump - qmlpreview - qmlprofiler - qmlscene - qmltestrunner - qmltime - qmltyperegistrar - qmldom - qmltc - qmlls - qmljsrootgen - svgtoqml - ) + qml + qmlaotstats + qmlcachegen + qmleasing + qmlformat + qmlimportscanner + qmllint + qmlplugindump + qmlpreview + qmlprofiler + qmlscene + qmltestrunner + qmltime + qmltyperegistrar + qmldom + qmltc + qmlls + qmljsrootgen + svgtoqml +) -qt_install_submodule(PATCHES ${${PORT}_PATCHES} - TOOL_NAMES ${TOOL_NAMES} - CONFIGURE_OPTIONS - -DFEATURE_quickcontrols2_fusion:BOOL=ON - -DFEATURE_quickcontrols2_material:BOOL=ON - -DFEATURE_quickcontrols2_imagine:BOOL=OFF - -DFEATURE_quickcontrols2_universal:BOOL=OFF - -DFEATURE_quickcontrols2_fluentwinui3:BOOL=OFF - -DFEATURE_quickcontrols2_macos:BOOL=OFF - -DFEATURE_quickcontrols2_ios:BOOL=OFF - -DFEATURE_quickcontrols2_windows:BOOL=OFF - -DCMAKE_DISABLE_FIND_PACKAGE_LTTngUST:BOOL=ON - CONFIGURE_OPTIONS_RELEASE - CONFIGURE_OPTIONS_DEBUG - ) +qt_install_submodule( + PATCHES + ${${PORT}_PATCHES} + TOOL_NAMES + ${TOOL_NAMES} + CONFIGURE_OPTIONS + -DFEATURE_quickcontrols2_fusion:BOOL=ON + -DFEATURE_quickcontrols2_material:BOOL=ON + -DFEATURE_quickcontrols2_imagine:BOOL=OFF + -DFEATURE_quickcontrols2_universal:BOOL=OFF + -DFEATURE_quickcontrols2_fluentwinui3:BOOL=OFF + -DFEATURE_quickcontrols2_macos:BOOL=OFF + -DFEATURE_quickcontrols2_ios:BOOL=OFF + -DFEATURE_quickcontrols2_windows:BOOL=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_LTTngUST:BOOL=ON + CONFIGURE_OPTIONS_RELEASE + CONFIGURE_OPTIONS_DEBUG +) diff --git a/vcpkg/ports/qtkeychain-qt6/portfile.cmake b/vcpkg/ports/qtkeychain-qt6/portfile.cmake index 25e75075f..74cb50aa7 100644 --- a/vcpkg/ports/qtkeychain-qt6/portfile.cmake +++ b/vcpkg/ports/qtkeychain-qt6/portfile.cmake @@ -1,49 +1,74 @@ -message(WARNING "qtkeychain is a third-party extension to Qt and is not affiliated with The Qt Company") +message( + WARNING + "qtkeychain is a third-party extension to Qt and is not affiliated with The Qt Company" +) vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO frankosterfeld/qtkeychain - REF "${VERSION}" - SHA512 d1d87553db94bf54da1373016a847476e6cd608db6d427ed72532658e2272501daf45d7c9976efdde2f26ab3810ba9dbfec2518d46dee5a76ecaa369bfee2e4a - HEAD_REF master + OUT_SOURCE_PATH + SOURCE_PATH + REPO + frankosterfeld/qtkeychain + REF + "${VERSION}" + SHA512 + d1d87553db94bf54da1373016a847476e6cd608db6d427ed72532658e2272501daf45d7c9976efdde2f26ab3810ba9dbfec2518d46dee5a76ecaa369bfee2e4a + HEAD_REF + master ) -if(VCPKG_CROSSCOMPILING) - list(APPEND QTKEYCHAIN_OPTIONS -DQT_HOST_PATH=${CURRENT_HOST_INSTALLED_DIR}) - list(APPEND QTKEYCHAIN_OPTIONS -DQT_HOST_PATH_CMAKE_DIR:PATH=${CURRENT_HOST_INSTALLED_DIR}/share) - # remove when https://github.com/microsoft/vcpkg/pull/16111 is merged - if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64 AND VCPKG_TARGET_IS_WINDOWS) - list(APPEND QTKEYCHAIN_OPTIONS -DCMAKE_CROSSCOMPILING=ON -DCMAKE_SYSTEM_PROCESSOR:STRING=ARM64 -DCMAKE_SYSTEM_NAME:STRING=Windows) - endif() -endif() +if (VCPKG_CROSSCOMPILING) + list(APPEND QTKEYCHAIN_OPTIONS -DQT_HOST_PATH=${CURRENT_HOST_INSTALLED_DIR}) + list(APPEND QTKEYCHAIN_OPTIONS + -DQT_HOST_PATH_CMAKE_DIR:PATH=${CURRENT_HOST_INSTALLED_DIR}/share + ) + # remove when https://github.com/microsoft/vcpkg/pull/16111 is merged + if (VCPKG_TARGET_ARCHITECTURE STREQUAL arm64 AND VCPKG_TARGET_IS_WINDOWS) + list( + APPEND + QTKEYCHAIN_OPTIONS + -DCMAKE_CROSSCOMPILING=ON + -DCMAKE_SYSTEM_PROCESSOR:STRING=ARM64 + -DCMAKE_SYSTEM_NAME:STRING=Windows + ) + endif () +endif () list(APPEND QTKEYCHAIN_OPTIONS -DBUILD_TEST_APPLICATION:BOOL=OFF) list(APPEND QTKEYCHAIN_OPTIONS -DLIBSECRET_SUPPORT:BOOL=OFF) # FIXME: Why does build translations fail on arm64-windows? if (VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) - list(APPEND QTKEYCHAIN_OPTIONS -DBUILD_TRANSLATIONS:BOOL=OFF) -else() - list(APPEND QTKEYCHAIN_OPTIONS -DBUILD_TRANSLATIONS:BOOL=ON) -endif() + list(APPEND QTKEYCHAIN_OPTIONS -DBUILD_TRANSLATIONS:BOOL=OFF) +else () + list(APPEND QTKEYCHAIN_OPTIONS -DBUILD_TRANSLATIONS:BOOL=ON) +endif () vcpkg_cmake_configure( - DISABLE_PARALLEL_CONFIGURE - SOURCE_PATH ${SOURCE_PATH} - OPTIONS - -DBUILD_WITH_QT6=ON - ${QTKEYCHAIN_OPTIONS} + DISABLE_PARALLEL_CONFIGURE + SOURCE_PATH + ${SOURCE_PATH} + OPTIONS + -DBUILD_WITH_QT6=ON + ${QTKEYCHAIN_OPTIONS} ) vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Qt6Keychain PACKAGE_NAME Qt6Keychain) +vcpkg_cmake_config_fixup( + CONFIG_PATH + lib/cmake/Qt6Keychain + PACKAGE_NAME + Qt6Keychain +) # Remove unneeded dirs -file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/share" +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" ) # Handle copyright -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file( + INSTALL "${SOURCE_PATH}/COPYING" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" + RENAME copyright +) diff --git a/vcpkg/ports/qtmultimedia/portfile.cmake b/vcpkg/ports/qtmultimedia/portfile.cmake index d60178653..7c86ac46e 100644 --- a/vcpkg/ports/qtmultimedia/portfile.cmake +++ b/vcpkg/ports/qtmultimedia/portfile.cmake @@ -9,66 +9,101 @@ set(${PORT}_PATCHES ffmpeg-compile-def.patch ) -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS -FEATURES - "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Quick - "widgets" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Widgets -INVERTED_FEATURES - "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick - "widgets" CMAKE_DISABLE_FIND_PACKAGE_Qt6Widgets - "gstreamer" CMAKE_DISABLE_FIND_PACKAGE_GStreamer - "ffmpeg" CMAKE_DISABLE_FIND_PACKAGE_FFmpeg - # Features not yet added in the manifest: - "vaapi" CMAKE_DISABLE_FIND_PACKAGE_VAAPI # not in vpckg +vcpkg_check_features( + OUT_FEATURE_OPTIONS + FEATURE_OPTIONS + FEATURES + "qml" + CMAKE_REQUIRE_FIND_PACKAGE_Qt6Quick + "widgets" + CMAKE_REQUIRE_FIND_PACKAGE_Qt6Widgets + INVERTED_FEATURES + "qml" + CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick + "widgets" + CMAKE_DISABLE_FIND_PACKAGE_Qt6Widgets + "gstreamer" + CMAKE_DISABLE_FIND_PACKAGE_GStreamer + "ffmpeg" + CMAKE_DISABLE_FIND_PACKAGE_FFmpeg + # Features not yet added in the manifest: + "vaapi" + CMAKE_DISABLE_FIND_PACKAGE_VAAPI # not in vpckg ) set(unused "") -if("gstreamer" IN_LIST FEATURES) - list(APPEND FEATURE_OPTIONS "-DINPUT_gstreamer='yes'") -else() - list(APPEND FEATURE_OPTIONS "-DINPUT_gstreamer='no'") - list(APPEND unused INPUT_gstreamer_gl INPUT_gstreamer_photography) -endif() +if ("gstreamer" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS "-DINPUT_gstreamer='yes'") +else () + list(APPEND FEATURE_OPTIONS "-DINPUT_gstreamer='no'") + list( + APPEND + unused + INPUT_gstreamer_gl + INPUT_gstreamer_photography + ) +endif () list(APPEND FEATURE_OPTIONS "-DINPUT_gstreamer_gl='no'") list(APPEND FEATURE_OPTIONS "-DINPUT_gstreamer_photography='no'") -if(VCPKG_TARGET_IS_WINDOWS) - list(APPEND FEATURE_OPTIONS "-DFEATURE_wmf=ON") -else() - list(APPEND FEATURE_OPTIONS "-DFEATURE_wmf=OFF") -endif() +if (VCPKG_TARGET_IS_WINDOWS) + list(APPEND FEATURE_OPTIONS "-DFEATURE_wmf=ON") +else () + list(APPEND FEATURE_OPTIONS "-DFEATURE_wmf=OFF") +endif () -if("ffmpeg" IN_LIST FEATURES) - # Note: Requires pulsadio on linux and wmfsdk on windows - list(APPEND FEATURE_OPTIONS "-DINPUT_ffmpeg='yes'") - if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_ANDROID) - list(APPEND FEATURE_OPTIONS "-DINPUT_pulseaudio='no'") - else() - list(APPEND FEATURE_OPTIONS "-DINPUT_pulseaudio='yes'") - endif() -else() - list(APPEND FEATURE_OPTIONS "-DINPUT_ffmpeg='no'") +if ("ffmpeg" IN_LIST FEATURES) + # Note: Requires pulsadio on linux and wmfsdk on windows + list(APPEND FEATURE_OPTIONS "-DINPUT_ffmpeg='yes'") + if (VCPKG_TARGET_IS_WINDOWS + OR VCPKG_TARGET_IS_OSX + OR VCPKG_TARGET_IS_ANDROID + ) list(APPEND FEATURE_OPTIONS "-DINPUT_pulseaudio='no'") -endif() + else () + list(APPEND FEATURE_OPTIONS "-DINPUT_pulseaudio='yes'") + endif () +else () + list(APPEND FEATURE_OPTIONS "-DINPUT_ffmpeg='no'") + list(APPEND FEATURE_OPTIONS "-DINPUT_pulseaudio='no'") +endif () # alsa is not ready -if(NOT "ffmpeg" IN_LIST FEATURES AND NOT "gstreamer" IN_LIST FEATURES AND VCPKG_TARGET_IS_LINUX) - #list(APPEND FEATURE_OPTIONS "-DFEATURE_alsa=ON") # alsa is experimental so don't activate it (also missing the dep on it.) +if (NOT + "ffmpeg" + IN_LIST + FEATURES + AND NOT + "gstreamer" + IN_LIST + FEATURES + AND VCPKG_TARGET_IS_LINUX +) + # list(APPEND FEATURE_OPTIONS "-DFEATURE_alsa=ON") # alsa is experimental so don't + # activate it (also missing the dep on it.) message(FATAL_ERROR "You need to activate at least one backend.") -else() +else () list(APPEND FEATURE_OPTIONS "-DFEATURE_alsa=OFF") -endif() +endif () -qt_install_submodule(PATCHES ${${PORT}_PATCHES} - CONFIGURE_OPTIONS - --trace-expand - ${FEATURE_OPTIONS} - -DCMAKE_FIND_PACKAGE_TARGETS_GLOBAL=ON - CONFIGURE_OPTIONS_RELEASE - CONFIGURE_OPTIONS_DEBUG - CONFIGURE_OPTIONS_MAYBE_UNUSED ${unused} - ) +qt_install_submodule( + PATCHES + ${${PORT}_PATCHES} + CONFIGURE_OPTIONS + --trace-expand + ${FEATURE_OPTIONS} + -DCMAKE_FIND_PACKAGE_TARGETS_GLOBAL=ON + CONFIGURE_OPTIONS_RELEASE + CONFIGURE_OPTIONS_DEBUG + CONFIGURE_OPTIONS_MAYBE_UNUSED + ${unused} +) -if("gstreamer" IN_LIST FEATURES AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/Qt6Multimedia/Qt6QGstreamerMediaPluginDependencies.cmake" "GStreamer\;FALSE\;\;\;;GStreamer\;FALSE\;\;App\;;GStreamer\;FALSE\;\;\;Gl" "GStreamer\;FALSE\;\;\;;GStreamer\;FALSE\;\;App\;;GStreamer\;FALSE\;\;\;Gl;EGL\;FALSE\;\;\;" IGNORE_UNCHANGED) -endif() +if ("gstreamer" IN_LIST FEATURES AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string( + "${CURRENT_PACKAGES_DIR}/share/Qt6Multimedia/Qt6QGstreamerMediaPluginDependencies.cmake" + "GStreamer\;FALSE\;\;\;;GStreamer\;FALSE\;\;App\;;GStreamer\;FALSE\;\;\;Gl" + "GStreamer\;FALSE\;\;\;;GStreamer\;FALSE\;\;App\;;GStreamer\;FALSE\;\;\;Gl;EGL\;FALSE\;\;\;" + IGNORE_UNCHANGED + ) +endif () diff --git a/vcpkg/ports/qtpositioning/portfile.cmake b/vcpkg/ports/qtpositioning/portfile.cmake index f4f3231b6..05bf3c57f 100644 --- a/vcpkg/ports/qtpositioning/portfile.cmake +++ b/vcpkg/ports/qtpositioning/portfile.cmake @@ -1,26 +1,33 @@ set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") include("${SCRIPT_PATH}/qt_install_submodule.cmake") -set(${PORT}_PATCHES - devendor-poly2tri.patch - foregroundservice.patch - android15_altitude_fix.patch) - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS -FEATURES - "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Quick -INVERTED_FEATURES - "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick +set(${PORT}_PATCHES devendor-poly2tri.patch foregroundservice.patch + android15_altitude_fix.patch ) -list(APPEND FEATURE_OPTIONS "-DCMAKE_DISABLE_FIND_PACKAGE_Gypsy=ON" - "-DCMAKE_DISABLE_FIND_PACKAGE_Gconf=ON" +vcpkg_check_features( + OUT_FEATURE_OPTIONS + FEATURE_OPTIONS + FEATURES + "qml" + CMAKE_REQUIRE_FIND_PACKAGE_Qt6Quick + INVERTED_FEATURES + "qml" + CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick ) +list( + APPEND + FEATURE_OPTIONS + "-DCMAKE_DISABLE_FIND_PACKAGE_Gypsy=ON" + "-DCMAKE_DISABLE_FIND_PACKAGE_Gconf=ON" +) - -qt_install_submodule(PATCHES ${${PORT}_PATCHES} - CONFIGURE_OPTIONS ${FEATURE_OPTIONS} - CONFIGURE_OPTIONS_RELEASE - CONFIGURE_OPTIONS_DEBUG - ) +qt_install_submodule( + PATCHES + ${${PORT}_PATCHES} + CONFIGURE_OPTIONS + ${FEATURE_OPTIONS} + CONFIGURE_OPTIONS_RELEASE + CONFIGURE_OPTIONS_DEBUG +) diff --git a/vcpkg/triplets/arm-android.cmake b/vcpkg/triplets/arm-android.cmake index 2c2b7085f..67e1f11d5 100644 --- a/vcpkg/triplets/arm-android.cmake +++ b/vcpkg/triplets/arm-android.cmake @@ -1,31 +1,31 @@ -set(VCPKG_TARGET_ARCHITECTURE arm) -set(VCPKG_CRT_LINKAGE dynamic) - -include("${CMAKE_CURRENT_LIST_DIR}/static-ports.cmake") -if (PORT IN_LIST STATIC_PORTS) - set(VCPKG_LIBRARY_LINKAGE static) -else() - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() - -set(VCPKG_CMAKE_SYSTEM_NAME Android) -set(VCPKG_BUILD_TYPE release) - -# Note to myself and others: this is correct even on macOS host -set(VCPKG_MAKE_BUILD_TRIPLET "--host=armv7a-linux-androideabi") - -set(VCPKG_CMAKE_CONFIGURE_OPTIONS -DANDROID_ABI=armeabi-v7a -DANDROID_ARM_NEON=ON) - -set(ANDROIDAPI "28") # when changed change CMakeLists.txt -set(ANDROID_PLATFORM "android-${ANDROIDAPI}") -set(ANDROID_NDK_PLATFORM "android-${ANDROIDAPI}") -set(ANDROID_STL "c++_shared") - -if (NOT DEFINED ENV{ANDROID_SDK_ROOT}) - message(FATAL_ERROR "Set required environment variable ANDROID_SDK_ROOT.") -endif () -set(ANDROID_SDK_ROOT $ENV{ANDROID_SDK_ROOT}) - -set(VCPKG_CXX_FLAGS "-fstack-protector-strong") -set(VCPKG_C_FLAGS "-fstack-protector-strong") -set(VCPKG_LINKER_FLAGS "-lunwind -Wl,--exclude-libs=libunwind.a") +set(VCPKG_TARGET_ARCHITECTURE arm) +set(VCPKG_CRT_LINKAGE dynamic) + +include("${CMAKE_CURRENT_LIST_DIR}/static-ports.cmake") +if (PORT IN_LIST STATIC_PORTS) + set(VCPKG_LIBRARY_LINKAGE static) +else () + set(VCPKG_LIBRARY_LINKAGE dynamic) +endif () + +set(VCPKG_CMAKE_SYSTEM_NAME Android) +set(VCPKG_BUILD_TYPE release) + +# Note to myself and others: this is correct even on macOS host +set(VCPKG_MAKE_BUILD_TRIPLET "--host=armv7a-linux-androideabi") + +set(VCPKG_CMAKE_CONFIGURE_OPTIONS -DANDROID_ABI=armeabi-v7a -DANDROID_ARM_NEON=ON) + +set(ANDROIDAPI "28") # when changed change CMakeLists.txt +set(ANDROID_PLATFORM "android-${ANDROIDAPI}") +set(ANDROID_NDK_PLATFORM "android-${ANDROIDAPI}") +set(ANDROID_STL "c++_shared") + +if (NOT DEFINED ENV{ANDROID_SDK_ROOT}) + message(FATAL_ERROR "Set required environment variable ANDROID_SDK_ROOT.") +endif () +set(ANDROID_SDK_ROOT $ENV{ANDROID_SDK_ROOT}) + +set(VCPKG_CXX_FLAGS "-fstack-protector-strong") +set(VCPKG_C_FLAGS "-fstack-protector-strong") +set(VCPKG_LINKER_FLAGS "-lunwind -Wl,--exclude-libs=libunwind.a") diff --git a/vcpkg/triplets/arm64-android.cmake b/vcpkg/triplets/arm64-android.cmake index a0123c870..7f25f9cbf 100644 --- a/vcpkg/triplets/arm64-android.cmake +++ b/vcpkg/triplets/arm64-android.cmake @@ -1,29 +1,29 @@ -set(VCPKG_TARGET_ARCHITECTURE arm64) -set(VCPKG_CRT_LINKAGE dynamic) -include("${CMAKE_CURRENT_LIST_DIR}/static-ports.cmake") -if (PORT IN_LIST STATIC_PORTS) - set(VCPKG_LIBRARY_LINKAGE static) -else() - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() -set(VCPKG_CMAKE_SYSTEM_NAME Android) -set(VCPKG_BUILD_TYPE release) - -# Note to myself and others: this is correct even on macOS host -set(VCPKG_MAKE_BUILD_TRIPLET "--host=aarch64-linux-android") - -set(VCPKG_CMAKE_CONFIGURE_OPTIONS -DANDROID_ABI=arm64-v8a) - -set(ANDROIDAPI "28") # when changed change CMakeLists.txt -set(ANDROID_PLATFORM "android-${ANDROIDAPI}") -set(ANDROID_NDK_PLATFORM "android-${ANDROIDAPI}") -set(VCPKG_CMAKE_SYSTEM_VERSION "${ANDROIDAPI}") -set(ANDROID_STL "c++_shared") - -if (NOT DEFINED ENV{ANDROID_SDK_ROOT}) - message(FATAL_ERROR "Set required environment variable ANDROID_SDK_ROOT.") -endif () -set(ANDROID_SDK_ROOT $ENV{ANDROID_SDK_ROOT}) - -set(VCPKG_CXX_FLAGS "-fstack-protector-strong") -set(VCPKG_C_FLAGS "-fstack-protector-strong") \ No newline at end of file +set(VCPKG_TARGET_ARCHITECTURE arm64) +set(VCPKG_CRT_LINKAGE dynamic) +include("${CMAKE_CURRENT_LIST_DIR}/static-ports.cmake") +if (PORT IN_LIST STATIC_PORTS) + set(VCPKG_LIBRARY_LINKAGE static) +else () + set(VCPKG_LIBRARY_LINKAGE dynamic) +endif () +set(VCPKG_CMAKE_SYSTEM_NAME Android) +set(VCPKG_BUILD_TYPE release) + +# Note to myself and others: this is correct even on macOS host +set(VCPKG_MAKE_BUILD_TRIPLET "--host=aarch64-linux-android") + +set(VCPKG_CMAKE_CONFIGURE_OPTIONS -DANDROID_ABI=arm64-v8a) + +set(ANDROIDAPI "28") # when changed change CMakeLists.txt +set(ANDROID_PLATFORM "android-${ANDROIDAPI}") +set(ANDROID_NDK_PLATFORM "android-${ANDROIDAPI}") +set(VCPKG_CMAKE_SYSTEM_VERSION "${ANDROIDAPI}") +set(ANDROID_STL "c++_shared") + +if (NOT DEFINED ENV{ANDROID_SDK_ROOT}) + message(FATAL_ERROR "Set required environment variable ANDROID_SDK_ROOT.") +endif () +set(ANDROID_SDK_ROOT $ENV{ANDROID_SDK_ROOT}) + +set(VCPKG_CXX_FLAGS "-fstack-protector-strong") +set(VCPKG_C_FLAGS "-fstack-protector-strong") diff --git a/vcpkg/triplets/arm64-ios.cmake b/vcpkg/triplets/arm64-ios.cmake index 8469a37c2..b3d21737e 100644 --- a/vcpkg/triplets/arm64-ios.cmake +++ b/vcpkg/triplets/arm64-ios.cmake @@ -1,11 +1,11 @@ -set(VCPKG_TARGET_ARCHITECTURE arm64) -set(VCPKG_CRT_LINKAGE dynamic) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CMAKE_SYSTEM_NAME iOS) -set(VCPKG_OSX_ARCHITECTURES arm64) - -set(VCPKG_OSX_DEPLOYMENT_TARGET 16.0) - -set(VCPKG_BUILD_TYPE release) -set(VCPKG_CXX_FLAGS "-fvisibility=hidden") -set(VCPKG_C_FLAGS "-fvisibility=hidden") +set(VCPKG_TARGET_ARCHITECTURE arm64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) +set(VCPKG_CMAKE_SYSTEM_NAME iOS) +set(VCPKG_OSX_ARCHITECTURES arm64) + +set(VCPKG_OSX_DEPLOYMENT_TARGET 16.0) + +set(VCPKG_BUILD_TYPE release) +set(VCPKG_CXX_FLAGS "-fvisibility=hidden") +set(VCPKG_C_FLAGS "-fvisibility=hidden") diff --git a/vcpkg/triplets/arm64-osx.cmake b/vcpkg/triplets/arm64-osx.cmake index 058bcc539..10fc038e1 100644 --- a/vcpkg/triplets/arm64-osx.cmake +++ b/vcpkg/triplets/arm64-osx.cmake @@ -11,4 +11,3 @@ set(VCPKG_OSX_DEPLOYMENT_TARGET 11.0) # See https://github.com/microsoft/vcpkg/issues/10038 set(VCPKG_C_FLAGS -mmacosx-version-min=${VCPKG_OSX_DEPLOYMENT_TARGET}) set(VCPKG_CXX_FLAGS -mmacosx-version-min=${VCPKG_OSX_DEPLOYMENT_TARGET}) - diff --git a/vcpkg/triplets/x64-linux.cmake b/vcpkg/triplets/x64-linux.cmake index ef7c6c546..54efc5481 100644 --- a/vcpkg/triplets/x64-linux.cmake +++ b/vcpkg/triplets/x64-linux.cmake @@ -3,10 +3,10 @@ set(VCPKG_CRT_LINKAGE dynamic) include("${CMAKE_CURRENT_LIST_DIR}/static-ports.cmake") if (PORT IN_LIST STATIC_PORTS) - set(VCPKG_LIBRARY_LINKAGE static) -else() - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() + set(VCPKG_LIBRARY_LINKAGE static) +else () + set(VCPKG_LIBRARY_LINKAGE dynamic) +endif () set(VCPKG_CMAKE_SYSTEM_NAME Linux) set(VCPKG_BUILD_TYPE release) diff --git a/vcpkg/triplets/x64-osx.cmake b/vcpkg/triplets/x64-osx.cmake index bfd3bb43f..4cc004c68 100644 --- a/vcpkg/triplets/x64-osx.cmake +++ b/vcpkg/triplets/x64-osx.cmake @@ -11,4 +11,3 @@ set(VCPKG_OSX_DEPLOYMENT_TARGET 11.0) # See https://github.com/microsoft/vcpkg/issues/10038 set(VCPKG_C_FLAGS -mmacosx-version-min=${VCPKG_OSX_DEPLOYMENT_TARGET}) set(VCPKG_CXX_FLAGS -mmacosx-version-min=${VCPKG_OSX_DEPLOYMENT_TARGET}) -