diff --git a/ports/cutelyst2/CONTROL b/ports/cutelyst2/CONTROL index 888883a44..265e8d7af 100644 --- a/ports/cutelyst2/CONTROL +++ b/ports/cutelyst2/CONTROL @@ -1,4 +1,4 @@ Source: cutelyst2 -Version: 2.5.2-1 +Version: 2.5.2-2 Description: A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework Build-Depends: qt5-base diff --git a/ports/cutelyst2/portfile.cmake b/ports/cutelyst2/portfile.cmake index 118129e27..f22cad892 100644 --- a/ports/cutelyst2/portfile.cmake +++ b/ports/cutelyst2/portfile.cmake @@ -35,11 +35,7 @@ if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/cutelyst2-plugins/ActionREST.dll) file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/cutelyst2-plugins ${CURRENT_PACKAGES_DIR}/debug/bin/cutelyst2-plugins) endif() -file(GLOB BINS ${CURRENT_PACKAGES_DIR}/bin/* ${CURRENT_PACKAGES_DIR}/debug/bin/*) -if(NOT BINS) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) -endif() - +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) # Handle copyright diff --git a/ports/libqglviewer/CONTROL b/ports/libqglviewer/CONTROL index 7112016f5..c9e66ef18 100644 --- a/ports/libqglviewer/CONTROL +++ b/ports/libqglviewer/CONTROL @@ -1,4 +1,4 @@ Source: libqglviewer -Version: 2.7.1 +Version: 2.7.1-1 Description: libQGLViewer is an open source C++ library based on Qt that eases the creation of OpenGL 3D viewers. Build-Depends: qt5-base diff --git a/ports/libqglviewer/portfile.cmake b/ports/libqglviewer/portfile.cmake index 52fb41ed4..f57092521 100644 --- a/ports/libqglviewer/portfile.cmake +++ b/ports/libqglviewer/portfile.cmake @@ -14,9 +14,19 @@ vcpkg_configure_qmake(SOURCE_PATH ${SOURCE_PATH}/QGLViewer/QGLViewer.pro) vcpkg_build_qmake() file(INSTALL ${SOURCE_PATH}/QGLViewer DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN "*.h") -file(INSTALL ${SOURCE_PATH}/QGLViewer/QGLViewer2.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) -file(INSTALL ${SOURCE_PATH}/QGLViewer/QGLViewer2.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -file(INSTALL ${SOURCE_PATH}/QGLViewer/QGLViewerd2.dll ${SOURCE_PATH}/QGLViewer/QGLViewerd2.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) -file(INSTALL ${SOURCE_PATH}/QGLViewer/QGLViewerd2.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) +if(CMAKE_HOST_WIN32) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(INSTALL ${SOURCE_PATH}/QGLViewer/QGLViewer2.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(INSTALL ${SOURCE_PATH}/QGLViewer/QGLViewerd2.dll ${SOURCE_PATH}/QGLViewer/QGLViewerd2.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(INSTALL ${SOURCE_PATH}/QGLViewer/QGLViewer2.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(INSTALL ${SOURCE_PATH}/QGLViewer/QGLViewerd2.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + else() + file(INSTALL ${SOURCE_PATH}/QGLViewer/QGLViewer.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(INSTALL ${SOURCE_PATH}/QGLViewer/QGLViewerd.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + endif() +elseif(CMAKE_HOST_APPLE) + file(INSTALL ${SOURCE_PATH}/QGLViewer/libQGLViewer.a DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(INSTALL ${SOURCE_PATH}/QGLViewer/libQGLViewer.a DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) +endif() file(INSTALL ${SOURCE_PATH}/LICENCE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libqglviewer RENAME copyright) diff --git a/ports/qscintilla/CONTROL b/ports/qscintilla/CONTROL index 59b75c8c1..41b86bba9 100644 --- a/ports/qscintilla/CONTROL +++ b/ports/qscintilla/CONTROL @@ -1,4 +1,4 @@ Source: qscintilla -Version: 2.10-7 +Version: 2.10-8 Description: QScintilla is a port to Qt of the Scintilla editing component. Features syntax highlighting, code-completion and much more (Barebone build without python bindings (missing dependeny PyQt) and without QtDesigner plugin) -Build-Depends: qt5-base +Build-Depends: qt5-base, qt5-macextras (osx), qt5-winextras (windows) diff --git a/ports/qscintilla/portfile.cmake b/ports/qscintilla/portfile.cmake index 71778e402..8e241cfef 100644 --- a/ports/qscintilla/portfile.cmake +++ b/ports/qscintilla/portfile.cmake @@ -27,38 +27,32 @@ vcpkg_configure_qmake( DEFINES+=SCI_NAMESPACE ) -vcpkg_build_qmake( - RELEASE_TARGETS release - DEBUG_TARGETS debug -) +if(CMAKE_HOST_WIN32) + vcpkg_build_qmake( + RELEASE_TARGETS release + DEBUG_TARGETS debug + ) +else() + vcpkg_build_qmake() +endif() file(GLOB HEADER_FILES ${SOURCE_PATH}/Qt4Qt5/Qsci/*) file(COPY ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/Qsci) -configure_file( - ${RELEASE_DIR}/release/qscintilla2_qt5.lib - ${CURRENT_PACKAGES_DIR}/lib/qscintilla2.lib - COPYONLY -) +if(CMAKE_HOST_WIN32) + configure_file(${RELEASE_DIR}/release/qscintilla2_qt5.lib ${CURRENT_PACKAGES_DIR}/lib/qscintilla2.lib COPYONLY) + configure_file(${DEBUG_DIR}/debug/qscintilla2_qt5.lib ${CURRENT_PACKAGES_DIR}/debug/lib/qscintilla2.lib COPYONLY) -configure_file( - ${DEBUG_DIR}/debug/qscintilla2_qt5.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/qscintilla2.lib - COPYONLY -) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(COPY - ${RELEASE_DIR}/release/qscintilla2_qt5.dll - DESTINATION ${CURRENT_PACKAGES_DIR}/bin - ) - - file(COPY - ${DEBUG_DIR}/debug/qscintilla2_qt5.dll - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin - ) + if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + file(COPY ${RELEASE_DIR}/release/qscintilla2_qt5.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(COPY ${DEBUG_DIR}/debug/qscintilla2_qt5.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + endif() +elseif(CMAKE_HOST_APPLE) + configure_file(${RELEASE_DIR}/libqscintilla2_qt5.a ${CURRENT_PACKAGES_DIR}/lib/libqscintilla2.a COPYONLY) + configure_file(${DEBUG_DIR}/libqscintilla2_qt5.a ${CURRENT_PACKAGES_DIR}/debug/lib/libqscintilla2.a COPYONLY) endif() + vcpkg_copy_pdbs() # Handle copyright diff --git a/ports/qt5-base/CONTROL b/ports/qt5-base/CONTROL index 4fd30be4c..8d1e6b8f6 100644 --- a/ports/qt5-base/CONTROL +++ b/ports/qt5-base/CONTROL @@ -1,4 +1,4 @@ Source: qt5-base Version: 5.12.1-3 Description: Qt5 Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components. -Build-Depends: zlib, libjpeg-turbo, libpng, freetype, pcre2, harfbuzz (!osx), sqlite3, libpq, double-conversion, openssl +Build-Depends: zlib, libjpeg-turbo, libpng, freetype, pcre2, harfbuzz, sqlite3, libpq, double-conversion, openssl diff --git a/ports/qt5-base/portfile.cmake b/ports/qt5-base/portfile.cmake index ce2252622..4b8869196 100644 --- a/ports/qt5-base/portfile.cmake +++ b/ports/qt5-base/portfile.cmake @@ -50,6 +50,7 @@ set(CORE_OPTIONS -system-pcre -system-doubleconversion -system-sqlite + -system-harfbuzz -no-fontconfig -nomake examples -nomake tests @@ -70,7 +71,6 @@ if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore OPTIONS ${CORE_OPTIONS} -mp - -system-harfbuzz -opengl desktop # other options are "-no-opengl", "-opengl angle", and "-opengl desktop" OPTIONS_RELEASE LIBJPEG_LIBS="-ljpeg" @@ -94,7 +94,6 @@ elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") PLATFORM "linux-g++" OPTIONS ${CORE_OPTIONS} - -system-harfbuzz OPTIONS_RELEASE "LIBJPEG_LIBS=${CURRENT_INSTALLED_DIR}/lib/libjpeg.a" "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/lib/libpng16.a" @@ -121,7 +120,6 @@ configure_qt( PLATFORM "macx-clang" OPTIONS ${CORE_OPTIONS} - -no-harfbuzz OPTIONS_RELEASE "LIBJPEG_LIBS=${CURRENT_INSTALLED_DIR}/lib/libjpeg.a" "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/lib/libpng16.a" @@ -131,6 +129,7 @@ configure_qt( "FREETYPE_LIBS=${CURRENT_INSTALLED_DIR}/lib/libfreetype.a" "PSQL_LIBS=${CURRENT_INSTALLED_DIR}/lib/libpq.a ${CURRENT_INSTALLED_DIR}/lib/libssl.a ${CURRENT_INSTALLED_DIR}/lib/libcrypto.a -ldl -lpthread" "SQLITE_LIBS=${CURRENT_INSTALLED_DIR}/lib/libsqlite3.a -ldl -lpthread" + "HARFBUZZ_LIBS=${CURRENT_INSTALLED_DIR}/lib/libharfbuzz.a -framework ApplicationServices" OPTIONS_DEBUG "LIBJPEG_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libjpeg.a" "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.a" @@ -140,6 +139,7 @@ configure_qt( "FREETYPE_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libfreetyped.a" "PSQL_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libpqd.a ${CURRENT_INSTALLED_DIR}/debug/lib/libssl.a ${CURRENT_INSTALLED_DIR}/debug/lib/libcrypto.a -ldl -lpthread" "SQLITE_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libsqlite3.a -ldl -lpthread" + "HARFBUZZ_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libharfbuzz.a -framework ApplicationServices" ) endif() @@ -218,5 +218,7 @@ endforeach() file(COPY ${CMAKE_CURRENT_LIST_DIR}/qtdeploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/plugins) file(COPY ${CMAKE_CURRENT_LIST_DIR}/qtdeploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/debug/plugins) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5core) + file(INSTALL ${SOURCE_PATH}/LICENSE.LGPLv3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) # \ No newline at end of file diff --git a/ports/qt5-base/vcpkg-cmake-wrapper.cmake b/ports/qt5-base/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..64496cec0 --- /dev/null +++ b/ports/qt5-base/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,66 @@ +_find_package(${ARGS}) + +function(add_qt_library _target) + foreach(_lib IN LISTS ARGN) + find_library(${_lib}_LIBRARY_DEBUG NAMES ${_lib}d PATH_SUFFIXES plugins/platforms) + find_library(${_lib}_LIBRARY_RELEASE NAMES ${_lib} PATH_SUFFIXES plugins/platforms) + set_property(TARGET ${_target} APPEND PROPERTY INTERFACE_LINK_LIBRARIES + \$<\$>:${${_lib}_LIBRARY_RELEASE}>\$<\$:${${_lib}_LIBRARY_DEBUG}>) + endforeach() +endfunction() + +get_target_property(_target_type Qt5::Core TYPE) +if("${_target_type}" STREQUAL "STATIC_LIBRARY") + find_package(ZLIB) + find_package(JPEG) + find_package(PNG) + find_package(Freetype) + find_package(sqlite3 CONFIG) + find_package(PostgreSQL MODULE REQUIRED) + find_package(double-conversion CONFIG) + find_package(OpenSSL) + find_package(harfbuzz CONFIG) + + set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_LINK_LIBRARIES + ZLIB::ZLIB JPEG::JPEG PNG::PNG Freetype::Freetype sqlite3 harfbuzz::harfbuzz + ${PostgreSQL_LIBRARY} double-conversion::double-conversion OpenSSL::SSL OpenSSL::Crypto + ) + + add_qt_library(Qt5::Core + pcre2-16 + Qt5ThemeSupport + Qt5EventDispatcherSupport + Qt5PlatformCompositorSupport + Qt5FontDatabaseSupport) + + if(MSVC) + set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_LINK_LIBRARIES + Netapi32.lib Ws2_32.lib Mincore.lib Winmm.lib Iphlpapi.lib Wtsapi32.lib Dwmapi.lib) + + add_qt_library(Qt5::Core Qt5WindowsUIAutomationSupport qwindows qdirect2d) + + elseif(APPLE) + set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_LINK_LIBRARIES + "-weak_framework DiskArbitration" "-weak_framework IOKit" "-weak_framework Foundation" "-weak_framework CoreServices" + "-weak_framework AppKit" "-weak_framework Security" "-weak_framework ApplicationServices" + "-weak_framework CoreFoundation" "-weak_framework SystemConfiguration" + "-weak_framework Carbon" + "-weak_framework QuartzCore" + "-weak_framework CoreVideo" + "-weak_framework Metal" + "-weak_framework CoreText" + "-weak_framework ApplicationServices" + "-weak_framework CoreGraphics" + "-weak_framework OpenGL" + "-weak_framework AGL" + "-weak_framework ImageIO" + "z" "m" + cups) + add_qt_library(Qt5::Core + Qt5GraphicsSupport + Qt5ClipboardSupport + Qt5AccessibilitySupport + qcocoa) + endif() + +endif() \ No newline at end of file diff --git a/ports/qt5-macextras/CONTROL b/ports/qt5-macextras/CONTROL new file mode 100644 index 000000000..8344c9240 --- /dev/null +++ b/ports/qt5-macextras/CONTROL @@ -0,0 +1,4 @@ +Source: qt5-macextras +Version: 5.12.1 +Description: Qt5 Mac Extras Module. Provides platform-specific APIs for mac. +Build-Depends: qt5-modularscripts, qt5-base diff --git a/ports/qt5-macextras/portfile.cmake b/ports/qt5-macextras/portfile.cmake new file mode 100644 index 000000000..ed8e2bb5b --- /dev/null +++ b/ports/qt5-macextras/portfile.cmake @@ -0,0 +1,5 @@ +include(vcpkg_common_functions) + +include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) + +qt_modular_library(qtmacextras 0d307b85e09fd97f36c5ee333297ceda4c709f6dc995dba4e8b8c1a85bd95c83ed80ee641e13e05fe3b965060c7847ba1835b7e6d9099a03c8bf9f2c4bae1ded) diff --git a/ports/qt5-purchasing/CONTROL b/ports/qt5-purchasing/CONTROL index 35d617b68..0c2df22e9 100644 --- a/ports/qt5-purchasing/CONTROL +++ b/ports/qt5-purchasing/CONTROL @@ -1,4 +1,4 @@ Source: qt5-purchasing Version: 5.12.1 Description: Qt5 Purchasing Module - Enables in-app purchase of products in Qt applications. -Build-Depends: qt5-modularscripts, qt5-base +Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative diff --git a/ports/qt5/CONTROL b/ports/qt5/CONTROL index 05a908146..fe0698293 100644 --- a/ports/qt5/CONTROL +++ b/ports/qt5/CONTROL @@ -1,4 +1,4 @@ Source: qt5 -Version: 5.12.1-1 +Version: 5.12.1-2 Description: Qt5 Application Framework -Build-Depends: qt5-3d, qt5-activeqt, qt5-base, qt5-charts, qt5-datavis3d, qt5-declarative, qt5-gamepad, qt5-graphicaleffects, qt5-imageformats, qt5-location, qt5-multimedia, qt5-mqtt, qt5-networkauth, qt5-purchasing, qt5-quickcontrols, qt5-quickcontrols2, qt5-script, qt5-scxml, qt5-sensors, qt5-serialport, qt5-speech, qt5-svg, qt5-tools, qt5-virtualkeyboard, qt5-webchannel, qt5-websockets, qt5-winextras, qt5-xmlpatterns +Build-Depends: qt5-3d, qt5-activeqt, qt5-base, qt5-charts, qt5-datavis3d, qt5-declarative, qt5-gamepad, qt5-graphicaleffects, qt5-imageformats, qt5-location, qt5-multimedia, qt5-mqtt, qt5-networkauth, qt5-purchasing, qt5-quickcontrols, qt5-quickcontrols2, qt5-script, qt5-scxml, qt5-sensors, qt5-serialport, qt5-speech, qt5-svg, qt5-tools, qt5-virtualkeyboard, qt5-webchannel, qt5-websockets, qt5-winextras (windows), qt5-macextras (osx), qt5-xmlpatterns