aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/qwt
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/qwt
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/qwt')
-rw-r--r--vcpkg/ports/qwt/config.patch177
-rw-r--r--vcpkg/ports/qwt/fix_dll_install.patch28
-rw-r--r--vcpkg/ports/qwt/portfile.cmake38
-rw-r--r--vcpkg/ports/qwt/unofficial-qwt-config.cmake48
-rw-r--r--vcpkg/ports/qwt/vcpkg.json25
5 files changed, 316 insertions, 0 deletions
diff --git a/vcpkg/ports/qwt/config.patch b/vcpkg/ports/qwt/config.patch
new file mode 100644
index 0000000..88f8def
--- /dev/null
+++ b/vcpkg/ports/qwt/config.patch
@@ -0,0 +1,177 @@
+diff --git a/designer/designer.pro b/designer/designer.pro
+index fa4d8c7fd..ce3f82081 100644
+--- a/designer/designer.pro
++++ b/designer/designer.pro
+@@ -23,8 +23,8 @@ CONFIG( debug_and_release ) {
+
+ message("debug_and_release: building the Qwt designer plugin in release mode only")
+
+- CONFIG -= debug_and_release
+- CONFIG += release
++ # CONFIG -= debug_and_release
++ # CONFIG += release
+ }
+
+ contains(QWT_CONFIG, QwtDesigner ) {
+diff --git a/qwtbuild.pri b/qwtbuild.pri
+index 9306b6ed0..5b51218b6 100644
+--- a/qwtbuild.pri
++++ b/qwtbuild.pri
+@@ -54,12 +54,12 @@ win32 {
+ # might need a debug version.
+ # Enable debug_and_release + build_all if you want to build both.
+
+- CONFIG += debug_and_release
+- CONFIG += build_all
++ # CONFIG += debug_and_release
++ # CONFIG += build_all
+ }
+ else {
+
+- CONFIG += release
++ # CONFIG += release
+
+ VER_MAJ = $${QWT_VER_MAJ}
+ VER_MIN = $${QWT_VER_MIN}
+diff --git a/qwtconfig.pri b/qwtconfig.pri
+index 7da1485a0..b69b5ca71 100644
+--- a/qwtconfig.pri
++++ b/qwtconfig.pri
+@@ -19,18 +19,19 @@ QWT_VERSION = $${QWT_VER_MAJ}.$${QWT_VER_MIN}.$${QWT_VER_PAT}
+ QWT_INSTALL_PREFIX = $$[QT_INSTALL_PREFIX]
+
+ unix {
+- QWT_INSTALL_PREFIX = /usr/local/qwt-$$QWT_VERSION
++ # QWT_INSTALL_PREFIX = /usr/local/qwt-$$QWT_VERSION
+ # QWT_INSTALL_PREFIX = /usr/local/qwt-$$QWT_VERSION-qt-$$QT_VERSION
+ }
+
+ win32 {
+- QWT_INSTALL_PREFIX = C:/Qwt-$$QWT_VERSION
++ # QWT_INSTALL_PREFIX = C:/Qwt-$$QWT_VERSION
+ # QWT_INSTALL_PREFIX = C:/Qwt-$$QWT_VERSION-qt-$$QT_VERSION
+ }
+
+-QWT_INSTALL_DOCS = $${QWT_INSTALL_PREFIX}/doc
++QWT_INSTALL_DOCS = $$[QT_INSTALL_DOCS]/doc
+-QWT_INSTALL_HEADERS = $${QWT_INSTALL_PREFIX}/include
++QWT_INSTALL_HEADERS = $${QWT_INSTALL_PREFIX}/include/qwt
+-QWT_INSTALL_LIBS = $${QWT_INSTALL_PREFIX}/lib
++QWT_INSTALL_LIBS = $$[QT_INSTALL_LIBS]
++QWT_INSTALL_BINS = $$[QT_INSTALL_BINS]
+
+ ######################################################################
+ # Designer plugin
+@@ -42,7 +43,7 @@ QWT_INSTALL_LIBS = $${QWT_INSTALL_PREFIX}/lib
+ # runtime environment of designer/creator.
+ ######################################################################
+
+-QWT_INSTALL_PLUGINS = $${QWT_INSTALL_PREFIX}/plugins/designer
++QWT_INSTALL_PLUGINS = $$[QT_INSTALL_PLUGINS]/designer
+
+ # linux distributors often organize the Qt installation
+ # their way and QT_INSTALL_PREFIX doesn't offer a good
+@@ -63,7 +64,7 @@ QWT_INSTALL_PLUGINS = $${QWT_INSTALL_PREFIX}/plugins/designer
+ # with every Qt upgrade.
+ ######################################################################
+
+-QWT_INSTALL_FEATURES = $${QWT_INSTALL_PREFIX}/features
++QWT_INSTALL_FEATURES = $$[QT_INSTALL_DATA]/mkspecs/features
+ # QWT_INSTALL_FEATURES = $$[QT_INSTALL_PREFIX]/features
+
+ ######################################################################
+@@ -72,7 +73,7 @@ QWT_INSTALL_FEATURES = $${QWT_INSTALL_PREFIX}/features
+ # it will be a static library.
+ ######################################################################
+
+-QWT_CONFIG += QwtDll
++# QWT_CONFIG += QwtDll
+
+ ######################################################################
+ # QwtPlot enables all classes, that are needed to use the QwtPlot
+@@ -114,7 +115,7 @@ QWT_CONFIG += QwtOpenGL
+ # Otherwise you have to build it from the designer directory.
+ ######################################################################
+
+-QWT_CONFIG += QwtDesigner
++# QWT_CONFIG += QwtDesigner
+
+ ######################################################################
+ # Compile all Qwt classes into the designer plugin instead
+@@ -137,7 +138,7 @@ win32 {
+ # Otherwise you have to build them from the examples directory.
+ ######################################################################
+
+-QWT_CONFIG += QwtExamples
++# QWT_CONFIG += QwtExamples
+
+ ######################################################################
+ # The playground is primarily intended for the Qwt development
+@@ -148,14 +149,14 @@ QWT_CONFIG += QwtExamples
+ # Otherwise you have to build them from the playground directory.
+ ######################################################################
+
+-QWT_CONFIG += QwtPlayground
++# QWT_CONFIG += QwtPlayground
+
+ ######################################################################
+ # If you want to auto build the tests, enable the line below
+ # Otherwise you have to build them from the tests directory.
+ ######################################################################
+
+-QWT_CONFIG += QwtTests
++# QWT_CONFIG += QwtTests
+
+ ######################################################################
+ # When Qt has been built as framework qmake wants
+diff --git a/src/src.pro b/src/src.pro
+index 762e4c49b..d70a1b62b 100644
+--- a/src/src.pro
++++ b/src/src.pro
+@@ -49,27 +50,27 @@ contains(QWT_CONFIG, QwtFramework) {
+ include ( $${PWD}/src.pri )
+
+ # Install directives
+
+ target.path = $${QWT_INSTALL_LIBS}
+ INSTALLS = target
+
+ CONFIG(lib_bundle) {
+
+ FRAMEWORK_HEADERS.version = Versions
+ FRAMEWORK_HEADERS.files = $${HEADERS}
+ FRAMEWORK_HEADERS.path = Headers
+ QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS
+ }
+ else {
+
+ headers.files = $${HEADERS}
+ headers.path = $${QWT_INSTALL_HEADERS}
+ INSTALLS += headers
+ }
+
+ contains(QWT_CONFIG, QwtPkgConfig) {
+
+- CONFIG += create_pc create_prl no_install_prl
++ CONFIG += create_pc create_prl
+
+ QMAKE_PKGCONFIG_NAME = Qwt$${QWT_VER_MAJ}
+ QMAKE_PKGCONFIG_DESCRIPTION = Qt Widgets for Technical Applications
+@@ -82,14 +81,14 @@ contains(QWT_CONFIG, QwtPkgConfig) {
+ greaterThan(QT_MAJOR_VERSION, 4) {
+
+ QMAKE_PKGCONFIG_FILE = Qt$${QT_MAJOR_VERSION}$${QMAKE_PKGCONFIG_NAME}
+- QMAKE_PKGCONFIG_REQUIRES = Qt5Widgets Qt5Concurrent Qt5PrintSupport
++ QMAKE_PKGCONFIG_REQUIRES = Qt$${QT_MAJOR_VERSION}Widgets Qt$${QT_MAJOR_VERSION}Concurrent Qt$${QT_MAJOR_VERSION}PrintSupport
+
+ contains(QWT_CONFIG, QwtSvg) {
+- QMAKE_PKGCONFIG_REQUIRES += Qt5Svg
++ QMAKE_PKGCONFIG_REQUIRES += Qt$${QT_MAJOR_VERSION}Svg
+ }
+
+ contains(QWT_CONFIG, QwtOpenGL) {
+- QMAKE_PKGCONFIG_REQUIRES += Qt5OpenGL
++ QMAKE_PKGCONFIG_REQUIRES += Qt$${QT_MAJOR_VERSION}OpenGL
+ }
+
+ QMAKE_DISTCLEAN += $${DESTDIR}/$${QMAKE_PKGCONFIG_DESTDIR}/$${QMAKE_PKGCONFIG_FILE}.pc
diff --git a/vcpkg/ports/qwt/fix_dll_install.patch b/vcpkg/ports/qwt/fix_dll_install.patch
new file mode 100644
index 0000000..134531b
--- /dev/null
+++ b/vcpkg/ports/qwt/fix_dll_install.patch
@@ -0,0 +1,28 @@
+diff --git a/src/src.pro b/src/src.pro
+index 0ce903fe7..16524b8e2 100644
+--- a/src/src.pro
++++ b/src/src.pro
+@@ -20,6 +20,7 @@ TEMPLATE = lib
+ TARGET = $$qwtLibraryTarget(qwt)
+
+ DESTDIR = $${QWT_OUT_ROOT}/lib
++DLLDESTDIR = $${QWT_OUT_ROOT}/bin
+
+ contains(QWT_CONFIG, QwtDll) {
+
+@@ -49,9 +50,13 @@ contains(QWT_CONFIG, QwtFramework) {
+ include ( $${PWD}/src.pri )
+
+ # Install directives
+-
++win32 {
++ dlltarget.path = $${QWT_INSTALL_BINS}
++ INSTALLS += dlltarget
++}
+ target.path = $${QWT_INSTALL_LIBS}
+-INSTALLS = target
++!static: target.CONFIG = no_dll
++INSTALLS += target
+
+ CONFIG(lib_bundle) {
+
diff --git a/vcpkg/ports/qwt/portfile.cmake b/vcpkg/ports/qwt/portfile.cmake
new file mode 100644
index 0000000..c914649
--- /dev/null
+++ b/vcpkg/ports/qwt/portfile.cmake
@@ -0,0 +1,38 @@
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO qwt/qwt
+ REF ${VERSION}
+ FILENAME "qwt-${VERSION}.zip"
+ SHA512 4008c3e4dace0f18e572b473a51a293bb896abbd62b9c5f0a92734b2121923d2e2cbf67c997b84570a13bf4fdd7669b56497c82fbae35049ed856b2f0a65e475
+ PATCHES
+ config.patch
+ fix_dll_install.patch
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" IS_DYNAMIC)
+set(OPTIONS "")
+if(IS_DYNAMIC)
+ list(APPEND OPTIONS "QWT_CONFIG+=QwtDll")
+endif()
+vcpkg_qmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ QMAKE_OPTIONS
+ ${OPTIONS}
+ "CONFIG-=debug_and_release"
+ "CONFIG+=create_prl"
+ "CONFIG+=link_prl"
+)
+vcpkg_qmake_install()
+vcpkg_copy_pdbs()
+
+# Qt6 pkg-config files not installed https://github.com/microsoft/vcpkg/issues/25988
+# vcpkg_fixup_pkgconfig()
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig")
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
+endif()
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-qwt-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-qwt")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")
diff --git a/vcpkg/ports/qwt/unofficial-qwt-config.cmake b/vcpkg/ports/qwt/unofficial-qwt-config.cmake
new file mode 100644
index 0000000..c04a5eb
--- /dev/null
+++ b/vcpkg/ports/qwt/unofficial-qwt-config.cmake
@@ -0,0 +1,48 @@
+include(CMakeFindDependencyMacro)
+
+if(NOT TARGET unofficial::qwt::qwt)
+ find_dependency(Qt6 COMPONENTS Core Gui Widgets Svg OpenGL Concurrent PrintSupport OpenGLWidgets)
+
+ find_file(qwt_LIBRARY_RELEASE_DLL NAMES qwt.dll PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/bin" NO_DEFAULT_PATH)
+ find_file(qwt_LIBRARY_DEBUG_DLL NAMES qwtd.dll PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/bin" NO_DEFAULT_PATH)
+
+ if(EXISTS "${qwt_LIBRARY_RELEASE_DLL}")
+ add_library(unofficial::qwt::qwt SHARED IMPORTED)
+ set_target_properties(unofficial::qwt::qwt PROPERTIES INTERFACE_COMPILE_DEFINITIONS QWT_DLL)
+ set_property(TARGET unofficial::qwt::qwt APPEND PROPERTY IMPORTED_CONFIGURATIONS "Release")
+ find_library(qwt_LIBRARY_RELEASE NAMES qwt PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH REQUIRED)
+ set_target_properties(unofficial::qwt::qwt PROPERTIES IMPORTED_IMPLIB_RELEASE "${qwt_LIBRARY_RELEASE}")
+ set_target_properties(unofficial::qwt::qwt PROPERTIES IMPORTED_LOCATION_RELEASE "${qwt_LIBRARY_RELEASE_DLL}")
+ if(EXISTS "${qwt_LIBRARY_DEBUG_DLL}")
+ set_property(TARGET unofficial::qwt::qwt APPEND PROPERTY IMPORTED_CONFIGURATIONS "Debug")
+ find_library(qwt_LIBRARY_DEBUG NAMES qwtd PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH REQUIRED)
+ set_target_properties(unofficial::qwt::qwt PROPERTIES IMPORTED_IMPLIB_DEBUG "${qwt_LIBRARY_DEBUG}")
+ set_target_properties(unofficial::qwt::qwt PROPERTIES IMPORTED_LOCATION_DEBUG "${qwt_LIBRARY_DEBUG_DLL}")
+ endif()
+ else()
+ add_library(unofficial::qwt::qwt UNKNOWN IMPORTED)
+ find_library(qwt_LIBRARY_RELEASE NAMES qwt PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH)
+ if(EXISTS "${qwt_LIBRARY_RELEASE}")
+ set_property(TARGET unofficial::qwt::qwt APPEND PROPERTY IMPORTED_CONFIGURATIONS "Release")
+ set_target_properties(unofficial::qwt::qwt PROPERTIES IMPORTED_LOCATION_RELEASE "${qwt_LIBRARY_RELEASE}")
+ endif()
+ find_library(qwt_LIBRARY_DEBUG NAMES qwtd PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH)
+ if(EXISTS "${qwt_LIBRARY_DEBUG}")
+ set_property(TARGET unofficial::qwt::qwt APPEND PROPERTY IMPORTED_CONFIGURATIONS "Debug")
+ set_target_properties(unofficial::qwt::qwt PROPERTIES IMPORTED_LOCATION_DEBUG "${qwt_LIBRARY_DEBUG}")
+ endif()
+ endif()
+
+ set_target_properties(unofficial::qwt::qwt PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include"
+ )
+ target_link_libraries(unofficial::qwt::qwt
+ INTERFACE
+ Qt::Widgets
+ Qt::Svg
+ Qt::Concurrent
+ Qt::PrintSupport
+ Qt::OpenGL
+ Qt::OpenGLWidgets
+ )
+endif() \ No newline at end of file
diff --git a/vcpkg/ports/qwt/vcpkg.json b/vcpkg/ports/qwt/vcpkg.json
new file mode 100644
index 0000000..860190b
--- /dev/null
+++ b/vcpkg/ports/qwt/vcpkg.json
@@ -0,0 +1,25 @@
+{
+ "name": "qwt",
+ "version": "6.3.0",
+ "description": "Widgets library for technical applications",
+ "homepage": "https://sourceforge.net/projects/qwt",
+ "license": null,
+ "dependencies": [
+ {
+ "name": "qtbase",
+ "default-features": false,
+ "features": [
+ "concurrent",
+ "gui",
+ "opengl",
+ "widgets"
+ ]
+ },
+ "qtsvg",
+ {
+ "name": "vcpkg-qmake",
+ "host": true,
+ "default-features": false
+ }
+ ]
+}