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)
main.cpp
pv/application.cpp
pv/devicemanager.cpp
+ pv/globalsettings.cpp
pv/mainwindow.cpp
pv/session.cpp
pv/storesession.cpp
pv/devices/hardwaredevice.cpp
pv/devices/inputfile.cpp
pv/devices/sessionfile.cpp
- pv/dialogs/about.cpp
pv/dialogs/connect.cpp
pv/dialogs/inputoutputoptions.cpp
+ pv/dialogs/settings.cpp
pv/dialogs/storeprogress.cpp
pv/popups/deviceoptions.cpp
pv/popups/channels.cpp
# This list includes only QObject derived class headers.
set(pulseview_HEADERS
+ pv/globalsettings.hpp
pv/mainwindow.hpp
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
pv/dialogs/inputoutputoptions.hpp
+ pv/dialogs/settings.hpp
pv/dialogs/storeprogress.hpp
pv/popups/channels.hpp
pv/popups/deviceoptions.hpp
pv/widgets/wellarray.hpp
)
-set(pulseview_FORMS
- pv/dialogs/about.ui
-)
-
set(pulseview_RESOURCES
pulseview.qrc
)
if(Qt5Core_FOUND)
qt5_wrap_cpp(pulseview_HEADERS_MOC ${pulseview_HEADERS})
- qt5_wrap_ui(pulseview_FORMS_HEADERS ${pulseview_FORMS})
qt5_add_resources(pulseview_RESOURCES_RCC ${pulseview_RESOURCES})
else()
# Workaround for QTBUG-22829: -DBOOST_NEXT_PRIOR_HPP_INCLUDED.
# https://bugreports.qt.io/browse/QTBUG-22829
qt4_wrap_cpp(pulseview_HEADERS_MOC ${pulseview_HEADERS}
OPTIONS -DBOOST_NEXT_PRIOR_HPP_INCLUDED)
- qt4_wrap_ui(pulseview_FORMS_HEADERS ${pulseview_FORMS})
qt4_add_resources(pulseview_RESOURCES_RCC ${pulseview_RESOURCES})
include(${QT_USE_FILE})
endif()
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})
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)
add_library(${PROJECT_NAME} SHARED
${pulseview_SOURCES}
${pulseview_HEADERS_MOC}
- ${pulseview_FORMS_HEADERS}
${pulseview_RESOURCES_RCC}
)
else()
add_executable(${PROJECT_NAME}
${pulseview_SOURCES}
${pulseview_HEADERS_MOC}
- ${pulseview_FORMS_HEADERS}
${pulseview_RESOURCES_RCC}
)
endif()