X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=CMakeLists.txt;h=3ae7e7d27711410d9f727661f10689f51def53f7;hp=a28f4f37f3a0bc107ac75b502ab71490d2112166;hb=7db61e770abd2d1c7eb326a09e35cd4266664c1d;hpb=a838ed7b0112b59a4a5fde684605f3e2b2797e37 diff --git a/CMakeLists.txt b/CMakeLists.txt index a28f4f37..3ae7e7d2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -81,6 +81,11 @@ if(FORCE_QT4) set(Qt5Core_FOUND FALSE) else() find_package(Qt5Core QUIET) +if(WIN32) + # MXE workaround: Use pkg-config to find Qt5 libs. + # https://github.com/mxe/mxe/issues/1642 + pkg_check_modules(QT5ALL REQUIRED Qt5Widgets Qt5Gui Qt5Svg) +endif() endif() if(Qt5Core_FOUND) @@ -262,6 +267,8 @@ set(pulseview_SOURCES pv/view/viewitempaintparams.cpp pv/view/viewport.cpp pv/view/viewwidget.cpp + pv/views/viewbase.cpp + pv/views/trace/standardbar.cpp pv/widgets/colourbutton.cpp pv/widgets/colourpopup.cpp pv/widgets/devicetoolbutton.cpp @@ -280,6 +287,10 @@ set(pulseview_HEADERS pv/session.hpp pv/storesession.hpp pv/binding/device.hpp + pv/data/analog.hpp + pv/data/analogsegment.hpp + pv/data/logic.hpp + pv/data/logicsegment.hpp pv/data/signalbase.hpp pv/dialogs/about.hpp pv/dialogs/connect.hpp @@ -314,6 +325,8 @@ set(pulseview_HEADERS pv/view/viewitem.hpp pv/view/viewport.hpp pv/view/viewwidget.hpp + pv/views/viewbase.hpp + pv/views/trace/standardbar.hpp pv/widgets/colourbutton.hpp pv/widgets/colourpopup.hpp pv/widgets/devicetoolbutton.hpp @@ -442,11 +455,7 @@ set(PULSEVIEW_LINK_LIBS if(STATIC_PKGDEPS_LIBS) link_directories(${PKGDEPS_STATIC_LIBRARY_DIRS}) - list(APPEND PULSEVIEW_LINK_LIBS ${PKGDEPS_STATIC_LIBRARIES}) -if(WIN32) - # Workaround for a MinGW linking issue. - list(APPEND PULSEVIEW_LINK_LIBS "-llzma -llcms2") -endif() + list(APPEND PULSEVIEW_LINK_LIBS ${PKGDEPS_STATIC_LDFLAGS}) else() link_directories(${PKGDEPS_LIBRARY_DIRS}) list(APPEND PULSEVIEW_LINK_LIBS ${PKGDEPS_LIBRARIES}) @@ -455,10 +464,12 @@ endif() if(WIN32) # On Windows we need to statically link the libqsvg imageformat # plugin (and the QtSvg component) for SVG graphics/icons to work. + # We also need QWindowsIntegrationPlugin, Qt5PlatformSupport, and all + # Qt libs and their dependencies. add_definitions(-DQT_STATICPLUGIN) - link_directories("${QT_PLUGINS_DIR}/imageformats") - list(APPEND PULSEVIEW_LINK_LIBS "-lqsvg") - list(APPEND PULSEVIEW_LINK_LIBS ${QT_QTSVG_LIBRARY}) + list(APPEND PULSEVIEW_LINK_LIBS Qt5::QSvgPlugin) + list(APPEND PULSEVIEW_LINK_LIBS Qt5::QWindowsIntegrationPlugin) + list(APPEND PULSEVIEW_LINK_LIBS -lQt5PlatformSupport ${QT5ALL_LDFLAGS}) endif() if(ANDROID)